PingDS 8.0.0

OpenTelemetry Plugin

The OpenTelemetry Plugin configures the OpenTelemetry library within PingDS for collecting telemetry data and pushing it to an OTLP endpoint.

Telemetry data is not business critical, therefore, in order to keep OpenTelemetry Plugin running, and only if the need arises, reaching a limit will result in dropping the excess telemetry data. This may include dropping any of the following or more: spans, events, links, attributes, truncating long strings, etc..

Parent

The OpenTelemetry Plugin object inherits from Plugin.

Dependencies

OpenTelemetry Plugins depend on the following objects:

OpenTelemetry Plugin properties

You can use configuration expressions to set property values at startup time. For details, see Property value substitution.

Basic Properties Advanced Properties

enabled
key-manager-provider
ssl-cert-nickname
tracer-exporter-otlp-endpoint
tracer-sampler
tracer-sampler-ratio
trust-manager-provider

invoke-for-internal-operations
java-class
plugin-type
tracer-exporter-batch-enabled
tracer-exporter-batch-exporter-timeout
tracer-exporter-batch-max-export-batch-size
tracer-exporter-batch-max-queue-size
tracer-exporter-batch-schedule-delay
tracer-exporter-connect-timeout
tracer-exporter-export-unsampled-spans
tracer-exporter-header
tracer-exporter-retry-backoff-multiplier
tracer-exporter-retry-initial-backoff
tracer-exporter-retry-max-attempts
tracer-exporter-retry-max-backoff
tracer-exporter-timeout
tracer-span-attribute-count-limit
tracer-span-attribute-count-limit-per-event
tracer-span-attribute-count-limit-per-link
tracer-span-event-count-limit
tracer-span-link-count-limit

Basic properties

Use the --advanced option to access advanced properties.

enabled

Synopsis

Indicates whether the plug-in is enabled for use.

Default value

None

Allowed values

true

false

Multi-valued

No

Required

Yes

Admin action required

None

Advanced

No

Read-only

No

key-manager-provider

Synopsis

Specifies the name of the key manager that should be used with this OpenTelemetry Plugin.

Default value

None

Allowed values

The name of an existing key-manager-provider.

The referenced key manager provider must be enabled.

Multi-valued

No

Required

No

Admin action required

None

Changes to this property take effect immediately, but only for subsequent requests to the authorization server.

Advanced

No

Read-only

No

ssl-cert-nickname

Synopsis

Specifies the nicknames (also called the aliases) of the keys or key pairs that the OpenTelemetry Plugin should use when performing SSL communication.

Description

The property can be used multiple times (referencing different nicknames) when server certificates with different public key algorithms are used in parallel (for example, RSA, DSA, and ECC-based algorithms). When a nickname refers to an asymmetric (public/private) key pair, the nickname for the public key certificate and associated private key entry must match exactly. A single nickname is used to retrieve both the public key and the private key. This is only applicable when the OpenTelemetry Plugin is configured to use SSL.

Default value

Let the server decide.

Allowed values

A string.

Multi-valued

Yes

Required

No

Admin action required

The object must be disabled and re-enabled for changes to take effect.

Advanced

No

Read-only

No

tracer-exporter-otlp-endpoint

Synopsis

Sets the OTLP/HTTP endpoint where the span exporter sends sampled spans.

Description

The endpoint must start with either http:// or https://, and include the full HTTP path.

Default value

Allowed values

A string.

Multi-valued

No

Required

Yes

Admin action required

None

Advanced

No

Read-only

No

tracer-sampler

Synopsis

The strategy used by the span exporter to sample spans. The sampling strategy is evaluated each time a span is started.

Default value

always-on

Allowed values

  • always-off: Samples no span at all.

  • always-on: Samples all the spans.

  • parentbased-always-off: Follows the sampling decisions of the parent span. If there is no parent span, the span is never sampled.

  • parentbased-always-on: Follows the sampling decisions of the parent span. If there is no parent span, the span is always sampled.

  • parentbased-traceidratio: Follows the sampling decisions of the parent span. If there is no parent span, fallback to using the "traceidratio" sampler.

  • traceidratio: Samples a ratio of spans. Prefer to use the "parentbased-traceidratio" sampler instead.

Multi-valued

No

Required

Yes

Admin action required

None

Advanced

No

Read-only

No

tracer-sampler-ratio

Synopsis

The sampling ratio (as a percentage) when the "traceidratio" or "parentbased-traceidratio" samplers are used.

Default value

10

Allowed values

An integer.

Lower limit: 0.

Upper limit: 100.

Multi-valued

No

Required

No

Admin action required

