Class OtlpHttpLogRecordExporterBuilder

java.lang.Object
io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogRecordExporterBuilder

public final class OtlpHttpLogRecordExporterBuilder extends Object
Builder utility for OtlpHttpLogRecordExporter.
Since:
1.27.0
  • Method Details

    • setTimeout

      public OtlpHttpLogRecordExporterBuilder setTimeout(long timeout, TimeUnit unit)
      Sets the maximum time to wait for the collector to process an exported batch of logs. If unset, defaults to 10Ls.
    • setTimeout

      public OtlpHttpLogRecordExporterBuilder setTimeout(Duration timeout)
      Sets the maximum time to wait for the collector to process an exported batch of logs. If unset, defaults to 10Ls.
    • setConnectTimeout

      public OtlpHttpLogRecordExporterBuilder setConnectTimeout(long timeout, TimeUnit unit)
      Sets the maximum time to wait for new connections to be established. If unset, defaults to 10Ls.
      Since:
      1.33.0
    • setConnectTimeout

      public OtlpHttpLogRecordExporterBuilder setConnectTimeout(Duration timeout)
      Sets the maximum time to wait for new connections to be established. If unset, defaults to 10Ls.
      Since:
      1.33.0
    • setEndpoint

      public OtlpHttpLogRecordExporterBuilder setEndpoint(String endpoint)
      Sets the OTLP endpoint to connect to. If unset, defaults to "http://localhost:4318/v1/logs". The endpoint must start with either http:// or https://, and include the full HTTP path.
    • setCompression

      public OtlpHttpLogRecordExporterBuilder setCompression(String compressionMethod)
      Sets the method used to compress payloads. If unset, compression is disabled. Compression method "gzip" and "none" are supported out of the box. Additional compression methods can be supported by providing custom Compressor implementations via the service loader.
    • addHeader

      public OtlpHttpLogRecordExporterBuilder addHeader(String key, String value)
      Add a constant header to requests. If the key collides with another constant header name or a one from setHeaders(Supplier), the values from both are included.
    • setHeaders

      public OtlpHttpLogRecordExporterBuilder setHeaders(Supplier<Map<String,String>> headerSupplier)
      Set the supplier of headers to add to requests. If a key from the map collides with a constant from addHeader(String, String), the values from both are included.
      Since:
      1.33.0
    • setTrustedCertificates

      public OtlpHttpLogRecordExporterBuilder setTrustedCertificates(byte[] trustedCertificatesPem)
      Sets the certificate chain to use for verifying servers when TLS is enabled. The byte[] should contain an X.509 certificate collection in PEM format. If not set, TLS connections will use the system default trusted certificates.
    • setClientTls

      public OtlpHttpLogRecordExporterBuilder setClientTls(byte[] privateKeyPem, byte[] certificatePem)
      Sets ths client key and the certificate chain to use for verifying client when TLS is enabled. The key must be PKCS8, and both must be in PEM format.
    • setSslContext

      public OtlpHttpLogRecordExporterBuilder setSslContext(SSLContext sslContext, X509TrustManager trustManager)
      Sets the "bring-your-own" SSLContext for use with TLS. Users should call this _or_ set raw certificate bytes, but not both.
    • setRetryPolicy

      public OtlpHttpLogRecordExporterBuilder setRetryPolicy(@Nullable io.opentelemetry.sdk.common.export.RetryPolicy retryPolicy)
      Set the retry policy, or null to disable retry. Retry policy is RetryPolicy.getDefault() by default
      Since:
      1.28.0
    • setProxyOptions

      public OtlpHttpLogRecordExporterBuilder setProxyOptions(io.opentelemetry.sdk.common.export.ProxyOptions proxyOptions)
      Sets the proxy options. Proxying is disabled by default.
      Since:
      1.36.0
    • setMeterProvider

      public OtlpHttpLogRecordExporterBuilder setMeterProvider(io.opentelemetry.api.metrics.MeterProvider meterProvider)
      Sets the MeterProvider to use to collect metrics related to export. If not set, uses GlobalOpenTelemetry.getMeterProvider().
    • setMeterProvider

      public OtlpHttpLogRecordExporterBuilder setMeterProvider(Supplier<io.opentelemetry.api.metrics.MeterProvider> meterProviderSupplier)
      Sets the MeterProvider supplier used to collect metrics related to export. If not set, uses GlobalOpenTelemetry.getMeterProvider().
      Since:
      1.32.0
    • setInternalTelemetryVersion

      public OtlpHttpLogRecordExporterBuilder setInternalTelemetryVersion(io.opentelemetry.sdk.common.InternalTelemetryVersion schemaVersion)
      Sets the InternalTelemetryVersion defining which self-monitoring metrics this exporter collects.
      Since:
      1.51.0
    • setMemoryMode

      public OtlpHttpLogRecordExporterBuilder setMemoryMode(io.opentelemetry.sdk.common.export.MemoryMode memoryMode)
      Set the MemoryMode. If unset, defaults to DEFAULT_MEMORY_MODE.

      When memory mode is MemoryMode.REUSABLE_DATA, serialization is optimized to reduce memory allocation.

      Since:
      1.39.0
    • setServiceClassLoader

      public OtlpHttpLogRecordExporterBuilder setServiceClassLoader(ClassLoader serviceClassLoader)
      Set the ClassLoader used to load the sender API. Variant of setComponentLoader(ComponentLoader).
      Since:
      1.48.0
    • setComponentLoader

      public OtlpHttpLogRecordExporterBuilder setComponentLoader(io.opentelemetry.common.ComponentLoader componentLoader)
      Set the ComponentLoader used to load the sender API.
    • setExecutorService

      public OtlpHttpLogRecordExporterBuilder setExecutorService(ExecutorService executorService)
      Set the ExecutorService used to execute requests.

      NOTE: By calling this method, you are opting into managing the lifecycle of the executorService. ExecutorService.shutdown() will NOT be called when this exporter is shutdown.

      Since:
      1.49.0
    • build

      public OtlpHttpLogRecordExporter build()
      Constructs a new instance of the exporter based on the builder's values.
      Returns:
      a new exporter's instance