class GraphQL::Tracing::PrometheusTracing::GraphQLCollector

Public Class Methods

new() click to toggle source
# File lib/graphql/tracing/prometheus_tracing/graphql_collector.rb, line 7
def initialize
  @graphql_gauge = PrometheusExporter::Metric::Summary.new(
    'graphql_duration_seconds',
    'Time spent in GraphQL operations, in seconds'
  )
end

Public Instance Methods

collect(object) click to toggle source
# File lib/graphql/tracing/prometheus_tracing/graphql_collector.rb, line 18
def collect(object)
  labels = { key: object['key'], platform_key: object['platform_key'] }
  @graphql_gauge.observe object['duration'], labels
end
metrics() click to toggle source
# File lib/graphql/tracing/prometheus_tracing/graphql_collector.rb, line 23
def metrics
  [@graphql_gauge]
end
type() click to toggle source
# File lib/graphql/tracing/prometheus_tracing/graphql_collector.rb, line 14
def type
  'graphql'
end