Class: GraphQL::Tracing::StatsdTracing

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

Instance Method Summary collapse

Methods inherited from PlatformTracing

#trace, use

Constructor Details

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

Returns a new instance of StatsdTracing.

Parameters:

  • statsd (Object)

    A statsd client



20
21
22
23
# File 'lib/graphql/tracing/statsd_tracing.rb', line 20

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

Instance Method Details

#platform_authorized_key(type) ⇒ Object



35
36
37
# File 'lib/graphql/tracing/statsd_tracing.rb', line 35

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

#platform_field_key(type, field) ⇒ Object



31
32
33
# File 'lib/graphql/tracing/statsd_tracing.rb', line 31

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

#platform_resolve_type_key(type) ⇒ Object



39
40
41
# File 'lib/graphql/tracing/statsd_tracing.rb', line 39

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

#platform_trace(platform_key, key, data) ⇒ Object



25
26
27
28
29
# File 'lib/graphql/tracing/statsd_tracing.rb', line 25

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