diff options
author | Sean McGivern <sean@gitlab.com> | 2019-04-17 16:07:59 +0300 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2019-04-17 16:07:59 +0300 |
commit | 3f3d2c066188acbe0724dc5cc24f0d57456ef6d6 (patch) | |
tree | 83ec6cbf9bb06a6f2fe2d3bebed01b74691f530a /lib | |
parent | 351827065a66294e35ec19dfa03470b2bb66ec5d (diff) | |
parent | fbb3fd1397c1304d424da404c226e4a4f9aa262b (diff) |
Merge branch 'sh-add-gitaly-backtrace' into 'master'
Add backtrace to Gitaly performance bar
Closes #60092
See merge request gitlab-org/gitlab-ce!27345
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/gitaly_client.rb | 13 | ||||
-rw-r--r-- | lib/gitlab/profiler.rb | 4 |
2 files changed, 13 insertions, 4 deletions
diff --git a/lib/gitlab/gitaly_client.rb b/lib/gitlab/gitaly_client.rb index 35565b68388..726c4d95da9 100644 --- a/lib/gitlab/gitaly_client.rb +++ b/lib/gitlab/gitaly_client.rb @@ -165,7 +165,10 @@ module Gitlab current_transaction_labels.merge(gitaly_service: service.to_s, rpc: rpc.to_s), duration) - add_call_details(feature: "#{service}##{rpc}", duration: duration, request: request_hash, rpc: rpc) + if peek_enabled? + add_call_details(feature: "#{service}##{rpc}", duration: duration, request: request_hash, rpc: rpc, + backtrace: Gitlab::Profiler.clean_backtrace(caller)) + end end def self.query_time @@ -350,15 +353,17 @@ module Gitlab Gitlab::SafeRequestStore["gitaly_call_permitted"] = 0 end - def self.add_call_details(details) - return unless Gitlab::SafeRequestStore[:peek_enabled] + def self.peek_enabled? + Gitlab::SafeRequestStore[:peek_enabled] + end + def self.add_call_details(details) Gitlab::SafeRequestStore['gitaly_call_details'] ||= [] Gitlab::SafeRequestStore['gitaly_call_details'] << details end def self.list_call_details - return [] unless Gitlab::SafeRequestStore[:peek_enabled] + return [] unless peek_enabled? Gitlab::SafeRequestStore['gitaly_call_details'] || [] end diff --git a/lib/gitlab/profiler.rb b/lib/gitlab/profiler.rb index 93a9fcf1591..28ed587f5c7 100644 --- a/lib/gitlab/profiler.rb +++ b/lib/gitlab/profiler.rb @@ -16,7 +16,11 @@ module Gitlab ee/lib/gitlab/middleware/ lib/gitlab/performance_bar/ lib/gitlab/request_profiler/ + lib/gitlab/query_limiting/ + lib/gitlab/tracing/ lib/gitlab/profiler.rb + lib/gitlab/correlation_id.rb + lib/gitlab/webpack/dev_server_middleware.rb ].freeze # Takes a URL to profile (can be a fully-qualified URL, or an absolute path) |