You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea/modules/setting
Earl Warren b748d62b46
Add slow SQL query warning (#27545)
- Databases are one of the most important parts of Forgejo, every
interaction uses the database in one way or another. Therefore, it is
important to maintain the database and recognize when the server is not
doing well with the database. There already is the option to log *every*
SQL query along with its execution time, but monitoring becomes
impractical for larger instances and takes up unnecessary storage in the
logs.
- Add a QoL enhancement that allows instance administrators to specify a
threshold value beyond which query execution time is logged as a warning
in the xorm logger. The default value is a conservative five seconds to
avoid this becoming a source of spam in the logs.
- The use case for this patch is that with an instance the size of
Codeberg, monitoring SQL logs is not very fruitful and most of them are
uninteresting. Recently, in the context of persistent deadlock issues
(https://codeberg.org/forgejo/forgejo/issues/220), I have noticed that
certain queries hold locks on tables like comment and issue for several
seconds. This patch helps to identify which queries these are and when
they happen.
- Added unit test.

(cherry picked from commit 9cf501f1af4cd870221cef6af489618785b71186)

---------

Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-authored-by: Giteabot <teabot@gitea.io>
Co-authored-by: 6543 <6543@obermui.de>
12 months ago
..
config Refactor system setting (#27000) 1 year ago
actions.go add skip ci functionality (#28075) 1 year ago
actions_test.go Restrict `[actions].DEFAULT_ACTIONS_URL` to only `github` or `self` (#25581) 2 years ago
admin.go Refactor the setting to make unit test easier (#22405) 2 years ago
api.go Refactor the setting to make unit test easier (#22405) 2 years ago
asset_dynamic.go Use a general approach to access custom/static/builtin assets (#24022) 2 years ago
asset_static.go Use a general approach to access custom/static/builtin assets (#24022) 2 years ago
attachment.go Fix incorrect default value of `[attachment].MAX_SIZE` (#28373) 1 year ago
attachment_test.go Fix all possible setting error related storages and added some tests (#23911) 2 years ago
cache.go Always enable caches (#28527) 1 year ago
camo.go Refactor the setting to make unit test easier (#22405) 2 years ago
config.go Refactor system setting (#27000) 1 year ago
config_env.go Fix `environment-to-ini` inherited key bug (#27543) 1 year ago
config_env_test.go Fix `environment-to-ini` inherited key bug (#27543) 1 year ago
config_provider.go Remove unnecessary parameter (#29092) 1 year ago
config_provider_test.go Fix INI parsing for value with trailing slash (#26995) 1 year ago
cors.go Refactor CORS handler (#28587) 1 year ago
cron.go Replace `interface{}` with `any` (#25686) 2 years ago
cron_test.go Rewrite queue (#24505) 2 years ago
database.go Add slow SQL query warning (#27545) 12 months ago
database_sqlite.go Implement FSFE REUSE for golang files (#21840) 2 years ago
database_test.go Fix incorrect PostgreSQL connection string for Unix sockets (#28865) 1 year ago
federation.go Refactor the setting to make unit test easier (#22405) 2 years ago
git.go Use `[git.config]` for reflog cleaning up (#24958) 2 years ago
git_test.go Use `[git.config]` for reflog cleaning up (#24958) 2 years ago
highlight.go Refactor the setting to make unit test easier (#22405) 2 years ago
i18n.go Refactor the setting to make unit test easier (#22405) 2 years ago
incoming_email.go Refactor the setting to make unit test easier (#22405) 2 years ago
indexer.go Disallow duplicate storage paths (#26484) 1 year ago
indexer_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
lfs.go Use general token signing secret (#29205) 12 months ago
lfs_test.go Display deprecated warning in admin panel pages as well as in the log file (#26094) 2 years ago
log.go Clarify the logger's MODE config option (#26267) 2 years ago
log_test.go Replace `interface{}` with `any` (#25686) 2 years ago
mailer.go Make mailer SMTP check have timed context (#24751) 2 years ago
mailer_test.go Remove unnecessary code (#24610) 2 years ago
markup.go Add .livemd as a markdown extension (#22730) 2 years ago
metrics.go Refactor the setting to make unit test easier (#22405) 2 years ago
migrations.go Refactor the setting to make unit test easier (#22405) 2 years ago
mime_type_map.go Refactor the setting to make unit test easier (#22405) 2 years ago
mirror.go Avoid polluting the config (#25345) 2 years ago
oauth2.go Use general token signing secret (#29205) 12 months ago
oauth2_test.go Use general token signing secret (#29205) 12 months ago
other.go Refactor `setting.Other` and remove unused `SHOW_FOOTER_BRANDING` (#24270) 2 years ago
packages.go Avoid creating directories when loading config (#25944) 2 years ago
packages_test.go Fix all possible setting error related storages and added some tests (#23911) 2 years ago
path.go Disallow duplicate storage paths (#26484) 1 year ago
path_test.go Refactor path & config system (#25330) 2 years ago
picture.go Fix all possible setting error related storages and added some tests (#23911) 2 years ago
project.go Refactor the setting to make unit test easier (#22405) 2 years ago
proxy.go Refactor the setting to make unit test easier (#22405) 2 years ago
queue.go Increase queue length (#27555) 1 year ago
repository.go Disallow duplicate storage paths (#26484) 1 year ago
repository_archive.go Fix all possible setting error related storages and added some tests (#23911) 2 years ago
repository_archive_test.go Fix all possible setting error related storages and added some tests (#23911) 2 years ago
security.go Warn that `DISABLE_QUERY_AUTH_TOKEN` is false only if it's explicitly defined (#28783) 1 year ago
server.go Disallow duplicate storage paths (#26484) 1 year ago
service.go Add reverseproxy auth for API back with default disabled (#26703) 1 year ago
service_test.go Fix allowed user types setting problem (#26200) 2 years ago
session.go Disallow duplicate storage paths (#26484) 1 year ago
setting.go Disallow duplicate storage paths (#26484) 1 year ago
setting_test.go Implement FSFE REUSE for golang files (#21840) 2 years ago
ssh.go Expanded minimum RSA Keylength to 3072 (#26604) 1 year ago
storage.go Disallow duplicate storage paths (#26484) 1 year ago
storage_test.go Support storage base path as prefix (#27827) 1 year ago
task.go handle deprecated settings (#22992) 2 years ago
time.go Remove unused setting `time.FORMAT` (#24430) 2 years ago
ui.go Add global setting how timestamps should be rendered (#28657) 1 year ago
webhook.go Refactor the setting to make unit test easier (#22405) 2 years ago