Sha256: 1f3efe8abf043b1907bce832120b6062e4dc22a00d64385d52a4fb44cbad4081
Contents?: true
Size: 991 Bytes
Versions: 2
Compression:
Stored size: 991 Bytes
Contents
# frozen_string_literal: true module GraphQL module Tracing # This implementation forwards events to ActiveSupport::Notifications # with a `graphql.` prefix. # module ActiveSupportNotificationsTracing # A cache of frequently-used keys to avoid needless string allocations KEYS = { "lex" => "lex.graphql", "parse" => "parse.graphql", "validate" => "validate.graphql", "analyze_multiplex" => "analyze_multiplex.graphql", "analyze_query" => "analyze_query.graphql", "execute_query" => "execute_query.graphql", "execute_query_lazy" => "execute_query_lazy.graphql", "execute_field" => "execute_field.graphql", "execute_field_lazy" => "execute_field_lazy.graphql", } def self.trace(key, metadata) prefixed_key = KEYS[key] || "#{key}.graphql" ActiveSupport::Notifications.instrument(prefixed_key, metadata) do yield end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
graphql-1.10.0.pre3 | lib/graphql/tracing/active_support_notifications_tracing.rb |
graphql-1.10.0.pre2 | lib/graphql/tracing/active_support_notifications_tracing.rb |