Sha256: 5bbb7044d1804fcfd51d15be3f109b6de31abf60115a82a21a6efd7f52999c61
Contents?: true
Size: 1.43 KB
Versions: 1
Compression:
Stored size: 1.43 KB
Contents
# frozen_string_literal: true # typed: true require_relative 'fetcher' require_relative '../../../distributed/b3' require_relative '../../../distributed/b3_single' require_relative '../../../distributed/datadog' require_relative '../../../distributed/propagation' module Datadog module Tracing module Contrib module GRPC module Distributed # Extracts and injects propagation through gRPC metadata. # @see https://github.com/grpc/grpc-go/blob/v1.50.1/Documentation/grpc-metadata.md class Propagation < Tracing::Distributed::Propagation def initialize super( propagation_styles: { Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_B3 => Tracing::Distributed::B3.new(fetcher: Fetcher), Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_B3_SINGLE_HEADER => Tracing::Distributed::B3Single.new(fetcher: Fetcher), Tracing::Configuration::Ext::Distributed::PROPAGATION_STYLE_DATADOG => Tracing::Distributed::Datadog.new(fetcher: Fetcher) }) end # DEV: Singleton kept until a larger refactor is performed. # DEV: See {Datadog::Tracing::Distributed::Propagation#initialize} for more information. INSTANCE = Propagation.new end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-1.7.0 | lib/datadog/tracing/contrib/grpc/distributed/propagation.rb |