Class: Gitlab::Graphql::Tracers::LoggerTracer

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/graphql/tracers/logger_tracer.rb

Overview

This tracer writes logs for certain trace events. It reads duration metadata written by TimerTracer.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.use(schema) ⇒ Object



9
10
11
# File 'lib/gitlab/graphql/tracers/logger_tracer.rb', line 9

def self.use(schema)
  schema.tracer(self.new)
end

Instance Method Details

#trace(key, data) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/gitlab/graphql/tracers/logger_tracer.rb', line 13

def trace(key, data)
  yield
rescue StandardError => e
  data[:exception] = e
  raise e
ensure
  case key
  when "execute_query"
    log_execute_query(**data)
  end
end