Class OtlpGrpcLogRecordExporterBuilder

java.lang.Object
io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogRecordExporterBuilder

public final class OtlpGrpcLogRecordExporterBuilder extends Object
Since:
1.27.0
  • Method Details

    • setChannel

      @Deprecated public OtlpGrpcLogRecordExporterBuilder setChannel(io.grpc.ManagedChannel channel)
      Deprecated.
      Use setEndpoint(String). If you have a use case not satisfied by the methods on this builder, please file an issue to let us know what it is.
      Sets the managed chanel to use when communicating with the backend. Takes precedence over setEndpoint(String) if both are called.

      Note: calling this overrides the spec compliant User-Agent header. To ensure spec compliance, set ManagedChannelBuilder.userAgent(String) to OtlpUserAgent.getUserAgent() when building the channel.

      Parameters:
      channel - the channel to use
      Returns:
      this builder's instance
    • setTimeout

      public OtlpGrpcLogRecordExporterBuilder 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 OtlpGrpcLogRecordExporterBuilder 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 OtlpGrpcLogRecordExporterBuilder setConnectTimeout(long timeout, TimeUnit unit)
      Sets the maximum time to wait for new connections to be established. If unset, defaults to 10Ls.
      Since:
      1.36.0
    • setConnectTimeout

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

      public OtlpGrpcLogRecordExporterBuilder setEndpoint(String endpoint)
      Sets the OTLP endpoint to connect to. If unset, defaults to "http://localhost:4317". The endpoint must start with either http:// or https://.
    • setCompression

      public OtlpGrpcLogRecordExporterBuilder 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. Support for additional compression methods is available by implementing Compressor and CompressorProvider.
    • setTrustedCertificates

      public OtlpGrpcLogRecordExporterBuilder 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 OtlpGrpcLogRecordExporterBuilder 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 OtlpGrpcLogRecordExporterBuilder 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.
    • addHeader

      public OtlpGrpcLogRecordExporterBuilder 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. Applicable only if setChannel(ManagedChannel) is not used to set channel.
      Parameters:
      key - header key
      value - header value
      Returns:
      this builder's instance
    • setHeaders

      public OtlpGrpcLogRecordExporterBuilder 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. Applicable only if setChannel(ManagedChannel) is not used to set channel.
      Since:
      1.33.0
    • setRetryPolicy

      public OtlpGrpcLogRecordExporterBuilder 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
    • setMeterProvider

      public OtlpGrpcLogRecordExporterBuilder 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 OtlpGrpcLogRecordExporterBuilder 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
    • setMemoryMode

      public OtlpGrpcLogRecordExporterBuilder 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
    • build

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