None

Advanced

No

Read-only

No

trust-manager-provider

Synopsis

Specifies the name of the trust manager that should be used when negotiating SSL connections with the remote authorization server.

Default value

By default, no trust manager is specified indicating that only certificates signed by the authorities associated with this JVM will be accepted.

Allowed values

The name of an existing trust-manager-provider.

The referenced trust manager provider must be enabled when SSL is enabled.

Multi-valued

No

Required

No

Admin action required

None

Changes to this property take effect immediately, but only impact subsequent SSL connection negotiations.

Advanced

No

Read-only

No

Advanced properties

Use the --advanced option to access advanced properties.

invoke-for-internal-operations

Synopsis

Indicates whether the plug-in should be invoked for internal operations.

Description

Any plug-in that can be invoked for internal operations must ensure that it does not create any new internal operations that can cause the same plug-in to be re-invoked.

Default value

true

Allowed values

true

false

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

java-class

Synopsis

Specifies the fully-qualified name of the Java class that provides the plug-in implementation.

Default value

org.opends.server.plugins.OpenTelemetryPlugin

Allowed values

A Java class that extends or implements:

  • org.opends.server.api.plugin.DirectoryServerPlugin

Multi-valued

No

Required

Yes

Admin action required

None

Advanced

Yes

Read-only

No

plugin-type

Synopsis

Specifies the set of plug-in types for the plug-in, which specifies the times at which the plug-in is invoked.

Default value

shutdown

Allowed values

  • initialization: Invoked at the initialization of the directory server.

  • intermediateresponse: Invoked before sending an intermediate response message to the client.

  • ldifimport: Invoked for each entry read during an LDIF import.

  • ldifimportbegin: Invoked at the beginning of an LDIF import session.

  • ldifimportend: Invoked at the end of an LDIF import session.

  • postcommitadd: Invoked after completing post-commit processing for an add operation.

  • postcommitdelete: Invoked after completing post-commit processing for a delete operation.

  • postcommitmodify: Invoked after completing post-commit processing for a modify operation.

  • postcommitmodifydn: Invoked after completing post-commit processing for a modify DN operation.

  • postconnect: Invoked whenever a new connection is established to the server.

  • postdisconnect: Invoked whenever an existing connection is terminated (by either the client or the server).

  • postoperationabandon: Invoked after completing the abandon processing.

  • postoperationadd: Invoked after completing the core add processing but before sending the response to the client.

  • postoperationbind: Invoked after completing the core bind processing but before sending the response to the client.

  • postoperationcompare: Invoked after completing the core compare processing but before sending the response to the client.

  • postoperationdelete: Invoked after completing the core delete processing but before sending the response to the client.

  • postoperationextended: Invoked after completing the core extended processing but before sending the response to the client.

  • postoperationmodify: Invoked after completing the core modify processing but before sending the response to the client.

  • postoperationmodifydn: Invoked after completing the core modify DN processing but before sending the response to the client.

  • postoperationsearch: Invoked after completing the core search processing but before sending the response to the client.

  • postoperationunbind: Invoked after completing the unbind processing.

  • postresponseadd: Invoked after sending the add response to the client.

  • postresponsebind: Invoked after sending the bind response to the client.

  • postresponsecompare: Invoked after sending the compare response to the client.

  • postresponsedelete: Invoked after sending the delete response to the client.

  • postresponseextended: Invoked after sending the extended response to the client.

  • postresponsemodify: Invoked after sending the modify response to the client.

  • postresponsemodifydn: Invoked after sending the modify DN response to the client.

  • postresponsesearch: Invoked after sending the search result done message to the client.

  • postsynchronizationadd: Invoked after completing post-synchronization processing for an add operation.

  • postsynchronizationdelete: Invoked after completing post-synchronization processing for a delete operation.

  • postsynchronizationmodify: Invoked after completing post-synchronization processing for a modify operation.

  • postsynchronizationmodifydn: Invoked after completing post-synchronization processing for a modify DN operation.

  • preoperationadd: Invoked prior to performing the core add processing.

  • preoperationbind: Invoked prior to performing the core bind processing.

  • preoperationcompare: Invoked prior to performing the core compare processing.

  • preoperationdelete: Invoked prior to performing the core delete processing.

  • preoperationextended: Invoked prior to performing the core extended processing.

  • preoperationmodify: Invoked prior to performing the core modify processing.

  • preoperationmodifydn: Invoked prior to performing the core modify DN processing.

  • preoperationsearch: Invoked prior to performing the core search processing.

  • preparseabandon: Invoked prior to parsing an abandon request.

  • preparseadd: Invoked prior to parsing an add request.

  • preparsebind: Invoked prior to parsing a bind request.

  • preparsecompare: Invoked prior to parsing a compare request.

  • preparsedelete: Invoked prior to parsing a delete request.

  • preparseextended: Invoked prior to parsing an extended request.

  • preparsemodify: Invoked prior to parsing a modify request.

  • preparsemodifydn: Invoked prior to parsing a modify DN request.

  • preparsesearch: Invoked prior to parsing a search request.

  • preparseunbind: Invoked prior to parsing an unbind request.

  • searchresultentry: Invoked before sending a search result entry to the client.

  • searchresultreference: Invoked before sending a search result reference to the client.

  • shutdown: Invoked during a graceful directory server shutdown.

  • startup: Invoked during the directory server startup process.

  • subordinatedelete: Invoked in the course of deleting a subordinate entry of a delete operation.

  • subordinatemodifydn: Invoked in the course of moving or renaming an entry subordinate to the target of a modify DN operation.

