Class: GraphQL::Tracing::SkylightTracing
- Inherits:
-
PlatformTracing
- Object
- PlatformTracing
- GraphQL::Tracing::SkylightTracing
- Defined in:
- lib/graphql/tracing/skylight_tracing.rb
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ SkylightTracing
constructor
A new instance of SkylightTracing.
-
#platform_field_key(type, field) ⇒ Object
-
#platform_trace(platform_key, key, data) ⇒ Object
Methods inherited from PlatformTracing
#instrument, #trace, #trace_field, use
Constructor Details
#initialize(options = {}) ⇒ SkylightTracing
Returns a new instance of SkylightTracing
20 21 22 23 24 |
# File 'lib/graphql/tracing/skylight_tracing.rb', line 20 def initialize( = {}) warn("GraphQL::Tracing::SkylightTracing is deprecated, please enable Skylight's GraphQL probe instead: https://www.skylight.io/support/getting-more-from-skylight#graphql.") @set_endpoint_name = .fetch(:set_endpoint_name, false) super end |
Instance Method Details
#platform_field_key(type, field) ⇒ Object
57 58 59 |
# File 'lib/graphql/tracing/skylight_tracing.rb', line 57 def platform_field_key(type, field) "graphql.#{type.graphql_name}.#{field.graphql_name}" end |
#platform_trace(platform_key, key, data) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/graphql/tracing/skylight_tracing.rb', line 26 def platform_trace(platform_key, key, data) if key == "execute_query" query = data[:query] title = query.selected_operation_name || "<anonymous>" category = platform_key set_endpoint_name_override = query.context[:set_skylight_endpoint_name] if set_endpoint_name_override == true || (set_endpoint_name_override.nil? && @set_endpoint_name) # Assign the endpoint so that queries will be grouped instrumenter = Skylight.instrumenter if instrumenter current_trace = instrumenter.current_trace if current_trace op_type = query.selected_operation ? query.selected_operation.operation_type : "query" endpoint = "GraphQL/#{op_type}.#{title}" current_trace.endpoint = endpoint end end end elsif key.start_with?("execute_field") title = platform_key category = key else title = key category = platform_key end Skylight.instrument(category: category, title: title) do yield end end |