Below is the list of exporters directly supported by the OpenTelemetry Collector.
The contributors repository has more exporters that can be added to custom builds of the service.
When multiple exporters are configured to send the same data (e.g. by configuring multiple
exporters for the same pipeline) the exporters will have a shared access to the data.
Exporters get access to this shared data when ConsumeTraceData
/ConsumeMetricsData
function is called. Exporters MUST NOT modify the TraceData
/MetricsData
argument of
these functions. If the exporter needs to modify the data while performing the exporting
the exporter can clone the data and perform the modification on the clone or use a
copy-on-write approach for individual sub-parts of TraceData
/MetricsData
argument.
Any approach that does not mutate the original TraceData
/MetricsData
argument
(including referenced data, such as Node
, Resource
, Spans
, etc) is allowed.
Exports trace data to Jaeger collectors accepting one of the following protocols:
Each different supported protocol has its own configuration settings.
-
endpoint:
target to which the exporter is going to send Jaeger trace data, using the gRPC protocol. The valid syntax is described at https://github.com/grpc/grpc/blob/master/doc/naming.md -
secure
: whether to enable client transport security for the exporter's gRPC connection. See grpc.WithInsecure(). Optional. -
server_name_override
: If set to a non empty string, it will override the virtual host name of authority (e.g. :authority header field) in requests (typically used for testing). -
cert_pem_file
: certificate file for TLS credentials of gRPC client. Should only be used ifsecure
is set to true. Optional. -
keepalive
: keepalive parameters for client gRPC. See grpc.WithKeepaliveParams(). Optional.
Example:
exporters:
jaeger_grpc:
endpoint: jaeger-all-in-one:14250
cert_pem_file: /my-cert.pem
server_name_override: opentelemetry.io
Exports traces and/or metrics to the console via zap.Logger
loglevel
: the log level of the logging export (debug|info|warn|error). Default isinfo
.
Exports traces and/or metrics to another OTel-Svc endpoint via gRPC.
-
endpoint
: target to which the exporter is going to send traces or metrics, using the gRPC protocol. The valid syntax is described at https://github.com/grpc/grpc/blob/master/doc/naming.md. Required. -
compression
: compression key for supported compression types within collector. Currently the only supported mode isgzip
. Optional. -
headers
: the headers associated with gRPC requests. Optional. -
num_workers
: number of workers that send the gRPC requests. Optional. -
secure
: whether to enable client transport security for the exporter's gRPC connection. See grpc.WithInsecure(). Optional. -
cert_pem_file
: certificate file for TLS credentials of gRPC client. Should only be used ifsecure
is set to true. Optional. -
reconnection_delay
: time period between each reconnection performed by the exporter. Optional. -
keepalive
: keepalive parameters for client gRPC. See grpc.WithKeepaliveParams(). Optional.
Example:
exporters:
opencensus:
endpoint: localhost:14250
reconnection_delay: 60s
secure: false
TODO: document settings
Exports trace data to a Zipkin back-end.
The following settings can be configured:
url:
URL to which the exporter is going to send Zipkin trace data. This setting doesn't have a default value and must be specified in the configuration.
Example:
exporters:
zipkin:
url: "http://some.url:9411/api/v2/spans"