Multi-valued

Yes

Required

Yes

Admin action required

The object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-only

No

tracer-exporter-batch-enabled

Synopsis

Whether spans are exported in batches, or one at a time as they finish.

Description

Setting this value to "false" is highly discouraged unless you know what you’re doing. This should only be used for troubleshooting very specific scenarios. It will cause all spans to be exported directly as they finish, meaning each export request will have a single

Default value

true

Allowed values

true

false

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-batch-exporter-timeout

Synopsis

The maximum time an export will be allowed to run before being cancelled and spans are dropped.

Default value

30 s

Allowed values

Lower limit: 1 milliseconds.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-batch-max-export-batch-size

Synopsis

The maximum number of spans that can be sent in a batch for each export.

Default value

512

Allowed values

An integer.

Lower limit: 0.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-batch-max-queue-size

Synopsis

The maximum number of spans that are kept in the queue. Excess spans are dropped.

Default value

2048

Allowed values

An integer.

Lower limit: 0.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-batch-schedule-delay

Synopsis

The interval between two consecutive exports.

Default value

5 s

Allowed values

Lower limit: 1 milliseconds.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-connect-timeout

Synopsis

Maximum time to wait for new connections to be established

Default value

10 s

Allowed values

Lower limit: 1 milliseconds.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-export-unsampled-spans

Synopsis

Whether unsampled spans should be exported.

Default value

false

Allowed values

true

false

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-header

Synopsis

Headers that will be added to requests made to the OTLP endpoint.

Default value

No additional headers are sent out.

Allowed values

Header_name ':' optional_spaces header_value

Multi-valued

Yes

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-retry-backoff-multiplier

Synopsis

The backoff multiplier

Description

Once the next random backoff interval has been chosen randomly, it is multiplied by this value.

Default value

1.5

Allowed values

A floating point number

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-retry-initial-backoff

Synopsis

The initial backoff before retrying exporting spans

Default value

1 s

Allowed values

Lower limit: 1 milliseconds.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-retry-max-attempts

Synopsis

The maximum number of attempts to retry exporting spans, including the original request.

Description

After the maximum number of unsuccessful attempts is reached, the spans are dropped.

Default value

5

Allowed values

An integer.

Lower limit: 0.

Upper limit: 10000.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-retry-max-backoff

Synopsis

Set the maximum backoff interval before attempting again to export spans.

Description

The next random backoff interval is chosen randomly, whose upper bound is the maximum backoff interval.

Default value

5 s

Allowed values

Lower limit: 1 milliseconds.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-exporter-timeout

Synopsis

Maximum time to wait for the collector to process an exported batch of spans

Default value

10 s

Allowed values

Lower limit: 1 milliseconds.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-span-attribute-count-limit

Synopsis

The maximum number of attributes recorded per span. Excess attributes are dropped.

Default value

128

Allowed values

An integer.

Lower limit: 0.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-span-attribute-count-limit-per-event

Synopsis

The maximum number of attributes recorded per event. Excess attributes are dropped.

Default value

128

Allowed values

An integer.

Lower limit: 0.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

Synopsis

The maximum number of attributes recorded per link. Excess attributes are dropped.

Default value

128

Allowed values

An integer.

Lower limit: 0.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

tracer-span-event-count-limit

Synopsis

The maximum number of events per span. Excess events are dropped.

Default value

128

Allowed values

An integer.

Lower limit: 0.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No

Synopsis

The maximum number of links per span. Excess links are dropped.

Default value

128

Allowed values

An integer.

Lower limit: 0.

Multi-valued

No

Required

No

Admin action required

None

Advanced

Yes

Read-only

No