class GraphQL::Tracing::PrometheusTrace::GraphQLCollector
Public Class Methods
Source
# File lib/graphql/tracing/prometheus_trace/graphql_collector.rb, line 10 def initialize @graphql_gauge = PrometheusExporter::Metric::Base.default_aggregation.new( 'graphql_duration_seconds', 'Time spent in GraphQL operations, in seconds' ) end
Public Instance Methods
Source
# File lib/graphql/tracing/prometheus_trace/graphql_collector.rb, line 21 def collect(object) default_labels = { key: object['key'], platform_key: object['platform_key'] } custom = object['custom_labels'] labels = custom.nil? ? default_labels : default_labels.merge(custom) @graphql_gauge.observe object['duration'], labels end
Source
# File lib/graphql/tracing/prometheus_trace/graphql_collector.rb, line 29 def metrics [@graphql_gauge] end
Source
# File lib/graphql/tracing/prometheus_trace/graphql_collector.rb, line 17 def type 'graphql' end