OpenTelemetry

OpenTelemetry is an open source, vendor neutral standard for distributed systems that can be used to keep track of the current state of the job. OpenTelemetry is a set of APIs, SDKs, tooling, and integrations designed to create and manage telemetry data such as traces and metrics.

Note: OpenTelemetry does not support checkpointing.

For more information about OpenTelemetry, see OpenTelemetry documentation.

Enabling or Disabling OpenTelemetry

OpenTelemetry can be enabled or disabled through Monitoring UI and the BW_JAVA_OPTS environment variable.

Monitoring UI

Enable or disable OpenTelemetry.

 

Configure the following engine property in the BW_JAVA_OPTS environment variable while running the application to enable and disable OpenTelemetry:

  • bw.engine.opentelemetry.enable=true.
    Note: By default, the property is false.

OpenTelemetry via OpenTelemetry-Collector

  1. Set up the OpenTelemetry-collector service. You can further integrate OpenTelemetry with a tracing service provider that is compliant with OpenTelemetry.

Note: The OpenTelemetry via OpenTelemetry-Collector is the recommended approach.

 

To configure OpenTelemetry native properties for traces, set the bw.opentelemetry.autoConfigured system property to True. Once if this property is set to true, you can use the environment variables https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/ listed out here.

Note: For this release only the Span environment variable is supported.

 

To configure AWS_XRAY for OpenTelemetry traces and metrics, set the bw.engine.opentelemetry.enable, bw.opentelemetry.aws.xrayIdGenerator, and bw.engine.opentelemetry.metric.enable system property to True.