---
title: Java agent OpenTelemetry settings
source: https://docs.newrelic.com/docs/apm/agents/java-agent/configuration/java-agent-configuration-opentelemetry-settings
---

OpenTelemetry settings configure the agent's integration with OpenTelemetry instrumentation and OTLP data export.

> #### 💡 TIP
>
> Back to the full settings index: [Java agent configuration](https://docs.newrelic.com/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file)

## OpenTelemetry [#opentelemetry]

Starting with Java agent version `9.1.0`, OpenTelemetry Tracing, Metrics, and Logs API compatibility has been added, offering a "best-of-both-worlds" experience by combining New Relic's deep visibility with OpenTelemetry signals.

With this functionality, OpenTelemetry Tracing, Metrics, and Logs APIs may be used to directly custom instrument your application, in combination with New Relic Java agent APIs, while the Java agent seemlessly combines it all together into a familiar APM experience. Additionally, some libraries that provide OpenTelemetry native or standalone library instrumentation may be used to provide enhanced visibility into your application.

The following configuration options determine which OpenTelemetry signals should be captured and incorporated into the New Relic APM experience.

```yml
  opentelemetry:
    enabled: false
    logs:
      enabled: true
    metrics:
      enabled: true
      include: "MeterName1,MeterName2"
      exclude: "MeterName3,MeterName4"
    traces:
      enabled: true
      include: "TracerName1,TracerName2"
      exclude: "TracerName3,TracerName4"
```

**enabled**

| Type    | Boolean |
| ------- | ------- |
| Default | `false` |

Set to true to allow individual OpenTelemetry signals to be enabled, false to disable all OpenTelemetry signals.
Default is false.

Can be set via the system property:

````ini
-Dnewrelic.config.opentelemetry.enabled=false
```

Can be set via the environment variable:
```ini
NEW_RELIC_OPENTELEMETRY_ENABLED
```

````

**logs.enabled**

| Type    | Boolean |
| ------- | ------- |
| Default | `true`  |

Set to true to enable OpenTelemetry Logs signals when `opentelemetry.enabled=true`.
Default is true.

Can be set via the system property:

````ini
-Dnewrelic.config.opentelemetry.logs.enabled=true
```

Can be set via the environment variable:
```ini
NEW_RELIC_OPENTELEMETRY_LOGS_ENABLED
```

````

**metrics.enabled**

| Type    | Boolean |
| ------- | ------- |
| Default | `true`  |

Set to true to enable OpenTelemetry Metrics signals when `opentelemetry.enabled=true`.
Default is true.

Can be set via the system property:

````ini
-Dnewrelic.config.opentelemetry.metrics.enabled=true
```

Can be set via the environment variable:
```ini
NEW_RELIC_OPENTELEMETRY_METRICS_ENABLED
```

````

**metrics.include**

| Type    | String |
| ------- | ------ |
| Default | (none) |

A comma-delimited string of OpenTelemetry Meters (e.g. "MeterName1,MeterName2") whose signals should be included. By default, all Meters are included. This will override any default Meter excludes in the agent, effectively re-enabling them.

Default is empty string.

Can be set via the system property:

````ini
-Dnewrelic.config.opentelemetry.metrics.include=MeterName1,MeterName2
```

Can be set via the environment variable:
```ini
NEW_RELIC_OPENTELEMETRY_METRICS_INCLUDE
```

````

**metrics.exclude**

| Type    | String |
| ------- | ------ |
| Default | (none) |

A comma-delimited string of OpenTelemetry Meters (e.g. "MeterName3,MeterName4") whose signals should be excluded.This takes precedence over all other includes/excludes sources, effectively disabling the listed Meters.

Default is empty string.

Can be set via the system property:

````ini
-Dnewrelic.config.opentelemetry.metrics.exclude=MeterName3,MeterName4
```

Can be set via the environment variable:
```ini
NEW_RELIC_OPENTELEMETRY_METRICS_EXCLUDE
```

````

**traces.enabled**

| Type    | Boolean |
| ------- | ------- |
| Default | `true`  |

Set to true to enable OpenTelemetry Traces signals when `opentelemetry.enabled=true`.
Default is true.

Can be set via the system property:

````ini
-Dnewrelic.config.opentelemetry.traces.enabled=true
```

Can be set via the environment variable:
```ini
NEW_RELIC_OPENTELEMETRY_TRACES_ENABLED
```

````

**traces.include**

| Type    | String |
| ------- | ------ |
| Default | (none) |

A comma-delimited string of OpenTelemetry Tracers (e.g. "TracerName1,TracerName2") whose signals should be included. By default, all Tracers are included. This will override any default Tracer excludes in the agent, effectively re-enabling them.

Default is empty string.

Can be set via the system property:

````ini
-Dnewrelic.config.opentelemetry.traces.include=TracerName1,TracerName2
```

Can be set via the environment variable:
```ini
NEW_RELIC_OPENTELEMETRY_TRACES_INCLUDE
```

````

**traces.exclude**

| Type    | String |
| ------- | ------ |
| Default | (none) |

A comma-delimited string of OpenTelemetry Tracers (e.g. "TracerName3,TracerName4") whose signals should be excluded. This takes precedence over all other includes/excludes sources, effectively disabling the listed Tracers.

Default is empty string.

Can be set via the system property:

````ini
-Dnewrelic.config.opentelemetry.traces.exclude=TracerName3,TracerName4
```

Can be set via the environment variable:
```ini
NEW_RELIC_OPENTELEMETRY_TRACES_EXCLUDE
```

````
