io.opentelemetry.instrumentation.rocketmqclient.v4_8.RocketMqTelemetryBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of opentelemetry-rocketmq-client-4.8 Show documentation
Show all versions of opentelemetry-rocketmq-client-4.8 Show documentation
Instrumentation of Java libraries using OpenTelemetry.
The newest version!
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.instrumentation.rocketmqclient.v4_8;
import static java.util.Collections.emptyList;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import io.opentelemetry.api.OpenTelemetry;
import java.util.List;
/** A builder of {@link RocketMqTelemetry}. */
public final class RocketMqTelemetryBuilder {
private final OpenTelemetry openTelemetry;
private List capturedHeaders = emptyList();
private boolean captureExperimentalSpanAttributes;
RocketMqTelemetryBuilder(OpenTelemetry openTelemetry) {
this.openTelemetry = openTelemetry;
}
/**
* Sets whether experimental attributes should be set to spans. These attributes may be changed or
* removed in the future, so only enable this if you know you do not require attributes filled by
* this instrumentation to be stable across versions
*/
@CanIgnoreReturnValue
public RocketMqTelemetryBuilder setCaptureExperimentalSpanAttributes(
boolean captureExperimentalSpanAttributes) {
this.captureExperimentalSpanAttributes = captureExperimentalSpanAttributes;
return this;
}
/**
* Configures the messaging headers that will be captured as span attributes.
*
* @param capturedHeaders A list of messaging header names.
*/
@CanIgnoreReturnValue
public RocketMqTelemetryBuilder setCapturedHeaders(List capturedHeaders) {
this.capturedHeaders = capturedHeaders;
return this;
}
/**
* Returns a new {@link RocketMqTelemetry} with the settings of this {@link
* RocketMqTelemetryBuilder}.
*/
public RocketMqTelemetry build() {
return new RocketMqTelemetry(openTelemetry, capturedHeaders, captureExperimentalSpanAttributes);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy