Class OtlpGrpcSpanExporter

  • All Implemented Interfaces:
    io.opentelemetry.sdk.trace.export.SpanExporter

    @ThreadSafe
    public final class OtlpGrpcSpanExporter
    extends Object
    implements io.opentelemetry.sdk.trace.export.SpanExporter
    Exports spans using OTLP via gRPC, using OpenTelemetry's protobuf model.

    Configuration options for OtlpGrpcSpanExporter can be read from system properties, environment variables, or Properties objects.

    For system properties and Properties objects, OtlpGrpcSpanExporter will look for the following names:

    • otel.exporter.otlp.span.timeout: to set the max waiting time allowed to send each span batch.
    • otel.exporter.otlp.span.endpoint: to set the endpoint to connect to.
    • otel.exporter.otlp.span.insecure: whether to enable client transport security for the connection.
    • otel.exporter.otlp.span.headers: the headers associated with the requests.

    For environment variables, OtlpGrpcSpanExporter will look for the following names:

    • OTEL_EXPORTER_OTLP_SPAN_TIMEOUT: to set the max waiting time allowed to send each span batch.
    • OTEL_EXPORTER_OTLP_SPAN_ENDPOINT: to set the endpoint to connect to.
    • OTEL_EXPORTER_OTLP_SPAN_INSECURE: whether to enable client transport security for the connection.
    • OTEL_EXPORTER_OTLP_SPAN_HEADERS: the headers associated with the requests.

    In both cases, if a property is missing, the name without "span" is used to resolve the value.

    • Field Detail

      • DEFAULT_DEADLINE_MS

        public static final long DEFAULT_DEADLINE_MS
    • Method Detail

      • export

        public io.opentelemetry.sdk.common.CompletableResultCode export​(Collection<io.opentelemetry.sdk.trace.data.SpanData> spans)
        Submits all the given spans in a single batch to the OpenTelemetry collector.
        Specified by:
        export in interface io.opentelemetry.sdk.trace.export.SpanExporter
        Parameters:
        spans - the list of sampled Spans to be exported.
        Returns:
        the result of the operation
      • flush

        public io.opentelemetry.sdk.common.CompletableResultCode flush()
        The OTLP exporter does not batch spans, so this method will immediately return with success.
        Specified by:
        flush in interface io.opentelemetry.sdk.trace.export.SpanExporter
        Returns:
        always Success
      • builder

        public static OtlpGrpcSpanExporter.Builder builder()
        Returns a new builder instance for this exporter.
        Returns:
        a new builder instance for this exporter.
      • getDefault

        public static OtlpGrpcSpanExporter getDefault()
        Returns a new OtlpGrpcSpanExporter reading the configuration values from the environment and from system properties. System properties override values defined in the environment. If a configuration value is missing, it uses the default value.
        Returns:
        a new OtlpGrpcSpanExporter instance.
      • shutdown

        public io.opentelemetry.sdk.common.CompletableResultCode shutdown()
        Initiates an orderly shutdown in which preexisting calls continue but new calls are immediately cancelled.
        Specified by:
        shutdown in interface io.opentelemetry.sdk.trace.export.SpanExporter