Sha256: f23542ac4de3d8a63210a4dc96f4278578589679d78f1b61d9200682dad1ee59
Contents?: true
Size: 1.27 KB
Versions: 2
Compression:
Stored size: 1.27 KB
Contents
require_relative 'ext' require_relative '../../metadata/ext' module Datadog module Tracing module Contrib module Hanami # Hanami Instrumentation for `hanami.routing` module RouterTracing def call(env) return super if Tracing.active_span && Tracing.active_span.name == Ext::SPAN_ROUTING Tracing.trace( Ext::SPAN_ROUTING, service: configuration[:service_name], span_type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND ) do |span_op, trace_op| begin span_op.set_tag(Tracing::Metadata::Ext::TAG_COMPONENT, Ext::TAG_COMPONENT) span_op.set_tag(Tracing::Metadata::Ext::TAG_OPERATION, Ext::TAG_OPERATION_ROUTING) span_op.resource = nil super ensure span_op.resource ||= if trace_op.resource_override? trace_op.resource else env['REQUEST_METHOD'] end end end end def configuration Datadog.configuration.tracing[:hanami] end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-1.10.1 | lib/datadog/tracing/contrib/hanami/router_tracing.rb |
ddtrace-1.10.0 | lib/datadog/tracing/contrib/hanami/router_tracing.rb |