Class: AWS::Distro::OpenTelemetry::Exporter::XRay::UDP::AWSXRayUDPSpanExporter
- Inherits:
-
OpenTelemetry::SDK::Trace::Export::SpanExporter
- Object
- OpenTelemetry::SDK::Trace::Export::SpanExporter
- AWS::Distro::OpenTelemetry::Exporter::XRay::UDP::AWSXRayUDPSpanExporter
- Defined in:
- lib/aws/distro/opentelemetry/exporter/xray/udp/exporter.rb
Overview
An trace exporter that sends spans over UDP in an X-Ray format.
Instance Method Summary collapse
-
#export(span_data, timeout: nil) ⇒ Integer
Called to export sampled OpenTelemetry::SDK::Trace::SpanData structs.
-
#force_flush(timeout: nil) ⇒ Object
Called when OpenTelemetry::SDK::Trace::TracerProvider#force_flush is called, if this exporter is registered to a OpenTelemetry::SDK::Trace::TracerProvider object.
-
#initialize(endpoint = nil, signal_prefix = DEFAULT_FORMAT_OTEL_TRACES_BINARY_PREFIX) ⇒ AWSXRayUDPSpanExporter
constructor
A new instance of AWSXRayUDPSpanExporter.
-
#shutdown(timeout: nil) ⇒ Object
Called when OpenTelemetry::SDK::Trace::TracerProvider#shutdown is called, if this exporter is registered to a OpenTelemetry::SDK::Trace::TracerProvider object.
Constructor Details
#initialize(endpoint = nil, signal_prefix = DEFAULT_FORMAT_OTEL_TRACES_BINARY_PREFIX) ⇒ AWSXRayUDPSpanExporter
Returns a new instance of AWSXRayUDPSpanExporter.
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/aws/distro/opentelemetry/exporter/xray/udp/exporter.rb', line 63 def initialize(endpoint = nil, signal_prefix = DEFAULT_FORMAT_OTEL_TRACES_BINARY_PREFIX) @endpoint = if endpoint.nil? if lambda_environment? xray_daemon_endpoint || DEFAULT_ENDPOINT else DEFAULT_ENDPOINT end else endpoint end @udp_exporter = AWS::Distro::OpenTelemetry::Exporter::XRay::UDP::UdpExporter.new(@endpoint) @signal_prefix = signal_prefix @shutdown = false end |
Instance Method Details
#export(span_data, timeout: nil) ⇒ Integer
Called to export sampled OpenTelemetry::SDK::Trace::SpanData structs.
86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/aws/distro/opentelemetry/exporter/xray/udp/exporter.rb', line 86 def export(span_data, timeout: nil) return FAILURE if @shutdown encoded_etsr = encode(span_data) return FAILURE if encoded_etsr.nil? begin @udp_exporter.send_data(encoded_etsr, @signal_prefix) SUCCESS rescue StandardError => e ::OpenTelemetry.logger.error("Error exporting spans: #{e}") FAILURE end end |
#force_flush(timeout: nil) ⇒ Object
Called when OpenTelemetry::SDK::Trace::TracerProvider#force_flush is called, if this exporter is registered to a OpenTelemetry::SDK::Trace::TracerProvider object.
106 107 108 |
# File 'lib/aws/distro/opentelemetry/exporter/xray/udp/exporter.rb', line 106 def force_flush(timeout: nil) SUCCESS end |
#shutdown(timeout: nil) ⇒ Object
Called when OpenTelemetry::SDK::Trace::TracerProvider#shutdown is called, if this exporter is registered to a OpenTelemetry::SDK::Trace::TracerProvider object.
115 116 117 118 119 |
# File 'lib/aws/distro/opentelemetry/exporter/xray/udp/exporter.rb', line 115 def shutdown(timeout: nil) @udp_exporter.shutdown @shutdown = true SUCCESS end |