Class: GraphQL::Tracing::StatsdTracing

Inherits:
PlatformTracing show all
Defined in:
lib/graphql/tracing/statsd_tracing.rb

Instance Method Summary collapse

Methods inherited from PlatformTracing

#instrument, #trace, #trace_field, use

Constructor Details

#initialize(statsd:, **rest) ⇒ StatsdTracing

Returns a new instance of StatsdTracing.

Parameters:

  • statsd (Object)

    A statsd client



18
19
20
21
# File 'lib/graphql/tracing/statsd_tracing.rb', line 18

def initialize(statsd:, **rest)
  @statsd = statsd
  super(**rest)
end

Instance Method Details

#platform_authorized_key(type) ⇒ Object



33
34
35
# File 'lib/graphql/tracing/statsd_tracing.rb', line 33

def platform_authorized_key(type)
  "graphql.authorized.#{type.graphql_name}"
end

#platform_field_key(type, field) ⇒ Object



29
30
31
# File 'lib/graphql/tracing/statsd_tracing.rb', line 29

def platform_field_key(type, field)
  "graphql.#{type.graphql_name}.#{field.graphql_name}"
end

#platform_resolve_type_key(type) ⇒ Object



37
38
39
# File 'lib/graphql/tracing/statsd_tracing.rb', line 37

def platform_resolve_type_key(type)
  "graphql.resolve_type.#{type.graphql_name}"
end

#platform_trace(platform_key, key, data) ⇒ Object



23
24
25
26
27
# File 'lib/graphql/tracing/statsd_tracing.rb', line 23

def platform_trace(platform_key, key, data)
  @statsd.time(platform_key) do
    yield
  end
end