graph LR
OTLP_Trace_Encoder["OTLP Trace Encoder"]
OTLP_Metrics_Encoder["OTLP Metrics Encoder"]
OTLP_Log_Encoder["OTLP Log Encoder"]
gRPC_Base_Exporter["gRPC Base Exporter"]
gRPC_Metric_Exporter["gRPC Metric Exporter"]
HTTP_Trace_Exporter["HTTP Trace Exporter"]
HTTP_Metric_Exporter["HTTP Metric Exporter"]
HTTP_Log_Exporter["HTTP Log Exporter"]
gRPC_Metric_Exporter -- "inherits from" --> gRPC_Base_Exporter
gRPC_Metric_Exporter -- "uses" --> OTLP_Metrics_Encoder
HTTP_Trace_Exporter -- "uses" --> OTLP_Trace_Encoder
HTTP_Metric_Exporter -- "uses" --> OTLP_Metrics_Encoder
HTTP_Log_Exporter -- "uses" --> OTLP_Log_Encoder
The OpenTelemetry OTLP Exporter subsystem is designed to serialize and transmit telemetry data (traces, metrics, and logs) to an OTLP-compatible receiver. It comprises distinct encoder components for each telemetry signal, responsible for transforming SDK data models into OTLP Protobuf formats. These encoders are utilized by various exporter components, which handle the actual transmission over different protocols like gRPC and HTTP. The gRPC and HTTP exporters provide specialized implementations for their respective protocols, with the gRPC Metric Exporter inheriting core functionalities from a gRPC Base Exporter. This modular design ensures flexibility in supporting various telemetry signals and export protocols while maintaining adherence to the OTLP specification.
Responsible for the serialization of OpenTelemetry SDK data models (Spans) into their respective OTLP Protobuf wire formats. It ensures data integrity and compliance with the OTLP specification.
Related Classes/Methods:
Responsible for the serialization of OpenTelemetry SDK data models (Metrics) into their respective OTLP Protobuf wire formats. It ensures data integrity and compliance with the OTLP specification.
Related Classes/Methods:
Responsible for the serialization of OpenTelemetry SDK data models (Logs) into their respective OTLP Protobuf wire formats. It ensures data integrity and compliance with the OTLP specification.
Related Classes/Methods:
Provides the fundamental capabilities for exporting telemetry data over gRPC. This includes managing gRPC client lifecycle, handling authentication credentials, and implementing the core _export method that performs the actual gRPC call. It serves as an abstract base for specific gRPC signal exporters.
Related Classes/Methods:
Specializes the gRPC Base Exporter for handling metric data. It prepares metric-specific payloads (e.g., potentially splitting large metric batches) and then delegates the actual gRPC transmission to the inherited base export logic.
Related Classes/Methods:
Responsible for configuring and managing the export of trace telemetry signal over HTTP. This involves setting up HTTP client configurations, managing headers, and executing the HTTP request/response cycle.
Related Classes/Methods:
Responsible for configuring and managing the export of metric telemetry signal over HTTP. This involves setting up HTTP client configurations, managing headers, and executing the HTTP request/response cycle.
Related Classes/Methods:
Responsible for configuring and managing the export of log telemetry signal over HTTP. This involves setting up HTTP client configurations, managing headers, and executing the HTTP request/response cycle.
Related Classes/Methods: