Added scope attributes to InstrumentationScopeInfo accessible via InstrumentationScopeInfo#getAttributes(). Will add the ability to specify scope attributes in Meter, Tracer, and Logger in a future version.
DEPRECATION: The InstrumentationScopeInfo#create(String, String, String) method has been deprecated in favor of InstrumentationScopeInfo#builer(String).setVersion(String).setSchemaUrl(String).build().
Optimize Resource#merge(Resource) by returning early if the other resource is empty.
Logs
Fix module name of opentelemetry-sdk-logs by changing from io.opentelemetry.sdk.extension.logging to io.opentelemetry.sdk.logs.
Testing
Add methods to assert attributes do not contain keys via AttributeAssert#doesNotContainKey().
Exporter
Added ability to specify local IP address in ZipkinSpanExporter via ZipkinSpanExporterBuilder#setLocalIpAddressSupplier(Supplier<InetAddress>).
Upgrade to OTLP protobuf version 0.19.0.
OTLP exporters now serialize InstrumentationScopeInfo#getAttributes().
Stop publishing opentelemetry-exporter-jaeger-proto. The opentelemetry-bom will include a constraint on the last published version 1.17.0. If security issues are discovered, patches will be published to 1.17.x.
SDK Extensions
BREAKING: opentelemetry-sdk-extension-metric-incubator, opentelemetry-sdk-extension-tracing-incubator, and opentelemetry-sdk-extension-zpages merged into opentelemetry-sdk-extension-incubator.
BREAKING: Move opentelemetry-sdk-extension-jfr-events to opentelemetry-java-contrib/jfr-events. It will now be published under the coordinates io.opentelemetry.contrib:opentelemetry-jfr-events:{version}.
BREAKING: Move opentelemetry-extension-noop-api to opentelemetry-java-contrib/noop-api. It will now be published under the coordinates io.opentelemetry.contrib:opentelemetry-noop-api:{version}.
Improve ECS resource detection to include aws.ecs.container.arn, container.image.name, container.image.tag, aws.ecs.container.image.id, aws.log.group.arns, aws.log.group.names, aws.log.steam.names, aws.ecs.task.arn, aws.ecs.task.family, and aws.ecs.task.revision.
Fix resource container.id detection when using k8s with containerd v1.5.0+.
Add experimental ConditionalResourceProvider SPI, for conditionally applying resource providers based on current config and resource.
This release contains a large number of changes to the log signal following a series of significant
changes to
the log specification.
The changes include renaming key classes like LogExporter to LogRecordExporter,
and LogProcessor to LogRecordProcessor, and LogEmitter to Logger, and more. Additionally, a
log API component has been added for emitting events and for writing log appenders. Note, the log
API is not a substitute for traditional log frameworks like Log4j, JUL, SLF4J, or Logback. While the
event portion of the API is intended for instrumentation authors and end users, the API for emitting
LogRecords is not.
See LoggerProvider
and Logger javadoc for more
details.
General
Add opentelemetry-bom as a dependency to opentelemetry-bom-alpha, ensuring synchronization
between alpha and stable artifact versions.
API
API Extensions
WARNING: opentelemetry-extension-annotations has been removed following its relocation
to opentelemetry-java-instrumentation/instrumentation-annotations,
which is published under
coordinates io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:{version}.
We will push security patches to 1.18.x as needed. The latest opentelemetry-bom will point
to the latest published version, currently 1.18.0.
Logs
Introduce log API for emitting events and writing log appenders. The artifact is available at
coordinates io.opentelemetry:opentelemetry-api-logs:1.19.0-alpha.
SDK
Metrics
Change exponential histogram bucket boundaries to be lower exclusive / upper inclusive, instead of
lower inclusive / upper exclusive.
Logs
BREAKING: Rename SdkLogEmitterProvider to SdkLoggerProvider.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps opentelemetry-semconv from 1.18.0-alpha to 1.19.0-alpha.
Release notes
Sourced from opentelemetry-semconv's releases.
... (truncated)
Changelog
Sourced from opentelemetry-semconv's changelog.
... (truncated)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)