Update dependency io.opentelemetry:opentelemetry-proto to v0.17.1 #2576
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.3.0
->0.17.1
Release Notes
open-telemetry/opentelemetry-java (io.opentelemetry:opentelemetry-proto)
v0.17.1
Compare Source
ResourceProvider
interface from the SDK. This interface is still availablein the
opentelemetry-sdk-extension-autoconfigure
module, where it is actually used.v0.17.0
Compare Source
General
Note: In an effort to accelerate our work toward a 1.0.0 release, we have skipped the deprecation phase
on a number of breaking changes. We apologize for the inconvenience this may have caused. We are very
aware that these changes will impact users. If you need assistance in migrating from previous releases,
please open a discussion topic at
https://github.com/open-telemetry/opentelemetry-java/discussions.
Many classes have been made final that previously were not. Please reach out if you have a need to
provide extended functionality, and we can figure out how best to solve your use-case.
API
Breaking Changes
TraceStateBuilder.set(String, String)
has been renamed toTraceStateBuilder.put(String, String)
.BaggageBuilder.setParent()
andBaggageBuilder.setNoParent()
have been removed from the Baggage APIs.In addition, Baggage will no longer be implicitly generated from Baggage that is in the current context. You now must explicitly
get the
Baggage
instance from theContext
and calltoBuilder()
on it in order to get the entries pre-populated in your builder.TextMapPropagator.Setter
andTextMapPropagator.Getter
have been moved to the top level and renamed toTextMapSetter
andTextMapGetter
respectively.OpenTelemetry.getDefault()
has been renamed toOpenTelemetry.noop()
.OpenTelemetry.getPropagating()
has been renamed toOpenTelemetry.propagating()
.TracerProvider.getDefault()
has been renamed toTracerProvider.noop()
Tracer.getDefault()
has been removed.TraceId.getTraceIdRandomPart(CharSequence)
has been removed.B3Propagator.getInstance()
has been renamed toB3Propagator.injectingSingleHeader()
.B3Propagator.builder()
method has been removed. As a replacement, you can useB3Propagator.injectingMultiHeaders()
directly.SDK
Breaking Changes
opentelemetry-sdk-extension-autoconfigure
module.This means that
Resource.getDefault()
will no longer be populated via SPI, but only include the bare minimum values from the SDK itself.In order to get the auto-configured Resource attributes, you will need to use the
opentelemetry-sdk-extension-autoconfigure
module directly.InstrumentationLibraryInfo.getEmpty()
has been renamed toInstrumentationLibraryInfo.empty()
.Resource.getEmpty()
has been renamed toResource.empty()
.the
http://
orhttps://
in front of your endpoint.SpanLimits
to truncate String-valued Span attributes has been removed (this is still pending in the specification).InMemoryMetricsExporter
has been removed from theopentelemetry-sdk-testing
module.Miscellaneous
Extensions
Breaking Changes
opentelemetry-sdk-extension-autoconfigure
module, we have changed the system property used to exclude some Resource auto-populators to beotel.java.disabled.resource-providers
instead ofotel.java.disabled.resource_providers
.opentelemetry-sdk-extension-autoconfigure
module, you now specify theOtTracePropagator
with the"ottrace"
option, rather than"ottracer"
.opentelemetry-sdk-extension-autoconfigure
module, the default exporters are now set to be"otlp"
, as required by the 1.0.0 specification.opentelemetry-sdk-extension-autoconfigure
module, the default propagators are now set to be"tracecontext,baggage"
, as required by the 1.0.0 specification.CommonProperties
class has been removed from theopentelemetry-sdk-extension-otproto
module.Metrics (alpha)
API
Meter.getDefault()
has been removed.MeterProvider.getDefault()
has been renamed toMeterProvider.noop()
.v0.16.0
Compare Source
General
Note: In an effort to accelerate our work toward a 1.0.0 release, we have skipped the deprecation phase
on a number of breaking changes. We apologize for the inconvenience this may have caused. We are very
aware that these changes will impact users. If you need assistance in migrating from previous releases,
please open a discussion topic at
https://github.com/open-telemetry/opentelemetry-java/discussions.
Breaking Changes
API
Breaking Changes
Span.Kind
enum has been moved to the top level, and namedSpanKind
.DefaultOpenTelemetry
is no longer a public class. If you need the functionality previously provided by thisimplementation, it can be accessed via new static methods on the
OpenTelemetry
interface itself.TraceFlags
interface has been re-introduced. This is now used, rather than a barebyte
wherevertrace flags is used. In particular,
SpanContext.create()
,SpanContext.createFromRemoteParent()
now requirea
TraceFlags
instance, andSpanContext.getTraceFlags()
returns aTraceFlags
instance.TraceFlags
have been normalized to match other similar classes, and nowreturn
TraceFlags
instead ofbyte
where appropriate.Labels
interface and related classes have been moved into the alpha metrics modules and repackaged.TraceId.copyHexInto(byte[] traceId, char[] dest, int destOffset)
has been removed.SpanContext.getTraceIdAsHexString()
has been renamed toSpanContext.getTraceId()
SpanContext.getSpanIdAsHexString()
has been renamed toSpanContext.getSpanId()
BaggageEntry.getEntryMetadata()
has been renamed toBaggageEntry.getMetadata()
BaggageConsumer
has been removed in favor of a standardjava.util.function.BiConsumer<String, BaggageEntry>
TraceFlags.isSampledFromHex(CharSequence src, int srcOffset)
has been removed.SpanId
andTraceId
methods that had aString
parameter now acceptCharSequence
and assume the id starts at the beginning.
SpanId.getSize()
andTraceId.getSize()
have been removed.SpanId.bytesFromHex()
has been removed.SpanId.asLong(CharSequence)
has been removed.SpanId.asBytes(CharSequence)
has been removed.SpanId.getHexLength()
has been renamed toSpanId.getLength()
SpanId.bytesToHex()
has been renamed toSpanId.fromBytes()
TraceId.bytesFromHex()
has been removed.TraceId.traceIdLowBytesAsLong(CharSequence)
has been removed.TraceId.traceIdHighBytesAsLong(CharSequence)
has been removed.TraceId.asBytes(CharSequence)
has been removed.TraceId.getHexLength()
has been renamed toTraceId.getLength()
TraceId.bytesToHex()
has been renamed toTraceId.fromBytes()
StrictContextStorage
has been made private. Use -Dio.opentelemetry.context.enableStrictContext=true` to enable itAwsXrayPropagator
has been moved to theopentelemetry-extension-aws
artifactEnhancements
W3CTraceContextPropagator
class now directly implements theTextMapPropagator
interface.OpenTelemetry
interface now has agetDefault()
method which will return a completely no-op implementation.OpenTelmmetry
interface now has agetPropagating(ContextPropagators propagators)
method which willreturn an implementation that contains propagators, but is otherwise no-op.
Misc Notes
StringUtils
class has had metrics-related methods removed from it. But, you weren't usinginternal classes, were you?
AbstractWeakConcurrentMap
class has been made non-public. See the line above about internal classes.Extensions
Breaking Changes
OtTracerPropagator
has been renamed toOtTracePropagator
in the trace-propagators extension module.SDK
Breaking Changes
TraceConfig
has been renamed toSpanLimits
and relocated to theio.opentelemetry.sdk.tracing
package.All related method names have been renamed to match.
SpanData.getTraceState()
has been removed. The TraceState is still available via the SpanContext accessor.SpanData.isSampled()
has been removed. The isSampled property is still available via the SpanContext accessor.Enhancements
SpanData
now directly exposes the underlyingSpanContext
instance.SDK Extensions
Breaking Changes
opentelemetry-autoconfigure
module, three environment variables/system propertieshave been renamed to match the spec:
OTEL_TRACE_EXPORTER
/otel.trace.exporter
has been replaced withOTEL_TRACES_EXPORTER
/otel.traces.exporter
OTEL_TRACE_SAMPLER
/otel.trace.sampler
has been replaced withOTEL_TRACES_SAMPLER
/otel_traces_sampler
OTEL_TRACE_SAMPLER_ARG
/otel.trace.sampler.arg
has been replaced withOTEL_TRACES_SAMPLER_ARG
/otel.traces.sampler.arg
Enhancements
opentelemetry-autoconfigure
module now supports using non-millisecond values for duration &interval configuration options. See the javadoc on the
io.opentelemetry.sdk.autoconfigure.ConfigProperties.getDuration(String)
method for details on supported formats.
opentelemetry-autoconfigure
module now provides automatic SPI-based parsing of theOTEL_RESOURCE_ATTRIBUTES
env var(and the corresponding
otel.resource.attributes
system property). If you include this module on yourclasspath, it will automatically update the
Resource.getDefault()
instance with that configuration.Metrics (alpha)
API
Labels
interface has been moved into the metrics API module and repackaged into theio.opentelemetry.api.metrics.common
package.v0.15.0
Compare Source
General
Breaking Changes
Semantic Conventions
The
opentelemetry-semconv
module has been marked as-alpha
and removed from the bom. This was done because the OpenTelemetryproject has not decided on a specification for stability of semantic conventions or the specific telemetry produced by
instrumentation.
Deprecations
io.opentelemetry.semconv.trace.attributes.SemanticAttributes
which were previouslygenerated form the Resource semantic conventions have been deprecated. Please use the ones in the new
io.opentelemetry.semconv.resource.attributes.ResourceAttributes
class.Enhancements
io.opentelemetry.semconv.resource.attributes.ResourceAttributes
has been introduced to hold thegenerated semantic attributes to be used in creating
Resource
s.SDK
Breaking Changes
SamplingResult.Decision
has been removed in favor of theio.opentelemetry.sdk.trace.samplers.SamplingDecision
top-level class.Resource.merge(Resource)
now will resolve conflicts by preferring theResource
passed in, rather than the original.Resource.getDefault()
) now includes a fallbackservice.name
attribute. The implicationof this is that exporters that have configured fallback service names will only use them if the SDK is intentionally
configured with a Resource that does not utilize the default Resource for its underlying Resource data.
Sampler
is now specified when building the SdkTracerProvider directly, rather than being a part of the TraceConfig.Bugfixes
Deprecations
http://
orhttps://
.We will support endpoints without schemes until the next release, at which point not providing a scheme will generate
an error when trying to use them. This applies to the use of system properties, environment variables, or programmatic
specifications of the endpoints.
exportOnlySampled
configuration of theBatchSpanProcessor
has been deprecated and will be removed in the nextrelease.
io.opentelemetry.sdk.resources.ResourceAttributes
has been deprecated and will be removed in the next release.Please use the new
io.opentelemetry.semconv.resource.attributes.ResourceAttributes
class in theopentelemetry-semconv
module.
configuration options will be removed, and the fallback
service.name
will always be pulled from the default Resource.Enhancements
Resource.getDefault()
now includes a fallbackservice.name
attribute. Exporters that require aservice.name
should acquire the fallback from the default resource, rather than having it configured in.
SDK Extensions
Breaking Changes
otel.bsp.schedule.delay.millis
env var/system property configuration option for the batch span processor has been renamed tootel.bsp.schedule.delay
to match the specification.otel.bsp.export.timeout.millis
env var/system property configuration option for the batch span processor has been renamed tootel.bsp.export.timeout
to match the specification.Enhancements
opentelemetry-sdk-extension-autoconfigure
module will now additionally register the auto-configuredSDK as the instance of
GlobalOpenTelemetry
when used.opentelemetry-sdk-extension-autoconfigure
module now supports theotel.exporter.otlp.certificate
configurationproperty for specifying a path to a trusted certificate for the OTLP exporters.
v0.14.1
Compare Source
General
-alpha
appended on their versions:opentelemetry-sdk-extension-jfr-events
opentelemetry-sdk-extension-async-processor
opentelemetry-sdk-extension-logging
opentelemetry-sdk-extension-zpages
opentelemetry-sdk-exporter-prometheus
opentelemetry-sdk-exporter-tracing-incubator
opentelemetry-opentracing-shim
opentelemetry-opencensus-shim
API
Breaking Changes
0.13.0
has been removed from the project.opentelemetry-pom
or from theopentelemetry-api
modules.To access the alpha metrics APIs, you will need to explicitly add them as a dependency.
OpenTelemetry.setPropagators()
has been removed. You should instead create yourOpenTelemetry
implementations with the Propagators preset, via the various builder options. For example, useDefaultOpenTelemetry.builder().setPropagators(propagators).build()
to configure your no-sdk implementation.OpenTelemetry.builder()
and theOpenTelemetryBuilder
interface have been removed.The builder functionality is now only present on individual implementations of OpenTelemetry. For instance, the
DefaultOpenTelemetry
class has a builder available.Deprecations
opentelemetry-semconv
and repackaged into a new package:io.opentelemetry.semconv.trace.attributes
. The oldSemanticAttributes
class will be removed in the next release.new SDK auto-configuration module:
io.opentelemetry.sdk.autoconfigure
. This module should be considered the officiallysupported auto-configuration library moving forward.
Enhancements
SDK
Bugfixes
split on commas, rather than semicolons. This has been brought in line with the specification for these environment
variables. This includes
otel.exporter.otlp.span.headers
,otel.exporter.otlp.metric.headers
, andotel.exporter.otlp.headers
.provided in place of the missing name.
Breaking Changes
SpanData.Link.getContext()
method has been removed in favor ofSpanData.Link.getSpanContext()
.TracerProviderFactorySdk
SPI class has been renamed toSdkTracerProviderFactory
.OpenTelemetrySdkBuilder.build()
method has been renamed toOpenTelemetrySdkBuilder.buildAndRegisterGlobal()
.The
build()
method still exists, but no longer sets the instance on theGlobalOpenTelemetry
when invoked.SdkTracerManagement.shutdown()
method now returnsCompletableResultCode
which can be used to waitasynchronously for shutdown to complete.
sampling.probability
sampling attribute previously generated by theTraceIdRatioBasedSampler
is no longergenerated, as it was not conformant with the specifications.
SpanData
inner classes have been moved to the top level, soSpanData.Link
->LinkData
,SpanData.Event
->EventData
and
SpanData.Status
->StatusData
.Deprecations
SdkTracerProvider.updateActiveTraceConfig()
andSdkTracerProvider.addSpanProcessor()
have been deprecated. The methodswill be removed in the next release.
io.opentelemetry.sdk.autoconfigure
module. The existing ones will be removed in the next release.
of the word "timeout". The deadline-named methods will be removed in the next release.
StringUtils
class in theopentelemetry-extension-trace-propagators
extension module has been deprecatedand will be made non-public in the next release.
StatusData.isUnset()
andStatusData.isOk()
methods have been deprecated. They will be removed in the next release.Enhancements
OtlpGrpcSpanExporter
now supports setting trusted TLS certificates for secure communication with the collector.io.opentelemetry.sdk.autoconfigure
willbe the new path for auto-configuration of the SDK, including via SPI, environment variables and system properties.
TraceConfig
class now exposes abuilder()
method directly, so you don't need to get the default then calltoBuilder()
on it.0.7.0
.Both the
Span
and (alpha)Metric
exporters were updated to match.java.util.concurrent.TimeUnit
andjava.time.Duration
based configurations,rather than requiring milliseconds.
SDK Extensions
Breaking Changes
SDK implementation directly, rather than it adding itself to the global SDK instance.
of the builders in the project.
Deprecations
AwsXrayIdGenerator
constructor has been deprecated in favor of using a simplegetInstance()
singleton, sinceit has no state.
TraceProtoUtils
class in theopentelemetry-sdk-extension-otproto
module has been deprecated andwill be removed in the next release.
Bugfixes
Metrics (alpha)
SDK:
InstrumentSelector.newBuilder()
method has been renamed toInstrumentSelector.builder()
andthe methods on the Builder have changed to use the same naming patterns as the rest of the project.
MeterProviderFactorySdk
class has been renamed toSdkMeterProviderFactory
.SdkMeterProvicer.Builder
has been moved to the top levelSdkMeterProviderBuilder
.InstrumentSelector
now requires an instrument type to be provided, and defaults the name regex to.*
.v0.14.0
: Version 0.14.0Compare Source
Note : This release has been superceded by 0.14.1
This release had issues with publishing the
opentelemetry-bom
to maven central. This was addressed in v0.14.1.General
-alpha
appended on their versions:opentelemetry-sdk-extension-jfr-events
opentelemetry-sdk-extension-async-processor
opentelemetry-sdk-extension-logging
opentelemetry-sdk-extension-zpages
opentelemetry-sdk-exporter-prometheus
opentelemetry-sdk-exporter-tracing-incubator
opentelemetry-opentracing-shim
opentelemetry-opencensus-shim
API
☢️ Breaking Changes
0.13.0
has been removed from the project.opentelemetry-pom
or from theopentelemetry-api
modules.To access the alpha metrics APIs, you will need to explicitly add them as a dependency.
OpenTelemetry.setPropagators()
has been removed. You should instead create yourOpenTelemetry
implementations with the Propagators preset, via the various builder options. For example, useDefaultOpenTelemetry.builder().setPropagators(propagators).build()
to configure your no-sdk implementation.OpenTelemetry.builder()
and theOpenTelemetryBuilder
interface have been removed.The builder functionality is now only present on individual implementations of OpenTelemetry. For instance, the
DefaultOpenTelemetry
class has a builder available.📈 Enhancements
🌟 Miscellaneous
opentelemetry-semconv
and repackaged into a new package:io.opentelemetry.semconv.trace.attributes
. The oldSemanticAttributes
class will be removed in the next release.new SDK auto-configuration module:
io.opentelemetry.sdk.autoconfigure
. This module should be considered the officiallysupported auto-configuration library moving forward.
SDK
🛠️ Bugfixes:
split on commas, rather than semicolons. This has been brought in line with the specification for these environment
variables. This includes
otel.exporter.otlp.span.headers
,otel.exporter.otlp.metric.headers
, andotel.exporter.otlp.headers
.provided in place of the missing name.
☢️ Breaking Changes
SpanData.Link.getContext()
method has been removed in favor ofSpanData.Link.getSpanContext()
.TracerProviderFactorySdk
SPI class has been renamed toSdkTracerProviderFactory
.OpenTelemetrySdkBuilder.build()
method has been renamed toOpenTelemetrySdkBuilder.buildAndRegisterGlobal()
.The
build()
method still exists, but no longer sets the instance on theGlobalOpenTelemetry
when invoked.SdkTracerManagement.shutdown()
method now returnsCompletableResultCode
which can be used to waitasynchronously for shutdown to complete.
sampling.probability
sampling attribute previously generated by theTraceIdRatioBasedSampler
is no longergenerated, as it was not conformant with the specifications.
SpanData
have been moved to the top level📈 Enhancements
OtlpGrpcSpanExporter
now supports setting trusted TLS certificates for secure communication with the collector.io.opentelemetry.sdk.autoconfigure
willbe the new path for auto-configuration of the SDK, including via SPI, environment variables and system properties.
TraceConfig
class now exposes abuilder()
method directly, so you don't need to get the default then calltoBuilder()
on it.0.7.0
.Both the
Span
and (alpha)Metric
exporters were updated to match.java.util.concurrent.TimeUnit
andjava.time.Duration
based configurations,rather than requiring milliseconds.
Closeable
StatusData.isUnset
andStatusData.isOk
have been deprecated and will be removed in the following release🌟 Miscellaneous
SdkTracerProvider.updateActiveTraceConfig()
andSdkTracerProvider.addSpanProcessor()
have been deprecated. The methodswill be removed in the next release.
io.opentelemetry.sdk.autoconfigure
module. The existing ones will be removed in the next release.
of the word "timeout". The deadline-named methods will be removed in the next release.
StringUtils
class in theopentelemetry-extension-trace-propagators
extension module has been deprecatedand will be made non-public in the next release.
Extensions
☢️ Breaking Changes
SDK implementation directly, rather than it adding itself to the global SDK instance.
of the builders in the project.
🛠️ Bugfixes:
🌟 Miscellaneous
AwsXrayIdGenerator
constructor has been deprecated in favor of using a simplegetInstance()
singleton, sinceit has no state.
TraceProtoUtils
class in theopentelemetry-sdk-extension-otproto
module has been deprecated andwill be removed in the next release.
v0.13.1
: Version 0.13.1Compare Source
BUGFIX patch release
Notes:
An easy way to see all the latest (non-alpha) dependencies is to examine the
pom
from theopentelemetry-bom
module: https://search.maven.org/artifact/io.opentelemetry/opentelemetry-bom/0.13.1/pomv0.13.0
Compare Source
General
-alpha
appended to theirbase version numbers to make it clear they are not production ready, and will not be when we get to releasing 1.0.
See our Rationale document for details.
API
Breaking Changes
Labels.ArrayBackedLabelsBuilder
class has been made non-public.You can still access the
LabelsBuilder
functionality via theLabels.builder()
method.HttpTraceContext
class has been removed.toBuilder()
method on the OpenTelemetry interface has been removed.Attributes.builder(Attributes)
method has been removed in favor ofAttributes.toBuilder(Attributes)
.DefaultContextPropagators
class has made non-public.TraceMultiPropagator
builder has been removed in favor of a simple factory method.value()
method on theStatusCode
enum has been removed.EntryMetadata
class has been removed in favor of theBaggageEntryMetadata
interface.setCallback()
method on the asynchronous metric instruments has been removed.final
.Enhancements
asMap
method has been added to theLabels
interface, to expose them as ajava.util.Map
.-Dio.opentelemetry.context.enableStrictContext=true
)Enabling this mode will make sure that all
Scope
s that are created are closed, and generate log messages if theyare not closed before being garbage collected. This mode of operation is CPU intensive, so be careful before
enabling it in high-throughput environments that do not need this strict verification. See the javadoc on the
io.opentelemetry.context.Context
interface for details.Span
interface have been given default implementations.Miscellaneous
opentelemetry-api
module, in preparation for releasing a fully-stable 1.0version of that module. The Metrics API will be removed from the module in the next release.
If you depend on the
opentelemetry-api
module, you should get the rest of the API modules as transitive dependencies.OpenTelemetry.builder()
and theOpenTelemetryBuilder
interface have been deprecated and will be removed in the next release.The builder functionality is now only present on individual implementations of OpenTelemetry. For instance, the
DefaultOpenTelemetry
class has a builder available.OpenTelemetry.setPropagators()
has been deprecated and will be removed in the next release. You should instead create yourOpenTelemetry
implementations with the Propagators preset, via the various builder options. For example, useDefaultOpenTelemetry.builder().setPropagators(propagators).build()
to configure your no-sdk implementation.SDK
Miscellaneous
SpanData.Link.getContext()
method has been deprecated in favor of a newSpanData.Link.getSpanContext()
.The deprecated method will be removed in the next release of the SDK.
opentelemetry-sdk-extension-otproto
module so they can be shared across OTLP usages.Breaking Changes
Sdk
rather than havingSdk
being embedded in the middle of the name.For example,
TracerSdk
has been renamed toSdkTracer
andTracerSdkManagement
has been renamed toSdkTracerManagement
.ResourcesConfig.builder()
method has been made non-public.TraceConfig.Builder
class has been moved to the top-levelTraceConfigBuilder
class.Builder
classes have been moved to the top level, rather than inner classes. Access to the buildersis still available via
builder()
methods on the exporter classes.Builder
classes have been moved to the top level, rather than inner classes. Access to the buildersis still available via
builder()
methods on the SpanProcessor implementation classes.Builder
class has been moved to the top level, rather than inner classes. Access to the builderis still available via methods on the Sampler interface.
DaemonThreadFactory
class has been moved to an internal module and should not be used outside of this repository.OpenTelemetrySdk
class has been slimmed down. The configurable details have been moved intothe specific provider builders, where they apply more specifically and obviously.
final
.shutdown()
method now returnsCompletableResultCode
rather than void.OpenTelemetrySdk
's builder class has been moved to the top level, rather than being an inner class. It has been renamed toOpenTelemetrySdkBuilder
as a part of that change.-alpha
version.If you continue to depend on the
opentelemetry-exporters-otlp
module, you will only get the trace exporter as a transitive dependency.Extensions
Bugfixes
opentelemetry-extension-annotations
module now includes the api module as anapi
dependency, rather than justimplementation
.Breaking Changes
opentelemetry-extension-runtime-metrics
module has been removed. The functionality is available in theopentelemetry-java-instrumentation project under a different module name.
trace-utils
module has been removed.final
.Enhancements
opentelemetry-sdk-extension-otproto
module so they canbe shared across OTLP exporters.
v0.12.0
Compare Source
API
Bugfixes
OpenTelemetry
instances were being delegated to the global Meter and Tracer.This has been corrected, and all instances should have independent Tracer and Meter instances.
Breaking Changes
AttributesBuilder
no long accepts null values for array-valued attributes with numeric or boolean types.TextMapPropagator.fields()
method now returns aCollection
rather than aList
.Labels
has been converted to an interface, from an abstract class. Its API has otherwise remained the same.TraceState
has been converted to an interface, from an abstract class. Its API has otherwise remained the same.Attributes
has been converted to an interface, from an abstract class. Its API has otherwise remained the same.ReadableAttributes
interface has been removed, as it was redundant with theAttributes
interface. All APIs thatused or returned
ReadableAttributes
should accept or return standardAttributes
implementations.SpanContext
has been converted to an interface, from an abstract class. Its API has otherwise remained the same.AttributeConsumer
interface has been removed and replaced with a standardjava.util.function.BiConsumer
.BaggageBuilder.put(String, String, EntryMetadata entryMetadata)
method has been changed to
put(String, String, BaggageEntryMetadata)
Enhancements
builder()
method has been added to the OpenTelemetry interface to facilitate constructing implementations.asMap()
method has been added to theAttributes
interface to enable conversion to a standardjava.util.Map
.asMap()
method has been added to theBaggage
interface to enable conversion to a standardjava.util.Map
.asMap()
method has been added to theTraceState
interface to enable conversion to a standardjava.util.Map
.Miscellaneous
HttpTraceContext
class has been deprecated in favor ofW3CTraceContextPropagator
.HttpTraceContext
will be removed in 0.13.0.toBuilder()
method on the OpenTelemetry interface has been deprecated and will be removed in 0.13.0.DefaultContextPropagators
class has been deprecated. Access to it will be removed in 0.13.0.TraceMultiPropagator
builder has been deprecated in favor of a simple factory method. The builder will be removed in 0.13.0.You can access the same functionality via static methods on the
ContextPropagators
interface.setCallback()
method on the asynchronous metric instruments has been deprecated and will be removed in 0.13.0.Instead, use the
setCallback()
method on the builder for the instruments.value()
method on theStatusCode
enum has been deprecated and will be removed in 0.13.0.EntryMetadata
class has been deprecated in favor of theBaggageEntryMetadata
interface. The class will be made non-public in 0.13.0.Extensions
opentelemetry-extension-runtime-metrics
module has been deprecated. The functionality is available in theopentelemetry-java-instrumentation project under a different module name. The module here will be removed in 0.13.0.
trace-utils
module has been deprecated. If you need this module, please let us know! The module will be removed in 0.13.0.SDK
Breaking Changes
opentelemetry-sdk-tracing
module has been renamed toopentelemetry-sdk-trace
.4317
.SpanData.getCanonicalCode()
method has been removed, along with the implementations.Enhancements
SpanProcessor
s to the resulting SDK.IdGenerator
to the resulting SDK.ReadableSpan
interface now exposes theSpan.Kind
of the span.SpanData
interface.Miscellaneous
toBuilder()
method on the OpenTelemetrySdk class has been deprecated and will be removed in 0.13.0.the
SpanProcessor.composite
andSpanExporter.composite
methods. The classes will be made non-public in 0.13.0.SpanData.hasRemoteParent()
method has been deprecated and will be removed in 0.13.0. If you need this information,you can now call
SpanData.getParentSpanContext().isRemote()
.Extensions
Breaking Changes
opentelemetry-sdk-extension-aws-v1-support
module has been renamed toopentelemetry-sdk-extension-aws
and the classes in it have been repackaged into the
io.opentelemetry.sdk.extension.aws.*
packages.Bugfixes:
TracerShim
now properly handles keys for context extraction in a case-insensitive manner.Enhancements
opentelemetry-sdk-extension-resources
now includes resource attributes for the process runtime via theProcessRuntimeResource
class.This is included in the Resource SPI implementation that the module provides.
opentelemetry-sdk-extension-aws
extension now will auto-detect AWS Lambda resource attributes.v0.11.0
Compare Source
API
Breaking changes:
io.opentelemetry.spi.*
package namespace.For example, rather than
io.opentelemetry.api.trace.Span.Builder
, the builder is now in its own top-level class:io.opentelemetry.api.trace.SpanBuilder
.Methods to create the builders remain in the same place as they were before.
Enhancements:
io.opentelemetry.context.contextStorageProvider
System property todefault
will enforce thatthe default (thread local) ContextStorage will be used for the Context implementation, regardless of what SPI implementations are
available.
Miscellaneous:
TraceState
entries will now be silently dropped, rather than causing the invalidation of the entireTraceState
.SDK
Breaking Changes:
OpenTelemetrySdk
now strictly requires its components to be SDK implementations.You can only build an
OpenTelemetrySdk
withTracerSdkProvider
andMeterSdkProvider
instances.Enhancements:
MeterSdkProvider
) that allows the end-user to configurehow various metrics will be aggregated. This API should be considered a precursor to a full "Views" API, and will most likely
evolve over the coming months before the metrics implementation is complete. See the javadoc for
MeterSdkProvider.registerView()
for details.Miscellaneous:
SpanProcessor
interface now includes default method implementations for theshutdown()
andforceFlush()
methods.Extensions
Breaking Changes:
@WithSpan
annotation has been moved to theio.opentelemetry.extension.annotations
package in theopentelemetry-extension-annotations
moduleBugfixes:
opentelemetry-extension-runtime-metrics
modulehave been fixed to properly report the committed memory values.
Enhancements:
See the
opentelemetry-extension-kotlin
module for details.v0.10.0
Compare Source
API
Enhancements
Span
now returns theSpan
to enable call-chaining.Bug fixes
package-info
file was removed from theio.otel.context
package because it made the project incompatible with JPMS.Breaking changes
io.opentelemetry.api.
prefix to support JPMS users.grpc-context
as the context implementation. It now usesio.opentelemetry.context.Context
. This is published in theopentelemetry-context
artifact. Interactions with the context were mostly moved to static methods in theSpan
andBaggage
interfaces.BaggageManager
. Baggage is fully functional within the API, without needing to install an SDK.TracingContextUtils
andBaggageUtils
were removed from the public API. Instead, use the appropriate static methods on theSpan
andBaggage
classes, or use methods on theContext
itself.opentelemetry-context
context module.DefaultSpan
was removed from the public API. Instead, useSpan.wrap(spanContext)
if you need a non-functional span that propagates the trace context.DefaultMeter
,DefaultMeterProvider
,DefaultTracer
andDefaultTracerProvider
were removed from the public API. You can access the same functionality withgetDefault()
methods on theMeter
,MeterProvider,
Tracer, and
TracerProvider` classes, respectively.Tracer
interface is now available either on theSpan
interface orContext
interface.OpenTelemetry
class is now an interface, with implementations. Methods on this interface have changed their names to reflect this change. For more information, see OpenTelemetry.java..builder()
.StatusCanonicalCode
has been renamed toStatusCode
.Span.getContext()
has been renamed toSpan.getSpanContext()
.AttributesBuilder
now usesput
instead ofadd
as the method name for adding attributes.TextMapPropagators
could receive a null carrier passed to the extract method.TextMapPropagator.Getter
interface has added a method to return the keys that the propagator uses.SDK
Enhancements
MetricData
gauge metric type is now available.opentelemetry-sdk-testing
module with a JUnit 5 extension to assist with testing is now available.gauge
metrics.Resource
entries to process tags.Span
andMetric
exporters were updated to match.Sampler
interface now allows aSampler
implementation to update theTraceState
that is applied to theSpanContext
for the resulting span.Breaking changes
TraceConfig
configuration option names (environment variables and system properties) were renamed to match the OpenTelemetery Specification.message
log entry attribute has been renamed toevent
and a newdropped attributes count
attribute was added. For more information, see the Overview.SpanData.getHasRemoteParent()
andSpanData.getHasEnded()
methods were renamed tohasRemoteParent()
andhasEnded()
, respectively.IdsGenerator
interface has been renamed toIdGenerator
, and all implementations and relevant factory methods were similarly renamed.RandomIdGenerator
is now accessible via a factory method on theIdGenerator
class, rather than being exposed itself. UseIdGenerator.random()
to acquire an instance.gauge
metrics where appropriate.ValueObserver
instruments now generate gauge metrics, rather than non-monotonic counter-style metrics.ValueObserver
instruments now use theLastValue
aggregation instead ofMinMaxSumCount
.SpanData.*
implementation classes were removed from the public SDK, but the interfaces are still available.SpanProcessor.onStart
now takes aContext
as its first parameter.Sampler
interface now takes a parentContext
rather than aSpanContext
.Sampler
has been reorganized into their own classes and moved into theio.opentelemetry.sdk.trace.samplers
package. Factory methods that used to be on theSamplers
class were moved to theSampler
interface.Extensions
Enhancements
SpanExporter
which exports via thethrift-over-http protocol
is now available.Breaking changes
opentelemetry-sdk-testing
artifact.TraceShim
toOpenTracingShim
. The factory methods have changed becauseBaggageManager
was removed and non-globalOpenTelemetry
instances are now available.opentelemetry-exporters-logging
was renamed toopentelemetry-exporter-logging
.io.opentelemetry.sdk.extensions.otproto.TraceProtoUtils
was renamed toio.opentelemetry.sdk.extension.otproto.TraceProtoUtils
.Thanks
Many thanks to everyone who made this release possible!
@anuraaga @bogdandrutu @Oberon00 @thisthat @HaloFour @jkwatson @kenfinnigan @MariusVolkhart @malafeev @trask @tylerbenson @XiXiaPdx @dengliming @hengyunabc @jarebudev @brianashby-sfx
v0.9.1
Compare Source
API
ReadableKeyValuePairs.KeyValueConsumer
.noParent
option on a Span was being ignored if it was set after setting an explicit parent.SDK
OpenTelemetrySdk.forceFlush()
now returns a CompletableResultCodeProbabilitySampler
has been renamed toTraceIdRatioBased
cloud.provider
attribute.Extensions
Thanks
Many thanks to all who made this release possible:
@bogdandrutu @Oberon00 @jkwatson @thisthat @anuraaga @jarebudev @malafeev @quijote @JasonXZLiu @zoercai @eunice98k [@
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.