Class: OpenTelemetry::Exporters::Datadog::Exporter
- Inherits:
-
Object
- Object
- OpenTelemetry::Exporters::Datadog::Exporter
- Defined in:
- lib/opentelemetry/exporters/datadog/exporter.rb,
lib/opentelemetry/exporters/datadog/exporter/span_encoder.rb
Overview
SpanExporter allows different tracing services to export recorded data for sampled spans in their own format.
To export data an exporter MUST be registered to the TracerProvider using a DatadogSpanProcessorr.
Defined Under Namespace
Classes: SpanEncoder
Constant Summary collapse
- DEFAULT_AGENT_URL =
'http://localhost:8126'
- DEFAULT_SERVICE_NAME =
'my_service'
Instance Method Summary collapse
-
#export(spans) ⇒ Integer
Called to export sampled Spans.
-
#initialize(service_name: nil, agent_url: nil, env: nil, version: nil, tags: nil) ⇒ Exporter
constructor
A new instance of Exporter.
-
#shutdown ⇒ Object
Called when TracerProvider#shutdown is called, if this exporter is registered to a TracerProvider object.
Constructor Details
#initialize(service_name: nil, agent_url: nil, env: nil, version: nil, tags: nil) ⇒ Exporter
Returns a new instance of Exporter.
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/opentelemetry/exporters/datadog/exporter.rb', line 37 def initialize(service_name: nil, agent_url: nil, env: nil, version: nil, tags: nil) @shutdown = false @agent_url = agent_url || ENV.fetch('DD_TRACE_AGENT_URL', DEFAULT_AGENT_URL) @service = service_name || ENV.fetch('DD_SERVICE', DEFAULT_SERVICE_NAME) @env = env || ENV.fetch('DD_ENV', nil) @version = version || ENV.fetch('DD_VERSION', nil) @tags = || ENV.fetch('DD_TAGS', nil) @agent_writer = get_writer(@agent_url) @span_encoder = SpanEncoder.new end |
Instance Method Details
#export(spans) ⇒ Integer
Called to export sampled Spans.
56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/opentelemetry/exporters/datadog/exporter.rb', line 56 def export(spans) return FAILURE if @shutdown if @agent_writer datadog_spans = @span_encoder.translate_to_datadog(spans, @service, @env, @version, @tags) @agent_writer.write(datadog_spans) SUCCESS else OpenTelemetry.logger.debug('Agent writer not set') FAILURE end end |
#shutdown ⇒ Object
Called when TracerProvider#shutdown is called, if this exporter is registered to a TracerProvider object.
71 72 73 |
# File 'lib/opentelemetry/exporters/datadog/exporter.rb', line 71 def shutdown @shutdown = true end |