Current behaviour
Following the documentation, I'm getting a NameError when attempting to use the new GraphQL unified tracer:
NameError:
uninitialized constant Datadog::Tracing::Contrib::GraphQL::UnifiedTrace
This is solved by requiring the file manually:
require 'datadog/tracing/contrib/graphql/unified_trace'
So not sure if this is a documentation issue, or it should be autoloaded while it is not.
Expected behaviour
Looking at the documentation, it looks like a drop-in replacement for GraphQL::Tracing::DataDogTrace and 'just work' instead of raising a NameError.
Steps to reproduce
Use a custom tracer based on UnifiedTrace:
# frozen_string_literal: true
module Util
module DatadogTracer
include Datadog::Tracing::Contrib::GraphQL::UnifiedTrace
def prepare_span(key, data, span)
# REDACTED: add some tags
end
end
end
and trace_with the custom tracer like this:
# frozen_string_literal: true
class SomeSchema < GraphQL::Schema
trace_with Util::DatadogTracer
end
How does datadog help you?
Some great tracing and profiling :)
Environment
- datadog version: 2.2.0
- Configuration block (
Datadog.configure ...):
Datadog.configure do |c|
c.runtime_metrics.enabled = true
# REDACTED: some non-graphql instrumentation here
c.tracing.report_hostname = true
c.profiling.allocation_enabled = true
end
- Ruby version: 3.3.0
- Operating system: Windows 11 WSL2 Ubuntu 22.04
- Relevant library versions: N/A
Current behaviour
Following the documentation, I'm getting a
NameErrorwhen attempting to use the new GraphQL unified tracer:This is solved by requiring the file manually:
So not sure if this is a documentation issue, or it should be autoloaded while it is not.
Expected behaviour
Looking at the documentation, it looks like a drop-in replacement for
GraphQL::Tracing::DataDogTraceand 'just work' instead of raising aNameError.Steps to reproduce
Use a custom tracer based on UnifiedTrace:
and
trace_withthe custom tracer like this:How does
datadoghelp you?Some great tracing and profiling :)
Environment
Datadog.configure ...):