Another part of #932
In this PR I changed all the library instrumentation packages -- these
are breaking changes, so I figured the earlier we do this the less
painful it'll be to the users. I know that at least some of them are
actively used, so we'll need to spell this out in the release notes.
---------
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Hi,
I copied existing JSF 1.2-2 instrumentation, updated dependencies and
namespaces related to JSF 3+.
I don't work with Mojjara implementation, but copied by analogy and
verified that package names are unchanged.
I named new packages by anology with `servlet` packages, but I use
`jsf-jakarta-common` when in servlet we have `servlet-javax-common`.
My idea was to avoid touching existing packages, but perhaps to keep
consistency, I can rename old `jsf-common` to `jsf-javax-common`.
Tested with Tomcat and my app, it's working fine with JSF 4 :)
Basically, `akka-http` instrumenter has the responsibility to instrument
the `http.server.duration` for the Play framework application, but the
current implementation has not marked the `http.route` attribute.
ref:
8e8161cb2e/instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerAttributesGetter.java (L59)
Actually, it's hard to record that attribute by only the akka-http layer
because that library's request object doesn't hold the route
information, e.g. placeholder.
So this patch delegates that job to the `play-mvc` instrumenter and when
that has been able to get the route info, the instrumenter puts
`http.route` attribute onto `http.server.duration`.
For example, when the routes configuration of the Play is like the
following:
```
GET /foo/:bar controllers.HomeController.doSomething(bar: String)
```
and when it tries to access that API, then OTEL instruments like so:
```prometheus
http_server_duration_count{otel_scope_name="io.opentelemetry.akka-http-10.0",otel_scope_version="1.23.0-alpha-SNAPSHOT",http_flavor="1.1",http_method="GET",http_route="/foo/$bar<[^/]+>",http_scheme="http",http_status_code="200",net_host_name="localhost",net_host_port="9000"} 1.0 1676078079798
http_server_duration_sum{otel_scope_name="io.opentelemetry.akka-http-10.0",otel_scope_version="1.23.0-alpha-SNAPSHOT",http_flavor="1.1",http_method="GET",http_route="/foo/$bar<[^/]+>",http_scheme="http",http_status_code="200",net_host_name="localhost",net_host_port="9000"} 12183.558843 1676078079798
http_server_duration_bucket{otel_scope_name="io.opentelemetry.akka-http-10.0",otel_scope_version="1.23.0-alpha-SNAPSHOT",http_flavor="1.1",http_method="GET",http_route="/foo/$bar<[^/]+>",http_scheme="http",http_status_code="200",net_host_name="localhost",net_host_port="9000",le="0.0"} 0.0 1676078079798
...
http_server_duration_bucket{otel_scope_name="io.opentelemetry.akka-http-10.0",otel_scope_version="1.23.0-alpha-SNAPSHOT",http_flavor="1.1",http_method="GET",http_route="/foo/$bar<[^/]+>",http_scheme="http",http_status_code="200",net_host_name="localhost",net_host_port="9000",le="+Inf"} 1.0 1676078079798
```
Rel: #1415
---------
Signed-off-by: moznion <moznion@mail.moznion.net>
We are seeing examples where Spring Scheduling INTERNAL spans are
created inside of an existing parent span, which creates unnecessary
noise.
And these spans don't necessary make sense as these are not "background
jobs" (since they occur inside of an existing span).
(see for example
https://github.com/microsoft/ApplicationInsights-Java/issues/2870)
This PR changes Spring Scheduling instrumentation to only instrumenting
repeating jobs, not one-time scheduled jobs (which corresponds to
ScheduledExecutorService behavior where context is not propagated to
runnable)
---------
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Hopefully resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7597
Without reproducing the issue it is hard to tell whether this will help.
Another issue that could arise is that we add our metrics class in
`metric.reporters` property which will probably break if this
configuration is used to build consumer or producer after deserializing
as our classes don't seem to be available there. If this fails we'll
need to ask the issue reporter for instructions how to reproduce and
find a different strategy for fixing this.
I was looking at some of the annotation utilities and maybe wanted to
make some changes but noticed the tests. This is a start...
---------
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Bumps ru.vyarus:gradle-animalsniffer-plugin from 1.6.0 to 1.7.0.
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps `groovyVersion` from 4.0.8 to 4.0.9.
Updates `org.apache.groovy:groovy-bom` from 4.0.8 to 4.0.9
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/apache/groovy/commits">compare view</a></li>
</ul>
</details>
<br />
Updates `org.apache.groovy:groovy` from 4.0.8 to 4.0.9
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/apache/groovy/commits">compare view</a></li>
</ul>
</details>
<br />
Updates `org.apache.groovy:groovy-json` from 4.0.8 to 4.0.9
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/apache/groovy/commits">compare view</a></li>
</ul>
</details>
<br />
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[com.linecorp.armeria:armeria-junit5](https://github.com/line/armeria)
from 1.21.0 to 1.22.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/line/armeria/releases">com.linecorp.armeria:armeria-junit5's
releases</a>.</em></p>
<blockquote>
<h2>armeria-1.22.0</h2>
<p>See <a href="https://armeria.dev/release-notes/1.22.0/">the release
notes</a> for the complete change list.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c1fca3092b"><code>c1fca30</code></a>
Release armeria-1.22.0</li>
<li><a
href="904aee7e08"><code>904aee7</code></a>
Add release notes for 1.22.0 (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4656">#4656</a>)</li>
<li><a
href="a43cfa2204"><code>a43cfa2</code></a>
Return "431 Request Header Fields Too Large" for long headers
on HTTP/1 (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4655">#4655</a>)</li>
<li><a
href="e971022cc0"><code>e971022</code></a>
Fix a bug where duplicate parameters are shown in DocService (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4645">#4645</a>)</li>
<li><a
href="3713d52f39"><code>3713d52</code></a>
Fix a bug where <code>ClosedSessionException</code> is set to
<code>responseCause</code> for a succ...</li>
<li><a
href="bfc1924444"><code>bfc1924</code></a>
Use gRPC StatusRuntimeException instead of StatusException. (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4658">#4658</a>)</li>
<li><a
href="c11b7abf74"><code>c11b7ab</code></a>
Upgrade dependencies for 1.22.0 (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4653">#4653</a>)</li>
<li><a
href="c2cadb8c80"><code>c2cadb8</code></a>
Fix a <code>NullPointerException</code> raised while an aborted
<code>FixedStreamMessage</code> is ...</li>
<li><a
href="c6013672ac"><code>c601367</code></a>
Add <code>AsyncServerInterceptor</code> for gRPC services (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4647">#4647</a>)</li>
<li><a
href="36164e279f"><code>36164e2</code></a>
Support Thrift TypeDef in DocService (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4628">#4628</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/line/armeria/compare/armeria-1.21.0...armeria-1.22.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[com.linecorp.armeria:armeria-grpc](https://github.com/line/armeria)
from 1.21.0 to 1.22.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/line/armeria/releases">com.linecorp.armeria:armeria-grpc's
releases</a>.</em></p>
<blockquote>
<h2>armeria-1.22.0</h2>
<p>See <a href="https://armeria.dev/release-notes/1.22.0/">the release
notes</a> for the complete change list.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c1fca3092b"><code>c1fca30</code></a>
Release armeria-1.22.0</li>
<li><a
href="904aee7e08"><code>904aee7</code></a>
Add release notes for 1.22.0 (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4656">#4656</a>)</li>
<li><a
href="a43cfa2204"><code>a43cfa2</code></a>
Return "431 Request Header Fields Too Large" for long headers
on HTTP/1 (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4655">#4655</a>)</li>
<li><a
href="e971022cc0"><code>e971022</code></a>
Fix a bug where duplicate parameters are shown in DocService (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4645">#4645</a>)</li>
<li><a
href="3713d52f39"><code>3713d52</code></a>
Fix a bug where <code>ClosedSessionException</code> is set to
<code>responseCause</code> for a succ...</li>
<li><a
href="bfc1924444"><code>bfc1924</code></a>
Use gRPC StatusRuntimeException instead of StatusException. (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4658">#4658</a>)</li>
<li><a
href="c11b7abf74"><code>c11b7ab</code></a>
Upgrade dependencies for 1.22.0 (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4653">#4653</a>)</li>
<li><a
href="c2cadb8c80"><code>c2cadb8</code></a>
Fix a <code>NullPointerException</code> raised while an aborted
<code>FixedStreamMessage</code> is ...</li>
<li><a
href="c6013672ac"><code>c601367</code></a>
Add <code>AsyncServerInterceptor</code> for gRPC services (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4647">#4647</a>)</li>
<li><a
href="36164e279f"><code>36164e2</code></a>
Support Thrift TypeDef in DocService (<a
href="https://github-redirect.dependabot.com/line/armeria/issues/4628">#4628</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/line/armeria/compare/armeria-1.21.0...armeria-1.22.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Fix#7729
This PR adopts Azure SDK tracing API changes from the latest release
(azure-core 1.36.0, azure-core-tracing-opentelemetry 1.0.0-beta.32)
The API changes are not breaking (1.19 instrumentation is still
compatible), but the new instrumentation is slightly more performant and
supports new features. We are also going to break compatibility with
1.19 instrumentation at some point (in 6-12 months).
We now have 3 versions for azure-sdk. We still have about 10% of users
on versions [1.14-1.19), but it's declining and I'll be happy to remove
1.14 in the next few months if this trend continues.
---------
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Bumps
[io.quarkus.platform:quarkus-bom](https://github.com/quarkusio/quarkus-platform)
from 2.16.1.Final to 2.16.2.Final.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2ded23f828"><code>2ded23f</code></a>
[maven-release-plugin] prepare release 2.16.2.Final</li>
<li><a
href="df8791ce90"><code>df8791c</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/quarkusio/quarkus-platform/issues/763">#763</a>
from gsmet/quarkus-2.16.2</li>
<li><a
href="5411b35e4c"><code>5411b35</code></a>
Update quarkus-platform-bom-maven-plugin to 0.0.76</li>
<li><a
href="919324bdf9"><code>919324b</code></a>
Set a higher Xmx for the build</li>
<li><a
href="c8b64bdc20"><code>c8b64bd</code></a>
Update to Quarkus Qpid JMS 0.42.0, uses Qpid JMS 1.8.0 against Quarkus
2.16.0...</li>
<li><a
href="0ef9a4d113"><code>0ef9a4d</code></a>
add ability to use different artifact version for qpid-jms integration
tests</li>
<li><a
href="abf56f3b8f"><code>abf56f3</code></a>
Upgrade to Quarkus 2.16.2.Final</li>
<li><a
href="09353dbb97"><code>09353db</code></a>
[maven-release-plugin] prepare for next development iteration</li>
<li>See full diff in <a
href="https://github.com/quarkusio/quarkus-platform/compare/2.16.1.Final...2.16.2.Final">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps io.quarkus from 2.16.1.Final to 2.16.2.Final.
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7597
I wasn't able to reproduce this. Figuring out how to run beam, flink and
kafka together feels like too much effort. Without reproducing it is too
hard to tell why the configuration is serialized, but my hunch is that
it is enough to ensure that the configuration can be serialized.