diff options
author | Stan Hu <stanhu@gmail.com> | 2019-07-17 16:34:27 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-07-18 06:53:39 -0700 |
commit | 1136c0c8e98d4f0d3fb4f50219657cabe0d45c99 (patch) | |
tree | 7c555a4d2fa9796cdcba2ac4de2514a974179f31 /lib/gitlab/grape_logging | |
parent | 037096ef6c2c2f804302efb429bcd1eb5123b5e9 (diff) | |
download | gitlab-ce-1136c0c8e98d4f0d3fb4f50219657cabe0d45c99.tar.gz |
Add Rugged calls and duration to API and Rails logs
This adds `rugged_duration_ms` and `rugged_calls` fields to
`api_json.log` and `production_json.log`. This will make it easier to
identify performance issues caused by excessive I/O.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/64676
Diffstat (limited to 'lib/gitlab/grape_logging')
-rw-r--r-- | lib/gitlab/grape_logging/loggers/perf_logger.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/gitlab/grape_logging/loggers/perf_logger.rb b/lib/gitlab/grape_logging/loggers/perf_logger.rb index 18ea3a8d2f3..7e86b35a215 100644 --- a/lib/gitlab/grape_logging/loggers/perf_logger.rb +++ b/lib/gitlab/grape_logging/loggers/perf_logger.rb @@ -6,11 +6,30 @@ module Gitlab module Loggers class PerfLogger < ::GrapeLogging::Loggers::Base def parameters(_, _) + gitaly_data.merge(rugged_data) + end + + def gitaly_data + gitaly_calls = Gitlab::GitalyClient.get_request_count + + return {} if gitaly_calls.zero? + { gitaly_calls: Gitlab::GitalyClient.get_request_count, gitaly_duration: Gitlab::GitalyClient.query_time_ms } end + + def rugged_data + rugged_calls = Gitlab::RuggedInstrumentation.query_count + + return {} if rugged_calls.zero? + + { + rugged_calls: rugged_calls, + rugged_duration_ms: Gitlab::RuggedInstrumentation.query_time_ms + } + end end end end |