Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/exception_log_formatter.rb')
-rw-r--r--lib/gitlab/exception_log_formatter.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/gitlab/exception_log_formatter.rb b/lib/gitlab/exception_log_formatter.rb
index 52ad67d6f8b..a32f837eee9 100644
--- a/lib/gitlab/exception_log_formatter.rb
+++ b/lib/gitlab/exception_log_formatter.rb
@@ -21,6 +21,10 @@ module Gitlab
payload['exception.cause_class'] = exception.cause.class.name
end
+ if gitaly_metadata = find_gitaly_metadata(exception)
+ payload['exception.gitaly'] = gitaly_metadata.to_s
+ end
+
if sql = find_sql(exception)
payload['exception.sql'] = sql
end
@@ -35,6 +39,16 @@ module Gitlab
end
end
+ def find_gitaly_metadata(exception)
+ if exception.is_a?(::Gitlab::Git::BaseError)
+ exception.metadata
+ elsif exception.is_a?(::GRPC::BadStatus)
+ exception.metadata[::Gitlab::Git::BaseError::METADATA_KEY]
+ elsif exception.cause.present?
+ find_gitaly_metadata(exception.cause)
+ end
+ end
+
private
def normalize_query(sql)