• otel.resource.attributes=service.name=flowx-process-engine,service.version=1.1.1: Environment variable.

Will be overridden as environment variable by Kubernetes operator. Useful for local development.

Java agent configuration

  • otel.javaagent.enabled=true
  • otel.javaagent.logging=simple
  • otel.javaagent.debug=false

Disable OTEL SDK

  • otel.sdk.disabled=false

Exporters configuration (common config for all exporters)

  • otel.traces.exporter=otlp
  • otel.metrics.exporter=otlp
  • otel.logs.exporter=otlp

OTLP exporter

  • otel.exporter.otlp.endpoint=http://localhost:4317

Endpoint will be overridden by Kubernetes operator. Useful for local development.

  • otel.exporter.otlp.protocol=grpc
  • otel.exporter.otlp.timeout=10000
  • otel.exporter.otlp.compression=gzip
  • otel.exporter.otlp.metrics.temporality.preference=cumulative
  • otel.exporter.otlp.metrics.default.histogram.aggregation=explicit_bucket_histogram

Tracer provider

SdkTracerProvider specific configuration options.

  • Sampler: here
  • The default sampler is: parentbased_always_on
  • To disable FlowX technical spans, add sampler: fxTechnicalSpanFilterSampler
  • otel.traces.sampler=parentbased_always_on

Batch span processor

  • otel.bsp.schedule.delay=5000
  • otel.bsp.max.queue.size=2048
  • otel.bsp.max.export.batch.size=512
  • otel.bsp.export.timeout=30000

Meter provider

The following configuration options are specific to SdkMeterProvider.

  • otel.metric.export.interval=60000
  • otel.metric.export.timeout=10000

Logger provider

The following configuration options are specific to SdkLoggerProvider.

  • otel.blrp.schedule.delay=1000
  • otel.blrp.max.queue.size=2048
  • otel.blrp.max.export.batch.size=512
  • otel.blrp.export.timeout=30000

Agent auto-instrumentation

  • otel.instrumentation.messaging.experimental.receive-telemetry.enabled=false
  • otel.instrumentation.common.experimental.controller-telemetry.enabled=true
  • otel.instrumentation.common.experimental.view-telemetry.enabled=true
  • otel.instrumentation.common.default-enabled=false

Disable all auto instrumentation and enable only what’s necessary. This has to be commented out entirely to work as default.

Disable annotated methods

  • otel.instrumentation.opentelemetry-instrumentation-annotations.exclude-methods=my.package.MyClass1[method1,method2];my.package.MyClass2[method3]

Instrumentation config per library

Some instrumentation relies on other instrumentation to function properly. When selectively enabling instrumentation, be sure to enable the transitive dependencies too.

  • otel.instrumentation.opentelemetry-api.enabled=true
  • otel.instrumentation.opentelemetry-instrumentation-annotations.enabled=true
  • otel.instrumentation.opentelemetry-extension-annotations.enabled=false
  • otel.instrumentation.methods.enabled=true
  • otel.instrumentation.external-annotations.enabled=true
  • otel.instrumentation.kafka.enabled=true
  • otel.instrumentation.tomcat.enabled=true
  • otel.instrumentation.elasticsearch-transport.enabled=true
  • otel.instrumentation.elasticsearch-rest.enabled=true
  • otel.instrumentation.grpc.enabled=true
  • otel.instrumentation.hibernate.enabled=false

Hibernate and JDBC kind of duplicate the queries traces

  • otel.instrumentation.hikaricp.enabled=false

  • otel.instrumentation.java-http-client.enabled=true

  • otel.instrumentation.http-url-connection.enabled=true

  • otel.instrumentation.jdbc.enabled=false

  • otel.instrumentation.jdbc-datasource.enabled=false

  • otel.instrumentation.runtime-telemetry.enabled=true

  • otel.instrumentation.servlet.enabled=true

  • otel.instrumentation.executors.enabled=true

  • otel.instrumentation.java-util-logging.enabled=true

  • otel.instrumentation.log4j-appender.enabled=true

  • otel.instrumentation.log4j-mdc.enabled=true

  • otel.instrumentation.log4j-context-data.enabled=true

  • otel.instrumentation.logback-appender.enabled=true

  • otel.instrumentation.logback-mdc.enabled=true

  • otel.instrumentation.mongo.enabled=true

  • otel.instrumentation.rxjava.enabled=false

  • otel.instrumentation.reactor.enabled=false

Redis client imported by spring-redis-data

  • otel.instrumentation.lettuce.enabled=true

Spring instrumentation props

  • otel.instrumentation.spring-batch.enabled=false
  • otel.instrumentation.spring-core.enabled=true
  • otel.instrumentation.spring-data.enabled=true
  • otel.instrumentation.spring-jms.enabled=false
  • otel.instrumentation.spring-integration.enabled=false
  • otel.instrumentation.spring-kafka.enabled=true
  • otel.instrumentation.spring-rabbit.enabled=false
  • otel.instrumentation.spring-rmi.enabled=false
  • otel.instrumentation.spring-scheduling.enabled=false
  • otel.instrumentation.spring-web.enabled=true
  • otel.instrumentation.spring-webflux.enabled=false
  • otel.instrumentation.spring-webmvc.enabled=true
  • otel.instrumentation.spring-ws.enabled=false