Module: Datadog::Tracing
- Defined in:
- lib/datadog/tracing.rb,
lib/datadog/tracing/span.rb,
lib/datadog/tracing/event.rb,
lib/datadog/tracing/flush.rb,
lib/datadog/tracing/utils.rb,
lib/datadog/tracing/buffer.rb,
lib/datadog/tracing/remote.rb,
lib/datadog/tracing/tracer.rb,
lib/datadog/tracing/writer.rb,
lib/datadog/tracing/context.rb,
lib/datadog/tracing/contrib.rb,
lib/datadog/tracing/workers.rb,
lib/datadog/tracing/metadata.rb,
lib/datadog/tracing/pipeline.rb,
lib/datadog/tracing/analytics.rb,
lib/datadog/tracing/client_ip.rb,
lib/datadog/tracing/component.rb,
lib/datadog/tracing/span_link.rb,
lib/datadog/tracing/span_event.rb,
lib/datadog/tracing/contrib/ext.rb,
lib/datadog/tracing/correlation.rb,
lib/datadog/tracing/sync_writer.rb,
lib/datadog/tracing/contrib/grpc.rb,
lib/datadog/tracing/contrib/http.rb,
lib/datadog/tracing/metadata/ext.rb,
lib/datadog/tracing/sampling/ext.rb,
lib/datadog/tracing/trace_digest.rb,
lib/datadog/tracing/transport/io.rb,
lib/datadog/tracing/sampling/rule.rb,
lib/datadog/tracing/trace_segment.rb,
lib/datadog/tracing/contrib/pg/ext.rb,
lib/datadog/tracing/span_operation.rb,
lib/datadog/tracing/transport/http.rb,
lib/datadog/tracing/contrib/aws/ext.rb,
lib/datadog/tracing/contrib/karafka.rb,
lib/datadog/tracing/contrib/patcher.rb,
lib/datadog/tracing/contrib/que/ext.rb,
lib/datadog/tracing/contrib/sidekiq.rb,
lib/datadog/tracing/diagnostics/ext.rb,
lib/datadog/tracing/metadata/errors.rb,
lib/datadog/tracing/runtime/metrics.rb,
lib/datadog/tracing/trace_operation.rb,
lib/datadog/tracing/context_provider.rb,
lib/datadog/tracing/contrib/grpc/ext.rb,
lib/datadog/tracing/contrib/http/ext.rb,
lib/datadog/tracing/contrib/rack/ext.rb,
lib/datadog/tracing/contrib/rake/ext.rb,
lib/datadog/tracing/contrib/registry.rb,
lib/datadog/tracing/contrib/roda/ext.rb,
lib/datadog/tracing/distributed/none.rb,
lib/datadog/tracing/metadata/tagging.rb,
lib/datadog/tracing/sampling/matcher.rb,
lib/datadog/tracing/sampling/sampler.rb,
lib/datadog/tracing/transport/traces.rb,
lib/datadog/tracing/configuration/ext.rb,
lib/datadog/tracing/contrib/analytics.rb,
lib/datadog/tracing/contrib/component.rb,
lib/datadog/tracing/contrib/dalli/ext.rb,
lib/datadog/tracing/contrib/ethon/ext.rb,
lib/datadog/tracing/contrib/excon/ext.rb,
lib/datadog/tracing/contrib/grape/ext.rb,
lib/datadog/tracing/contrib/kafka/ext.rb,
lib/datadog/tracing/contrib/patchable.rb,
lib/datadog/tracing/contrib/rails/ext.rb,
lib/datadog/tracing/contrib/redis/ext.rb,
lib/datadog/tracing/sampling/span/ext.rb,
lib/datadog/tracing/configuration/http.rb,
lib/datadog/tracing/contrib/extensions.rb,
lib/datadog/tracing/contrib/hanami/ext.rb,
lib/datadog/tracing/contrib/httprb/ext.rb,
lib/datadog/tracing/contrib/mysql2/ext.rb,
lib/datadog/tracing/contrib/pg/patcher.rb,
lib/datadog/tracing/contrib/presto/ext.rb,
lib/datadog/tracing/contrib/que/tracer.rb,
lib/datadog/tracing/contrib/redis/tags.rb,
lib/datadog/tracing/contrib/resque/ext.rb,
lib/datadog/tracing/contrib/sequel/ext.rb,
lib/datadog/tracing/contrib/stripe/ext.rb,
lib/datadog/tracing/diagnostics/health.rb,
lib/datadog/tracing/metadata/analytics.rb,
lib/datadog/tracing/sampling/span/rule.rb,
lib/datadog/tracing/transport/http/api.rb,
lib/datadog/tracing/contrib/aws/patcher.rb,
lib/datadog/tracing/contrib/faraday/ext.rb,
lib/datadog/tracing/contrib/graphql/ext.rb,
lib/datadog/tracing/contrib/integration.rb,
lib/datadog/tracing/contrib/kafka/event.rb,
lib/datadog/tracing/contrib/karafka/ext.rb,
lib/datadog/tracing/contrib/lograge/ext.rb,
lib/datadog/tracing/contrib/mongodb/ext.rb,
lib/datadog/tracing/contrib/que/patcher.rb,
lib/datadog/tracing/contrib/racecar/ext.rb,
lib/datadog/tracing/contrib/sidekiq/ext.rb,
lib/datadog/tracing/contrib/sinatra/env.rb,
lib/datadog/tracing/contrib/sinatra/ext.rb,
lib/datadog/tracing/contrib/trilogy/ext.rb,
lib/datadog/tracing/distributed/baggage.rb,
lib/datadog/tracing/distributed/datadog.rb,
lib/datadog/tracing/distributed/fetcher.rb,
lib/datadog/tracing/distributed/helpers.rb,
lib/datadog/tracing/metadata/metastruct.rb,
lib/datadog/tracing/transport/io/client.rb,
lib/datadog/tracing/transport/io/traces.rb,
lib/datadog/tracing/contrib/aws/services.rb,
lib/datadog/tracing/contrib/configurable.rb,
lib/datadog/tracing/contrib/grpc/patcher.rb,
lib/datadog/tracing/contrib/http/patcher.rb,
lib/datadog/tracing/contrib/kafka/events.rb,
lib/datadog/tracing/contrib/rack/patcher.rb,
lib/datadog/tracing/contrib/rails/runner.rb,
lib/datadog/tracing/contrib/rake/patcher.rb,
lib/datadog/tracing/contrib/registerable.rb,
lib/datadog/tracing/contrib/roda/patcher.rb,
lib/datadog/tracing/contrib/sequel/utils.rb,
lib/datadog/tracing/contrib/sneakers/ext.rb,
lib/datadog/tracing/distributed/b3_multi.rb,
lib/datadog/tracing/pipeline/span_filter.rb,
lib/datadog/tracing/sampling/all_sampler.rb,
lib/datadog/tracing/transport/statistics.rb,
lib/datadog/tracing/workers/trace_writer.rb,
lib/datadog/tracing/configuration/dynamic.rb,
lib/datadog/tracing/contrib/dalli/patcher.rb,
lib/datadog/tracing/contrib/ethon/patcher.rb,
lib/datadog/tracing/contrib/excon/patcher.rb,
lib/datadog/tracing/contrib/grape/patcher.rb,
lib/datadog/tracing/contrib/kafka/patcher.rb,
lib/datadog/tracing/contrib/racecar/event.rb,
lib/datadog/tracing/contrib/rails/patcher.rb,
lib/datadog/tracing/contrib/redis/patcher.rb,
lib/datadog/tracing/contrib/shoryuken/ext.rb,
lib/datadog/tracing/contrib/sidekiq/utils.rb,
lib/datadog/tracing/distributed/b3_single.rb,
lib/datadog/tracing/sampling/rate_sampler.rb,
lib/datadog/tracing/sampling/rule_sampler.rb,
lib/datadog/tracing/sampling/span/matcher.rb,
lib/datadog/tracing/sampling/span/sampler.rb,
lib/datadog/tracing/transport/http/client.rb,
lib/datadog/tracing/transport/http/traces.rb,
lib/datadog/tracing/transport/io/response.rb,
lib/datadog/tracing/configuration/settings.rb,
lib/datadog/tracing/contrib/active_job/ext.rb,
lib/datadog/tracing/contrib/aws/service/s3.rb,
lib/datadog/tracing/contrib/dalli/quantize.rb,
lib/datadog/tracing/contrib/grape/endpoint.rb,
lib/datadog/tracing/contrib/hanami/patcher.rb,
lib/datadog/tracing/contrib/httpclient/ext.rb,
lib/datadog/tracing/contrib/httprb/patcher.rb,
lib/datadog/tracing/contrib/mysql2/patcher.rb,
lib/datadog/tracing/contrib/opensearch/ext.rb,
lib/datadog/tracing/contrib/pg/integration.rb,
lib/datadog/tracing/contrib/presto/patcher.rb,
lib/datadog/tracing/contrib/racecar/events.rb,
lib/datadog/tracing/contrib/redis/quantize.rb,
lib/datadog/tracing/contrib/resque/patcher.rb,
lib/datadog/tracing/contrib/sequel/dataset.rb,
lib/datadog/tracing/contrib/sequel/patcher.rb,
lib/datadog/tracing/contrib/sinatra/tracer.rb,
lib/datadog/tracing/contrib/stripe/patcher.rb,
lib/datadog/tracing/contrib/stripe/request.rb,
lib/datadog/tracing/contrib/utils/database.rb,
lib/datadog/tracing/contrib/action_pack/ext.rb,
lib/datadog/tracing/contrib/action_view/ext.rb,
lib/datadog/tracing/contrib/auto_instrument.rb,
lib/datadog/tracing/contrib/aws/integration.rb,
lib/datadog/tracing/contrib/aws/service/sns.rb,
lib/datadog/tracing/contrib/aws/service/sqs.rb,
lib/datadog/tracing/contrib/delayed_job/ext.rb,
lib/datadog/tracing/contrib/faraday/patcher.rb,
lib/datadog/tracing/contrib/graphql/patcher.rb,
lib/datadog/tracing/contrib/grpc/formatting.rb,
lib/datadog/tracing/contrib/karafka/monitor.rb,
lib/datadog/tracing/contrib/karafka/patcher.rb,
lib/datadog/tracing/contrib/lograge/patcher.rb,
lib/datadog/tracing/contrib/mongodb/parsers.rb,
lib/datadog/tracing/contrib/mongodb/patcher.rb,
lib/datadog/tracing/contrib/que/integration.rb,
lib/datadog/tracing/contrib/racecar/patcher.rb,
lib/datadog/tracing/contrib/rails/framework.rb,
lib/datadog/tracing/contrib/rest_client/ext.rb,
lib/datadog/tracing/contrib/sequel/database.rb,
lib/datadog/tracing/contrib/sidekiq/patcher.rb,
lib/datadog/tracing/contrib/sinatra/patcher.rb,
lib/datadog/tracing/contrib/sneakers/tracer.rb,
lib/datadog/tracing/contrib/trilogy/patcher.rb,
lib/datadog/tracing/distributed/propagation.rb,
lib/datadog/tracing/pipeline/span_processor.rb,
lib/datadog/tracing/contrib/action_cable/ext.rb,
lib/datadog/tracing/contrib/active_job/event.rb,
lib/datadog/tracing/contrib/aws/service/base.rb,
lib/datadog/tracing/contrib/ethon/easy_patch.rb,
lib/datadog/tracing/contrib/excon/middleware.rb,
lib/datadog/tracing/contrib/grpc/integration.rb,
lib/datadog/tracing/contrib/http/integration.rb,
lib/datadog/tracing/contrib/rack/integration.rb,
lib/datadog/tracing/contrib/rack/middlewares.rb,
lib/datadog/tracing/contrib/rake/integration.rb,
lib/datadog/tracing/contrib/roda/integration.rb,
lib/datadog/tracing/contrib/shoryuken/tracer.rb,
lib/datadog/tracing/contrib/sneakers/patcher.rb,
lib/datadog/tracing/contrib/sucker_punch/ext.rb,
lib/datadog/tracing/contrib/action_mailer/ext.rb,
lib/datadog/tracing/contrib/action_pack/utils.rb,
lib/datadog/tracing/contrib/action_view/event.rb,
lib/datadog/tracing/contrib/action_view/utils.rb,
lib/datadog/tracing/contrib/active_job/events.rb,
lib/datadog/tracing/contrib/active_record/ext.rb,
lib/datadog/tracing/contrib/dalli/integration.rb,
lib/datadog/tracing/contrib/elasticsearch/ext.rb,
lib/datadog/tracing/contrib/ethon/integration.rb,
lib/datadog/tracing/contrib/ethon/multi_patch.rb,
lib/datadog/tracing/contrib/excon/integration.rb,
lib/datadog/tracing/contrib/grape/integration.rb,
lib/datadog/tracing/contrib/kafka/integration.rb,
lib/datadog/tracing/contrib/rails/integration.rb,
lib/datadog/tracing/contrib/rails/middlewares.rb,
lib/datadog/tracing/contrib/redis/integration.rb,
lib/datadog/tracing/contrib/resque/resque_job.rb,
lib/datadog/tracing/contrib/shoryuken/patcher.rb,
lib/datadog/tracing/contrib/sinatra/framework.rb,
lib/datadog/tracing/distributed/trace_context.rb,
lib/datadog/tracing/sampling/priority_sampler.rb,
lib/datadog/tracing/sampling/span/rule_parser.rb,
lib/datadog/tracing/transport/http/statistics.rb,
lib/datadog/tracing/transport/trace_formatter.rb,
lib/datadog/tracing/contrib/action_cable/event.rb,
lib/datadog/tracing/contrib/action_view/events.rb,
lib/datadog/tracing/contrib/active_job/patcher.rb,
lib/datadog/tracing/contrib/active_support/ext.rb,
lib/datadog/tracing/contrib/aws/parsed_context.rb,
lib/datadog/tracing/contrib/aws/service/states.rb,
lib/datadog/tracing/contrib/delayed_job/plugin.rb,
lib/datadog/tracing/contrib/faraday/connection.rb,
lib/datadog/tracing/contrib/faraday/middleware.rb,
lib/datadog/tracing/contrib/hanami/integration.rb,
lib/datadog/tracing/contrib/httpclient/patcher.rb,
lib/datadog/tracing/contrib/httprb/integration.rb,
lib/datadog/tracing/contrib/mysql2/integration.rb,
lib/datadog/tracing/contrib/opensearch/patcher.rb,
lib/datadog/tracing/contrib/pg/instrumentation.rb,
lib/datadog/tracing/contrib/presto/integration.rb,
lib/datadog/tracing/contrib/rack/request_queue.rb,
lib/datadog/tracing/contrib/resque/integration.rb,
lib/datadog/tracing/contrib/sequel/integration.rb,
lib/datadog/tracing/contrib/stripe/integration.rb,
lib/datadog/tracing/contrib/action_cable/events.rb,
lib/datadog/tracing/contrib/action_mailer/event.rb,
lib/datadog/tracing/contrib/action_pack/patcher.rb,
lib/datadog/tracing/contrib/action_view/patcher.rb,
lib/datadog/tracing/contrib/active_record/event.rb,
lib/datadog/tracing/contrib/active_record/utils.rb,
lib/datadog/tracing/contrib/aws/instrumentation.rb,
lib/datadog/tracing/contrib/aws/service/kinesis.rb,
lib/datadog/tracing/contrib/concurrent_ruby/ext.rb,
lib/datadog/tracing/contrib/delayed_job/patcher.rb,
lib/datadog/tracing/contrib/faraday/integration.rb,
lib/datadog/tracing/contrib/graphql/integration.rb,
lib/datadog/tracing/contrib/karafka/integration.rb,
lib/datadog/tracing/contrib/lograge/integration.rb,
lib/datadog/tracing/contrib/mongodb/integration.rb,
lib/datadog/tracing/contrib/mongodb/subscribers.rb,
lib/datadog/tracing/contrib/opensearch/quantize.rb,
lib/datadog/tracing/contrib/racecar/integration.rb,
lib/datadog/tracing/contrib/rack/header_tagging.rb,
lib/datadog/tracing/contrib/rails/log_injection.rb,
lib/datadog/tracing/contrib/rest_client/patcher.rb,
lib/datadog/tracing/contrib/semantic_logger/ext.rb,
lib/datadog/tracing/contrib/sidekiq/integration.rb,
lib/datadog/tracing/contrib/sinatra/integration.rb,
lib/datadog/tracing/contrib/trilogy/integration.rb,
lib/datadog/tracing/metadata/metastruct_tagging.rb,
lib/datadog/tracing/configuration/dynamic/option.rb,
lib/datadog/tracing/contrib/action_cable/patcher.rb,
lib/datadog/tracing/contrib/action_mailer/events.rb,
lib/datadog/tracing/contrib/active_record/events.rb,
lib/datadog/tracing/contrib/aws/service/dynamodb.rb,
lib/datadog/tracing/contrib/faraday/rack_builder.rb,
lib/datadog/tracing/contrib/hanami/action_tracer.rb,
lib/datadog/tracing/contrib/http/circuit_breaker.rb,
lib/datadog/tracing/contrib/http/instrumentation.rb,
lib/datadog/tracing/contrib/kafka/consumer_event.rb,
lib/datadog/tracing/contrib/racecar/events/batch.rb,
lib/datadog/tracing/contrib/rake/instrumentation.rb,
lib/datadog/tracing/contrib/roda/instrumentation.rb,
lib/datadog/tracing/contrib/sneakers/integration.rb,
lib/datadog/tracing/contrib/status_range_matcher.rb,
lib/datadog/tracing/contrib/sucker_punch/patcher.rb,
lib/datadog/tracing/sampling/rate_by_key_sampler.rb,
lib/datadog/tracing/transport/serializable_trace.rb,
lib/datadog/tracing/contrib/action_mailer/patcher.rb,
lib/datadog/tracing/contrib/active_record/patcher.rb,
lib/datadog/tracing/contrib/dalli/instrumentation.rb,
lib/datadog/tracing/contrib/elasticsearch/patcher.rb,
lib/datadog/tracing/contrib/grape/instrumentation.rb,
lib/datadog/tracing/contrib/graphql/trace_patcher.rb,
lib/datadog/tracing/contrib/graphql/unified_trace.rb,
lib/datadog/tracing/contrib/hanami/router_tracing.rb,
lib/datadog/tracing/contrib/redis/instrumentation.rb,
lib/datadog/tracing/contrib/redis/vendor/resolver.rb,
lib/datadog/tracing/contrib/shoryuken/integration.rb,
lib/datadog/tracing/contrib/sidekiq/client_tracer.rb,
lib/datadog/tracing/contrib/sidekiq/server_tracer.rb,
lib/datadog/tracing/contrib/span_attribute_schema.rb,
lib/datadog/tracing/contrib/active_job/integration.rb,
lib/datadog/tracing/contrib/active_support/patcher.rb,
lib/datadog/tracing/contrib/configuration/resolver.rb,
lib/datadog/tracing/contrib/configuration/settings.rb,
lib/datadog/tracing/contrib/elasticsearch/quantize.rb,
lib/datadog/tracing/contrib/http_annotation_helper.rb,
lib/datadog/tracing/contrib/httpclient/integration.rb,
lib/datadog/tracing/contrib/httprb/instrumentation.rb,
lib/datadog/tracing/contrib/mysql2/instrumentation.rb,
lib/datadog/tracing/contrib/opensearch/integration.rb,
lib/datadog/tracing/contrib/presto/instrumentation.rb,
lib/datadog/tracing/contrib/racecar/events/consume.rb,
lib/datadog/tracing/contrib/racecar/events/message.rb,
lib/datadog/tracing/contrib/rack/header_collection.rb,
lib/datadog/tracing/contrib/redis/trace_middleware.rb,
lib/datadog/tracing/diagnostics/environment_logger.rb,
lib/datadog/tracing/distributed/datadog_tags_codec.rb,
lib/datadog/tracing/distributed/propagation_policy.rb,
lib/datadog/tracing/contrib/action_pack/integration.rb,
lib/datadog/tracing/contrib/action_view/integration.rb,
lib/datadog/tracing/contrib/aws/service/eventbridge.rb,
lib/datadog/tracing/contrib/concurrent_ruby/patcher.rb,
lib/datadog/tracing/contrib/delayed_job/integration.rb,
lib/datadog/tracing/contrib/graphql/tracing_patcher.rb,
lib/datadog/tracing/contrib/lograge/instrumentation.rb,
lib/datadog/tracing/contrib/mongodb/instrumentation.rb,
lib/datadog/tracing/contrib/propagation/sql_comment.rb,
lib/datadog/tracing/contrib/rest_client/integration.rb,
lib/datadog/tracing/contrib/semantic_logger/patcher.rb,
lib/datadog/tracing/contrib/status_range_env_parser.rb,
lib/datadog/tracing/contrib/trilogy/instrumentation.rb,
lib/datadog/tracing/contrib/utils/quantization/hash.rb,
lib/datadog/tracing/contrib/utils/quantization/http.rb,
lib/datadog/tracing/contrib/action_cable/integration.rb,
lib/datadog/tracing/contrib/active_job/log_injection.rb,
lib/datadog/tracing/contrib/active_record/events/sql.rb,
lib/datadog/tracing/contrib/grpc/datadog_interceptor.rb,
lib/datadog/tracing/contrib/grpc/distributed/fetcher.rb,
lib/datadog/tracing/contrib/http/distributed/fetcher.rb,
lib/datadog/tracing/contrib/sucker_punch/integration.rb,
lib/datadog/tracing/sampling/rate_by_service_sampler.rb,
lib/datadog/tracing/contrib/action_mailer/integration.rb,
lib/datadog/tracing/contrib/active_job/events/discard.rb,
lib/datadog/tracing/contrib/active_job/events/enqueue.rb,
lib/datadog/tracing/contrib/active_job/events/perform.rb,
lib/datadog/tracing/contrib/active_record/integration.rb,
lib/datadog/tracing/contrib/elasticsearch/integration.rb,
lib/datadog/tracing/contrib/pg/configuration/settings.rb,
lib/datadog/tracing/contrib/rest_client/request_patch.rb,
lib/datadog/tracing/contrib/sinatra/tracer_middleware.rb,
lib/datadog/tracing/contrib/active_support/cache/event.rb,
lib/datadog/tracing/contrib/active_support/cache/redis.rb,
lib/datadog/tracing/contrib/active_support/integration.rb,
lib/datadog/tracing/contrib/aws/configuration/settings.rb,
lib/datadog/tracing/contrib/httpclient/instrumentation.rb,
lib/datadog/tracing/contrib/kafka/consumer_group_event.rb,
lib/datadog/tracing/contrib/que/configuration/settings.rb,
lib/datadog/tracing/contrib/active_support/cache/events.rb,
lib/datadog/tracing/contrib/concurrent_ruby/async_patch.rb,
lib/datadog/tracing/contrib/concurrent_ruby/integration.rb,
lib/datadog/tracing/contrib/grpc/configuration/settings.rb,
lib/datadog/tracing/contrib/grpc/intercept_with_datadog.rb,
lib/datadog/tracing/contrib/http/configuration/settings.rb,
lib/datadog/tracing/contrib/propagation/sql_comment/ext.rb,
lib/datadog/tracing/contrib/rack/configuration/settings.rb,
lib/datadog/tracing/contrib/rack/trace_proxy_middleware.rb,
lib/datadog/tracing/contrib/rake/configuration/settings.rb,
lib/datadog/tracing/contrib/roda/configuration/settings.rb,
lib/datadog/tracing/contrib/semantic_logger/integration.rb,
lib/datadog/tracing/contrib/action_cable/events/transmit.rb,
lib/datadog/tracing/contrib/action_cable/instrumentation.rb,
lib/datadog/tracing/contrib/action_mailer/events/deliver.rb,
lib/datadog/tracing/contrib/action_mailer/events/process.rb,
lib/datadog/tracing/contrib/active_job/events/enqueue_at.rb,
lib/datadog/tracing/contrib/active_model_serializers/ext.rb,
lib/datadog/tracing/contrib/active_support/cache/patcher.rb,
lib/datadog/tracing/contrib/concurrent_ruby/future_patch.rb,
lib/datadog/tracing/contrib/dalli/configuration/settings.rb,
lib/datadog/tracing/contrib/ethon/configuration/settings.rb,
lib/datadog/tracing/contrib/excon/configuration/settings.rb,
lib/datadog/tracing/contrib/grape/configuration/settings.rb,
lib/datadog/tracing/contrib/grpc/distributed/propagation.rb,
lib/datadog/tracing/contrib/http/distributed/propagation.rb,
lib/datadog/tracing/contrib/kafka/configuration/settings.rb,
lib/datadog/tracing/contrib/propagation/sql_comment/mode.rb,
lib/datadog/tracing/contrib/rails/configuration/settings.rb,
lib/datadog/tracing/contrib/redis/configuration/resolver.rb,
lib/datadog/tracing/contrib/redis/configuration/settings.rb,
lib/datadog/tracing/contrib/sucker_punch/instrumentation.rb,
lib/datadog/tracing/contrib/action_cable/events/broadcast.rb,
lib/datadog/tracing/contrib/graphql/unified_trace_patcher.rb,
lib/datadog/tracing/contrib/hanami/configuration/settings.rb,
lib/datadog/tracing/contrib/httprb/configuration/settings.rb,
lib/datadog/tracing/contrib/mysql2/configuration/settings.rb,
lib/datadog/tracing/contrib/presto/configuration/settings.rb,
lib/datadog/tracing/contrib/resque/configuration/settings.rb,
lib/datadog/tracing/contrib/sequel/configuration/settings.rb,
lib/datadog/tracing/contrib/stripe/configuration/settings.rb,
lib/datadog/tracing/contrib/active_model_serializers/event.rb,
lib/datadog/tracing/contrib/faraday/configuration/settings.rb,
lib/datadog/tracing/contrib/graphql/configuration/settings.rb,
lib/datadog/tracing/contrib/hanami/renderer_policy_tracing.rb,
lib/datadog/tracing/contrib/karafka/configuration/settings.rb,
lib/datadog/tracing/contrib/lograge/configuration/settings.rb,
lib/datadog/tracing/contrib/mongodb/configuration/settings.rb,
lib/datadog/tracing/contrib/racecar/configuration/settings.rb,
lib/datadog/tracing/contrib/sidekiq/configuration/settings.rb,
lib/datadog/tracing/contrib/sinatra/configuration/settings.rb,
lib/datadog/tracing/contrib/sucker_punch/exception_handler.rb,
lib/datadog/tracing/contrib/trilogy/configuration/settings.rb,
lib/datadog/tracing/contrib/active_job/events/enqueue_retry.rb,
lib/datadog/tracing/contrib/active_job/events/retry_stopped.rb,
lib/datadog/tracing/contrib/active_model_serializers/events.rb,
lib/datadog/tracing/contrib/grpc/datadog_interceptor/client.rb,
lib/datadog/tracing/contrib/grpc/datadog_interceptor/server.rb,
lib/datadog/tracing/contrib/kafka/events/connection/request.rb,
lib/datadog/tracing/contrib/karafka/distributed/propagation.rb,
lib/datadog/tracing/contrib/propagation/sql_comment/comment.rb,
lib/datadog/tracing/contrib/semantic_logger/instrumentation.rb,
lib/datadog/tracing/contrib/sidekiq/distributed/propagation.rb,
lib/datadog/tracing/contrib/sneakers/configuration/settings.rb,
lib/datadog/tracing/contrib/active_model_serializers/patcher.rb,
lib/datadog/tracing/contrib/shoryuken/configuration/settings.rb,
lib/datadog/tracing/contrib/action_view/events/render_partial.rb,
lib/datadog/tracing/contrib/active_job/configuration/settings.rb,
lib/datadog/tracing/contrib/active_support/cache/events/cache.rb,
lib/datadog/tracing/contrib/httpclient/configuration/settings.rb,
lib/datadog/tracing/contrib/opensearch/configuration/settings.rb,
lib/datadog/tracing/contrib/action_cable/events/perform_action.rb,
lib/datadog/tracing/contrib/action_pack/configuration/settings.rb,
lib/datadog/tracing/contrib/action_view/configuration/settings.rb,
lib/datadog/tracing/contrib/action_view/events/render_template.rb,
lib/datadog/tracing/contrib/active_record/events/instantiation.rb,
lib/datadog/tracing/contrib/active_support/notifications/event.rb,
lib/datadog/tracing/contrib/delayed_job/configuration/settings.rb,
lib/datadog/tracing/contrib/rest_client/configuration/settings.rb,
lib/datadog/tracing/contrib/action_cable/configuration/settings.rb,
lib/datadog/tracing/contrib/action_pack/action_dispatch/patcher.rb,
lib/datadog/tracing/contrib/kafka/events/consumer/process_batch.rb,
lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/stop.rb,
lib/datadog/tracing/contrib/sucker_punch/configuration/settings.rb,
lib/datadog/tracing/contrib/action_mailer/configuration/settings.rb,
lib/datadog/tracing/contrib/active_model_serializers/integration.rb,
lib/datadog/tracing/contrib/active_record/configuration/resolver.rb,
lib/datadog/tracing/contrib/active_record/configuration/settings.rb,
lib/datadog/tracing/contrib/active_support/cache/instrumentation.rb,
lib/datadog/tracing/contrib/elasticsearch/configuration/settings.rb,
lib/datadog/tracing/contrib/action_pack/action_controller/patcher.rb,
lib/datadog/tracing/contrib/active_support/configuration/settings.rb,
lib/datadog/tracing/contrib/concurrent_ruby/promises_future_patch.rb,
lib/datadog/tracing/contrib/kafka/events/consumer/process_message.rb,
lib/datadog/tracing/contrib/kafka/events/consumer_group/heartbeat.rb,
lib/datadog/tracing/contrib/active_model_serializers/events/render.rb,
lib/datadog/tracing/contrib/concurrent_ruby/configuration/settings.rb,
lib/datadog/tracing/contrib/kafka/events/consumer_group/join_group.rb,
lib/datadog/tracing/contrib/kafka/events/consumer_group/sync_group.rb,
lib/datadog/tracing/contrib/kafka/events/producer/deliver_messages.rb,
lib/datadog/tracing/contrib/semantic_logger/configuration/settings.rb,
lib/datadog/tracing/contrib/active_support/notifications/subscriber.rb,
lib/datadog/tracing/contrib/kafka/events/consumer_group/leave_group.rb,
lib/datadog/tracing/contrib/configuration/resolvers/pattern_resolver.rb,
lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat.rb,
lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch.rb,
lib/datadog/tracing/contrib/active_model_serializers/events/serialize.rb,
lib/datadog/tracing/contrib/active_support/notifications/subscription.rb,
lib/datadog/tracing/contrib/delayed_job/server_internal_tracer/worker.rb,
lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/redis_info.rb,
lib/datadog/tracing/contrib/action_pack/action_dispatch/instrumentation.rb,
lib/datadog/tracing/contrib/active_record/configuration/makara_resolver.rb,
lib/datadog/tracing/contrib/kafka/events/produce_operation/send_messages.rb,
lib/datadog/tracing/contrib/action_pack/action_controller/instrumentation.rb,
lib/datadog/tracing/contrib/active_model_serializers/configuration/settings.rb,
lib/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller.rb,
lib/datadog/tracing/contrib/graphql/configuration/error_extension_env_parser.rb,
lib/datadog/tracing/contrib/concurrent_ruby/context_composite_executor_service.rb
Overview
Datadog tracing
Defined Under Namespace
Modules: Configuration, Contrib, Correlation, Diagnostics, Metadata, Pipeline, Sampling, Utils Classes: Span, SpanEvent, SpanLink, SpanOperation, SyncWriter, TraceDigest, TraceOperation, TraceSegment, Writer
Constant Summary collapse
- TraceBuffer =
Trace buffer that stores application traces. The buffer has a maximum size and when the buffer is full, a random trace is discarded. This class is thread-safe and is used automatically by the
Tracer
instance when aSpan
is finished.We choose the default TraceBuffer implementation for current platform dynamically here.
TODO We should restructure this module, so that classes are not declared at top-level ::Datadog. TODO Making such a change is potentially breaking for users manually configuring the tracer.
if Core::Environment::Ext::RUBY_ENGINE == 'ruby' CRubyTraceBuffer else ThreadSafeTraceBuffer end
Class Attribute Summary collapse
-
.logger ⇒ Object
readonly
The tracer's internal logger instance.
Class Method Summary collapse
-
.active_span ⇒ Datadog::Tracing::SpanOperation?
The active, unfinished span, representing the currently instrumented application section.
-
.active_trace ⇒ Datadog::Tracing::TraceSegment?
The active, unfinished trace, representing the current instrumentation context.
-
.baggage ⇒ Datadog::Tracing::Distributed::Baggage
Returns the baggage for the current trace.
- .before_flush(*processors, &processor_block) ⇒ Object
-
.continue_trace!(digest) { ... } ⇒ Object, Datadog::Tracing::TraceOperation
Setup a new trace to continue from where another trace left off.
-
.correlation ⇒ Datadog::Tracing::Correlation::Identifier
Information about the currently active trace.
-
.enabled? ⇒ Boolean
Is the tracer collecting telemetry data in this process?.
-
.keep! ⇒ void
If an active trace is present, forces it to be retained by the Datadog backend.
-
.log_correlation ⇒ String
Textual representation of Tracing.correlation, which can be added to individual log lines in order to correlate them with the active trace.
-
.reject! ⇒ void
If an active trace is present, forces it to be dropped and not stored by the Datadog backend.
-
.shutdown! ⇒ Object
Gracefully shuts down the tracer.
- .trace(name, continue_from: nil, on_error: nil, resource: nil, service: nil, start_time: nil, tags: nil, type: nil, id: nil) {|span_op, trace_op| ... } ⇒ Object, Datadog::Tracing::SpanOperation
Class Attribute Details
.logger ⇒ Object (readonly)
The tracer's internal logger instance. All tracing log output is handled by this object.
The logger can be configured through configure, through Core::Configuration::Settings::DSL::Logger options.
57 58 59 |
# File 'lib/datadog/tracing.rb', line 57 def logger Datadog.logger end |
Class Method Details
.active_span ⇒ Datadog::Tracing::SpanOperation?
The active, unfinished span, representing the currently instrumented application section.
The active span belongs to an active_trace.
72 73 74 75 76 77 |
# File 'lib/datadog/tracing.rb', line 72 def active_span current_tracer = tracer return unless current_tracer current_tracer.active_span end |
.active_trace ⇒ Datadog::Tracing::TraceSegment?
The active, unfinished trace, representing the current instrumentation context.
The active trace is fiber-local.
63 64 65 66 67 68 |
# File 'lib/datadog/tracing.rb', line 63 def active_trace current_tracer = tracer return unless current_tracer current_tracer.active_trace end |
.baggage ⇒ Datadog::Tracing::Distributed::Baggage
Returns the baggage for the current trace.
If there is no active trace, a new one is created.
135 136 137 138 139 140 141 |
# File 'lib/datadog/tracing.rb', line 135 def baggage # Baggage should not be dependent on there being an active trace. # So we create a new TraceOperation if there isn't one. active_trace = self.active_trace || tracer.continue_trace!(nil) active_trace.baggage ||= {} active_trace.baggage end |
.before_flush(*processors) ⇒ Object .before_flush {|trace| ... } ⇒ Object
161 162 163 |
# File 'lib/datadog/tracing.rb', line 161 def before_flush(*processors, &processor_block) Pipeline.before_flush(*processors, &processor_block) end |
.continue_trace!(digest) { ... } ⇒ Object, Datadog::Tracing::TraceOperation
Setup a new trace to continue from where another trace left off.
Used to continue distributed or async traces.
45 46 47 |
# File 'lib/datadog/tracing.rb', line 45 def continue_trace!(digest, &block) tracer.continue_trace!(digest, &block) end |
.correlation ⇒ Datadog::Tracing::Correlation::Identifier
Information about the currently active trace.
The most common use cases are tagging log messages and metrics.
97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/datadog/tracing.rb', line 97 def correlation # We access this in this way as: # * If the components have not been initialized, it doesn't make sense to initialize datadog just to say # 'nil' here # * It prevents recursive initialization attempts, see https://github.com/DataDog/dd-trace-rb/issues/3385 components = Datadog.send(:components, allow_initialization: false) current_tracer = components.tracer if components return Datadog::Tracing::Correlation::Identifier.new unless current_tracer current_tracer.active_correlation end |
.enabled? ⇒ Boolean
Is the tracer collecting telemetry data in this process?
167 168 169 170 171 172 |
# File 'lib/datadog/tracing.rb', line 167 def enabled? current_tracer = tracer return false unless current_tracer current_tracer.enabled end |
.keep! ⇒ void
This method returns an undefined value.
If an active trace is present, forces it to be retained by the Datadog backend.
Any sampling logic will not be able to change this decision.
If no trace is active, no action is taken.
82 83 84 85 |
# File 'lib/datadog/tracing.rb', line 82 def keep! trace = active_trace trace.keep! if trace end |
.log_correlation ⇒ String
Textual representation of correlation, which can be added to individual log lines in order to correlate them with the active trace.
Example:
MyLogger.log("#{Datadog::Tracing.log_correlation}] My message")
# dd.env=prod dd.service=auth dd.version=13.8 dd.trace_id=5458478252992251 dd.span_id=7117552347370098 My message
123 124 125 126 127 |
# File 'lib/datadog/tracing.rb', line 123 def log_correlation return '' unless enabled? correlation.to_log_format end |
.reject! ⇒ void
This method returns an undefined value.
If an active trace is present, forces it to be dropped and not stored by the Datadog backend.
Any sampling logic will not be able to change this decision.
If no trace is active, no action is taken.
90 91 92 93 |
# File 'lib/datadog/tracing.rb', line 90 def reject! trace = active_trace trace.reject! if trace end |
.shutdown! ⇒ Object
Gracefully shuts down the tracer.
The public tracing API will still respond to method calls as usual but might not internally perform the expected internal work after shutdown.
This avoids errors being raised across the host application during shutdown while allowing for the graceful decommission of resources.
shutdown! cannot be reversed.
153 154 155 156 157 158 |
# File 'lib/datadog/tracing.rb', line 153 def shutdown! current_tracer = tracer return unless current_tracer current_tracer.shutdown! end |
.trace(name, continue_from: nil, on_error: nil, resource: nil, service: nil, start_time: nil, tags: nil, type: nil, id: nil) {|span_op, trace_op| ... } ⇒ Object, Datadog::Tracing::SpanOperation
Return a span_op and trace_op
that will trace an operation called name
.
You could trace your code using a do-block like:
tracer.trace('web.request') do |span_op, trace_op|
span_op.service = 'my-web-site'
span_op.resource = '/'
span_op.set_tag('http.method', request.request_method)
do_something()
end
The #trace method can also be used without a block in this way:
span_op = tracer.trace('web.request', service: 'my-web-site')
do_something()
span_op.finish()
Remember that in this case, calling Datadog::Tracing::SpanOperation#finish is mandatory.
When a Trace is started, #trace will store the created span; subsequent spans will become its children and will inherit some properties:
parent = tracer.trace('parent') # has no parent span
child = tracer.trace('child') # is a child of 'parent'
child.finish()
parent.finish()
parent2 = tracer.trace('parent2') # has no parent span
parent2.finish()
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/datadog/tracing.rb', line 17 def trace( name, continue_from: nil, on_error: nil, resource: nil, service: nil, start_time: nil, tags: nil, type: nil, id: nil, &block ) tracer.trace( name, continue_from: continue_from, on_error: on_error, resource: resource, service: service, start_time: start_time, tags: , type: type, id: id, &block ) end |