Commit Graph

544 Commits

Author SHA1 Message Date
SylvainJuge 955470a63a
Semconv 1.25.0 migration (#10983)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 11:25:52 -07:00
Lauri Tulmin e38093ce3f
Fix disabling virtual thread context propagation (#10881) 2024-03-18 21:32:46 +02:00
Lauri Tulmin d0b46f677e
Use agent version of the hasSuperType matcher (#10883) 2024-03-18 21:32:14 +02:00
Trask Stalnaker a59be316b9
Simplify logging config (#10843) 2024-03-14 15:58:23 +00:00
renovate[bot] f60af5d162
fix(deps): update jackson packages to v2.17.0 (main) (minor) (#10828)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-03-13 12:51:35 +02:00
Gregor Zeitlinger 60d53e156a
package cloud resource in javaagent - but keep them disabled by default (#10754) 2024-03-12 14:04:35 +02:00
Lauri Tulmin 52dcd30993
Allow excluding all methods of a class (#10753) 2024-03-08 09:37:01 +02:00
Lauri Tulmin bb887465f3
Fix shading aws propagator (#10669) 2024-02-26 07:56:27 -08:00
Lauri Tulmin b5bbc62fa1
Always create a JMS consumer span (#10604) 2024-02-22 09:13:25 +02:00
Jonas Kunz 980d8ea244
Allow multiple invokedynamic InstrumentationModules to share classloaders (#10015) 2024-02-02 15:35:54 +02:00
Lauri Tulmin b57c1a023b
Update semconv (#10272) 2024-01-30 17:10:35 +00:00
Lauri Tulmin d36d7df184
Remove jaeger exporter and add api diff for 2.0.0 release (#10241) 2024-01-16 20:54:09 +02:00
Angel 478404539d
Add UserExcludedClassloadersConfigurer (#10134) 2024-01-11 07:50:46 -08:00
Helen f6176919e4
Change default OTLP protocol to http/protobuf (#9993)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-01-04 13:30:17 -08:00
Lauri Tulmin 9c36539d24
Remove unneeded @SuppressWarnings("UnusedVariable") (#10121) 2024-01-01 17:35:18 -08:00
Lauri Tulmin fda1ee124a
Add timeout to awaitGc (#10081) 2023-12-15 11:45:35 -08:00
Lauri Tulmin a7e8ed81ff
Associate value with class loader (#10051) 2023-12-14 15:04:25 -08:00
Lauri Tulmin 30ddf6a66c
Fix transforming record types (#10052) 2023-12-13 10:25:16 -08:00
Mateusz Rzeszutek 4123a639fa
Enable OTLP logs exporter (#10055) 2023-12-13 08:22:08 -08:00
Gregor Zeitlinger 1a054a53ad
rename telemetry.auto.version to telemetry.distro.version and add telemetry.distro.name (#9065)
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2023-12-13 08:19:03 -08:00
Lauri Tulmin 14dc34e50e
Capture http.route for akka-http (#10039)
Co-authored-by: jason plumb <75337021+breedx-splk@users.noreply.github.com>
2023-12-12 11:10:17 -08:00
Mateusz Rzeszutek 63468157fc
Fix latest dep tests after the recent Spring release (#9947) 2023-11-24 21:07:48 +00:00
Lauri Tulmin 6313391d71
Rewrite @Advice.Enter for indy advice (#9887) 2023-11-17 07:49:19 -08:00
cleverchuk 81f8bf6231
Add `service.name` to MDC (#9647)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-11-13 09:37:19 -08:00
Jonas Kunz 6eb8ae19df
Allow injection of helper bytecode as resources (#9752) 2023-11-06 09:37:52 -08:00
Lauri Tulmin 5a2f52978f
Make kafka library and javaagent instrumentations more similar (#9738) 2023-10-24 09:08:03 -07:00
Lauri Tulmin a2f01e577e
Make more tests run with indy (#9729) 2023-10-24 12:23:50 +03:00
Lauri Tulmin 93e0667816
Improve disableShadowRelocate (#9715)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-10-20 10:34:00 +03:00
Jonas Kunz 2d4d010cb0
Add capability for invokedynamic InstrumentationModules to inject proxies (#9565) 2023-10-19 10:11:24 -07:00
Mateusz Rzeszutek 76d0090f53
Define `url.scheme` in terms of logical operation in HTTP server semconv (#9698) 2023-10-17 11:04:39 -07:00
Lauri Tulmin de7cdcc22b
Run tests with java 21 (#9620) 2023-10-09 17:07:46 +03:00
SylvainJuge 6e97851a0b
Minor cleanup after bytebuddy 1.14.8 release (#9595) 2023-10-02 09:46:20 -07:00
Lauri Tulmin b464369253
Improve spring data reactive instrumentation (#9561) 2023-09-27 21:16:04 +03:00
Lauri Tulmin 7d2259742a
Transform inline advice to delegating advice and test indy modules (#9508) 2023-09-22 11:15:39 +03:00
Jonas Kunz 446d9a28ae
Implemented factory for generating invokedynamic proxy classes (#9502) 2023-09-20 12:26:56 -07:00
Jonas Kunz 10480adc64
Implement invokedynamic advice bootstrapping (#9382) 2023-09-13 17:44:47 -07:00
Trask Stalnaker 3b77cc4b2d
Semconv 1.21 (#9408)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-09-13 19:20:23 +00:00
Trask Stalnaker db7eb14384
Remove deprecated experimental config (#9378) 2023-09-04 08:59:49 +03:00
SylvainJuge 4855eeee73
Bytecode version upgrade for invokedynamic dispatch (#9239) 2023-08-25 09:16:39 -07:00
Trask Stalnaker 39574290c9
Fix build (#9283) 2023-08-23 05:49:48 +02:00
Jonas Kunz 3dbb965e94
Fixed getDefinedPackage lookup for OpenJ9 (8) (#9272) 2023-08-22 11:12:25 +02:00
Jonas Kunz 5abba34ade
Implemented InstrumentationModuleClassLoader for invokedynamic Advice dispatching (#9177)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-08-21 12:11:52 +00:00
Lauri Tulmin 56dfd1ee6a
Implement @WithSpan support for kotlin coroutines (#8870)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-08-16 14:51:30 -07:00
OpenTelemetry Bot acbab58a46
Update the OpenTelemetry SDK version to 1.28.0 (#8897)
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-07-10 12:45:01 -07:00
OpenTelemetry Bot bbb05276be
Update the OpenTelemetry SDK version to 1.27.0 (#8688)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-06-13 12:02:11 +03:00
Lauri Tulmin 8cfacd5666
Fix flaky CacheProviderTest (#8684) 2023-06-11 09:13:22 +03:00
Mateusz Rzeszutek a2fd908d47
Disable the logging exporter by default (#8647)
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
2023-06-05 20:04:03 +00:00
Mateusz Rzeszutek 8ee63d4441
Implement new stable URL semantic conventions (#8491) 2023-06-05 15:22:22 +00:00
Lauri Tulmin 81f6a3a0c2
Faster type matching (#8525) 2023-06-02 18:35:31 +03:00
Lauri Tulmin 45fbf4b47b
Skip not decorator check for classes in boot loader (#8594) 2023-05-30 11:23:16 +02:00
dependabot[bot] c60d0a2673
Bump com.diffplug.spotless:spotless-plugin-gradle from 6.18.0 to 6.19.0 (#8561)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-05-24 12:23:07 -07:00
Lauri Tulmin 5627a15c29
Fix jetty context leak (#8552) 2023-05-23 12:42:17 -07:00
dependabot[bot] 3122897b2e
Bump errorProneVersion from 2.18.0 to 2.19.0 (#8459)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-05-10 09:49:55 -07:00
Lauri Tulmin 43073e7df9
Allow transforming classes with missing field types (#8393) 2023-05-09 14:07:50 -07:00
Mateusz Rzeszutek 9b82a01dd7
Set up EarlyInitAgentConfig even earlier (#8413) 2023-05-06 16:24:23 -07:00
Lauri Tulmin 2f0819ae20
Improve compatibility with SecurityManager (#7983)
This pr gives classes defined in agent and extension class loaders all
permissions. Injected helper classes are also defined with all
permissions. Agent startup is altered so that we won't call methods that
require permission before we are able to get those permissions.
This pr does not attempt to address issues where agent code could allow
user code to circumvent security manager e.g.
https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/InstrumentationHolder.java
gives access to `Instrumentation` that could be used to redefine classes
and remove security checks. Also this pr does not address failed
permission checks that could arise from user code calling agent code.
When user code, that does not have privileges, calls agent code, that
has the privileges, and agent code performs a sensitive operation then
permission check would fail because it is performed for all calling
classes, including the user classes. To fix this agent code should uses
`AccessController.doPrivileged` which basically means that, hey I have
done all the checks, run this call with my privileges and ignore the
privileges of my callers.
2023-04-05 15:41:37 +03:00
Lauri Tulmin e0ecb56e8b
Codeql detects zipslip vulnerability (#8209)
I think that the only way zipslip could happen is when name contains
`..` but codeql isn't able to cope with that. Removing the `..` check
gets rid of the code scanning alert.
2023-04-04 16:14:19 -07:00
Lauri Tulmin 8fba02e391
Skip spotless and other checks in CI test step (#8142)
Currently we run spotless and other checks for each of the parallel test
steps which seems wasteful. Here is an attempt to run only the tests in
given partition without any extra checks in the `test` step and run all
the checks in the `build` step.
2023-04-04 10:43:12 -07:00
Mateusz Rzeszutek 04f2e3e9e5
Bridge agent logs into application's slf4j logger (#7339)
Related discussion #7257
Resolves #3413
Resolves #5059
Resolves #6258
Resolves #7179

Adds a logging implementation that'll collect agent logs in memory until
slf4j is detected in the instrumented application; and when that happens
will dump all the logs into the application slf4j and log directly to
the application logger from that time on.

It's still in a POC state, unfortunately: while it works fine with an
app that uses & initializes slf4j directly, Spring Boot applications
actually reconfigure the logging implementation (e.g. logback) a while
after slf4j is loaded; which causes all the startup agent logs (debug
included) to be dumped with the default logback pattern.

Future work:
* ~~Make sure all logs produces by the agent are sent to loggers named
`io.opentelemetry...`
(https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7446)~~
DONE
* Make this work on Spring Boot
* Documentation
* Smoke test?
2023-04-04 17:29:43 +02:00
Lauri Tulmin 93d7dd7261
Ignore appd agent classes (#8065)
Related to
https://github.com/open-telemetry/opentelemetry-java-instrumentation/discussions/8060
2023-03-22 13:04:14 +01:00
Ago Allikmaa a9788a22de
Provide ability to add HTTP server response headers, with Tomcat implementation (#7990)
This allows custom distributions of the agent to register
`HttpServerResponseCustomizer` implementations. When a supported HTTP
server instrumentation starts processing a response, the `onStart`
method of all registered implementations will be invoked with the
`Context` of the SERVER span, an instrumentation-specific response
object and `HttpServerResponseMutator` instance that allows appending
headers to that response.

The intent of this is to allow custom distributions to set a header
containing span context information, such as the trace and span IDs. As
such, the initial implementation only allows appending response headers
and nothing else.

The `HttpServerResponseCustomizer` and related classes are currently in
a subpackage of the `io.opentelemetry.javaagent.bootstrap` package in
`javaagent-extension-api`. This makes them get loaded in the bootstrap
classloader, thus directly accessible from instrumentations. I am not
aware if there is an elegant way to put it in the agent classloader
instead, yet have the same instance accessible from both
`AgentInstaller` and instrumentations.

This also includes Tomcat-specific implementation in order to be able to
demonstrate that it works, and add automated testing of this to
HttpServerTest including one implementation.
2023-03-13 17:46:39 +01:00
Lauri Tulmin 46861382e8
Check that extracting extension jar doesn't escape designated directory (#7908)
Mostly to appease code scanners.
2023-03-07 09:00:56 +02:00
Lauri Tulmin dd32ff30f1
Improve compatibility with other agents (#7916)
Fixes the issue described in
https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7887
Hopefully resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7594
We should not use cached `TypeDescription` for currently transformed
class as the cached description will not be the same as newly created
one if the class bytes were transformed. For example if another agent
adds an interface to the class then returning the cached description
that does not have that interface would result in bytebuddy removing
that interface, see
665a090c73/byte-buddy-dep/src/main/java/net/bytebuddy/dynamic/scaffold/TypeWriter.java (L5012)
2023-03-01 09:06:59 +02:00
jason plumb 7e187f78e7
Add additional groovy classloaders to ignore list. (#7460)
Groovy apps that parse a lot of scripts can generate a lot of
classloaders that will ultimately end up causing the agent to cache a
LOT of memory. For example, some java code that uses the Gremlin groovy
script engine to dynamically create and execute scripts can reproduce
this:

```
    GremlinGroovyScriptEngine engine = new GremlinGroovyScriptEngine();
    Bindings bindings = new SimpleBindings();
    TinkerGraph graph = TinkerGraph.open();
    GraphTraversalSource g = graph.traversal();
    bindings.put("g", g);
    for (int i = 0; i < 100000; i++) {
      engine.eval("g.V(" + i + ")", bindings);
      if(i % 250 == 0) System.out.println("Iteration " + i);
    }
```

I have manually confirmed that ignoring the groovy classloaders (in this
PR) prevent the agent from exploding the cache and holding onto memory.
I could use another brain in deciding if there could be other unintended
consequences.
2023-02-23 09:39:54 -08:00
Lauri Tulmin cde6c98666
Tests need to reset GlobalEventEmitterProvider (#7810)
After sdk update we have new flaky tests

https://ge.opentelemetry.io/s/qozoj3c4zxmge/tests/:javaagent-tooling:test/io.opentelemetry.javaagent.test.HelperInjectionTest/helpers%20injected%20on%20bootstrap%20classloader?top-execution=1

https://ge.opentelemetry.io/s/qozoj3c4zxmge/tests/:javaagent-tooling:test/io.opentelemetry.javaagent.tooling.OpenTelemetryInstallerTest/should%20initialize%20GlobalOpenTelemetry?top-execution=1
2023-02-14 16:43:55 +02:00
Lauri Tulmin 3d571c329a
Reformat comment (#7713) 2023-02-02 14:22:02 +00:00
Steve Dodge 00ae25b89c
Ignore janino classloader (#7710)
Fixes #7670

These obscure classloaders should be ignored completely, they process
in-line class creation and should not branch out to interactions that
are useful in distributed tracing. These two are responsible for outages
recently in many of our applications due to driving up memory usage from
WeakKey caching. In some cases, janino processing has ran wild and
stimulated over 5.7mil WeakKey objects accounting for close to 200MB of
heap.
2023-02-02 15:18:35 +01:00
Mateusz Rzeszutek d89932098a
Disable YodaCondition check and revert some of the changes (#7596)
Let's keep close to the SDK repo config. 

I reverted some of the changes, only left those that I think make sense
anyway (e.g. comparing enums with `==`)
2023-01-17 19:44:15 -08:00
Mateusz Rzeszutek 18cffb7aeb
Make config file available in early agent initialization phase (#7550)
Fixes #7540

I think this kind of early config might be useful in general -- for
instance, I think I'd like to use it for properties introduced in
https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7339
2023-01-11 20:26:28 -08:00
dependabot[bot] f335861136
Bump errorProneVersion from 2.17.0 to 2.18.0 (#7532)
Bumps `errorProneVersion` from 2.17.0 to 2.18.0.
Updates `error_prone_annotations` from 2.17.0 to 2.18.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/error-prone/releases">error_prone_annotations's
releases</a>.</em></p>
<blockquote>
<h2>Error Prone 2.18.0</h2>
<p>New Checkers:</p>
<ul>
<li><a
href="https://errorprone.info/bugpattern/InjectOnBugCheckers"><code>InjectOnBugCheckers</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/LabelledBreakTarget"><code>LabelledBreakTarget</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/UnusedLabel"><code>UnusedLabel</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/YodaCondition"><code>YodaCondition</code></a></li>
</ul>
<p>Fixes issues: <a
href="https://github-redirect.dependabot.com/google/error-prone/issues/1650">#1650</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/2706">#2706</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3404">#3404</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3493">#3493</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3504">#3504</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3519">#3519</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3579">#3579</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3610">#3610</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3632">#3632</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3638">#3638</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3645">#3645</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3646">#3646</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3652">#3652</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3690">#3690</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0">https://github.com/google/error-prone/compare/v2.17.0...v2.18.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34730decfe"><code>34730de</code></a>
Release Error Prone 2.18.0</li>
<li><a
href="ee1e7778d3"><code>ee1e777</code></a>
Remove <code>DoNoCall</code> flags for checking <code>Thread.run</code>
and various <code>getClass</code> meth...</li>
<li><a
href="bb9ede9f25"><code>bb9ede9</code></a>
Delete dependabot.yml</li>
<li><a
href="7f459e14cd"><code>7f459e1</code></a>
Refaster: support method invocation type argument inlining</li>
<li><a
href="a57309b018"><code>a57309b</code></a>
Add a check to reverse Yoda conditions.</li>
<li><a
href="181f9918bc"><code>181f991</code></a>
Use <code>ASTHelpers.enclosingClass</code>.</li>
<li><a
href="360ed99da2"><code>360ed99</code></a>
Don't generate a &quot;Suppression&quot; section that recommends
`@SuppressWarnings(&quot;Ch...</li>
<li><a
href="c06c7b8b6e"><code>c06c7b8</code></a>
Look for infinite recursion in the first statement of multi-statement
methods.</li>
<li><a
href="0f5753f67b"><code>0f5753f</code></a>
Reverse Yoda conditions in EP.</li>
<li><a
href="f36a502b5f"><code>f36a502</code></a>
Make MemoizeConstantVisitorStateLookups check suppressible</li>
<li>Additional commits viewable in <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `error_prone_core` from 2.17.0 to 2.18.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/error-prone/releases">error_prone_core's
releases</a>.</em></p>
<blockquote>
<h2>Error Prone 2.18.0</h2>
<p>New Checkers:</p>
<ul>
<li><a
href="https://errorprone.info/bugpattern/InjectOnBugCheckers"><code>InjectOnBugCheckers</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/LabelledBreakTarget"><code>LabelledBreakTarget</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/UnusedLabel"><code>UnusedLabel</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/YodaCondition"><code>YodaCondition</code></a></li>
</ul>
<p>Fixes issues: <a
href="https://github-redirect.dependabot.com/google/error-prone/issues/1650">#1650</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/2706">#2706</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3404">#3404</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3493">#3493</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3504">#3504</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3519">#3519</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3579">#3579</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3610">#3610</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3632">#3632</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3638">#3638</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3645">#3645</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3646">#3646</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3652">#3652</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3690">#3690</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0">https://github.com/google/error-prone/compare/v2.17.0...v2.18.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34730decfe"><code>34730de</code></a>
Release Error Prone 2.18.0</li>
<li><a
href="ee1e7778d3"><code>ee1e777</code></a>
Remove <code>DoNoCall</code> flags for checking <code>Thread.run</code>
and various <code>getClass</code> meth...</li>
<li><a
href="bb9ede9f25"><code>bb9ede9</code></a>
Delete dependabot.yml</li>
<li><a
href="7f459e14cd"><code>7f459e1</code></a>
Refaster: support method invocation type argument inlining</li>
<li><a
href="a57309b018"><code>a57309b</code></a>
Add a check to reverse Yoda conditions.</li>
<li><a
href="181f9918bc"><code>181f991</code></a>
Use <code>ASTHelpers.enclosingClass</code>.</li>
<li><a
href="360ed99da2"><code>360ed99</code></a>
Don't generate a &quot;Suppression&quot; section that recommends
`@SuppressWarnings(&quot;Ch...</li>
<li><a
href="c06c7b8b6e"><code>c06c7b8</code></a>
Look for infinite recursion in the first statement of multi-statement
methods.</li>
<li><a
href="0f5753f67b"><code>0f5753f</code></a>
Reverse Yoda conditions in EP.</li>
<li><a
href="f36a502b5f"><code>f36a502</code></a>
Make MemoizeConstantVisitorStateLookups check suppressible</li>
<li>Additional commits viewable in <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `error_prone_test_helpers` from 2.17.0 to 2.18.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/error-prone/releases">error_prone_test_helpers's
releases</a>.</em></p>
<blockquote>
<h2>Error Prone 2.18.0</h2>
<p>New Checkers:</p>
<ul>
<li><a
href="https://errorprone.info/bugpattern/InjectOnBugCheckers"><code>InjectOnBugCheckers</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/LabelledBreakTarget"><code>LabelledBreakTarget</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/UnusedLabel"><code>UnusedLabel</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/YodaCondition"><code>YodaCondition</code></a></li>
</ul>
<p>Fixes issues: <a
href="https://github-redirect.dependabot.com/google/error-prone/issues/1650">#1650</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/2706">#2706</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3404">#3404</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3493">#3493</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3504">#3504</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3519">#3519</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3579">#3579</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3610">#3610</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3632">#3632</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3638">#3638</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3645">#3645</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3646">#3646</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3652">#3652</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3690">#3690</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0">https://github.com/google/error-prone/compare/v2.17.0...v2.18.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34730decfe"><code>34730de</code></a>
Release Error Prone 2.18.0</li>
<li><a
href="ee1e7778d3"><code>ee1e777</code></a>
Remove <code>DoNoCall</code> flags for checking <code>Thread.run</code>
and various <code>getClass</code> meth...</li>
<li><a
href="bb9ede9f25"><code>bb9ede9</code></a>
Delete dependabot.yml</li>
<li><a
href="7f459e14cd"><code>7f459e1</code></a>
Refaster: support method invocation type argument inlining</li>
<li><a
href="a57309b018"><code>a57309b</code></a>
Add a check to reverse Yoda conditions.</li>
<li><a
href="181f9918bc"><code>181f991</code></a>
Use <code>ASTHelpers.enclosingClass</code>.</li>
<li><a
href="360ed99da2"><code>360ed99</code></a>
Don't generate a &quot;Suppression&quot; section that recommends
`@SuppressWarnings(&quot;Ch...</li>
<li><a
href="c06c7b8b6e"><code>c06c7b8</code></a>
Look for infinite recursion in the first statement of multi-statement
methods.</li>
<li><a
href="0f5753f67b"><code>0f5753f</code></a>
Reverse Yoda conditions in EP.</li>
<li><a
href="f36a502b5f"><code>f36a502</code></a>
Make MemoizeConstantVisitorStateLookups check suppressible</li>
<li>Additional commits viewable in <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0">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>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-01-11 20:25:46 -08:00
wallezhang 13be0e2307
Shade `application.io.opentelemetry` in agent extension class loader (#7519)
Related issue #7518 

Add shade rule `application.io.opentelemetry` in
`io.opentelemetry.javaagent.tooling.RemappingUrlConnection` class.

Closed #7518

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-01-11 20:25:22 -08:00
Mateusz Rzeszutek bb7a12dc8f
Muzzle logs should be logged using the io.opentelemetry.* logger name (#7446)
Also, log them on DEBUG when debug mode is off.
Related to
https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/7339
2023-01-11 20:18:45 -08:00
dependabot[bot] 0a045e3a00
Bump errorProneVersion from 2.16 to 2.17.0 (#7489)
Bumps `errorProneVersion` from 2.16 to 2.17.0.
Updates `error_prone_annotations` from 2.16 to 2.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/error-prone/releases">error_prone_annotations's
releases</a>.</em></p>
<blockquote>
<h2>Error Prone 2.17.0</h2>
<p>New Checkers:</p>
<ul>
<li><a
href="https://errorprone.info/bugpattern/AvoidObjectArrays"><code>AvoidObjectArrays</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/Finalize"><code>Finalize</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/IgnoredPureGetter"><code>IgnoredPureGetter</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/ProtoFieldNullComparison"><code>ImpossibleNullComparison</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/MathAbsoluteNegative"><code>MathAbsoluteNegative</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/NewFileSystem"><code>NewFileSystem</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/StatementSwitchToExpressionSwitch"><code>StatementSwitchToExpressionSwitch</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/UnqualifiedYield"><code>UnqualifiedYield</code></a></li>
</ul>
<p>Fixed issues: <a
href="https://github-redirect.dependabot.com/google/error-prone/issues/2321">#2321</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3144">#3144</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3297">#3297</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3428">#3428</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3437">#3437</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3462">#3462</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3482">#3482</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3494">#3494</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/error-prone/compare/v2.16...v2.17.0">https://github.com/google/error-prone/compare/v2.16...v2.17.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="27de40ba60"><code>27de40b</code></a>
Release Error Prone 2.17.0</li>
<li><a
href="bcf4dcf764"><code>bcf4dcf</code></a>
Optimize checks that report exactly the same fix in multiple
diagnostics, lik...</li>
<li><a
href="8ddb7cbb05"><code>8ddb7cb</code></a>
Record Error Prone initialization time</li>
<li><a
href="1d23141bd7"><code>1d23141</code></a>
Do the expensive bit last in UnusedMethod.</li>
<li><a
href="e3602572b0"><code>e360257</code></a>
Fix yet another NonCanonicalType crash</li>
<li><a
href="5768290a15"><code>5768290</code></a>
Make UnusedMethod recognize com.google.acai annotations,
com.google.caliper.B...</li>
<li><a
href="7340bdf01d"><code>7340bdf</code></a>
Audit EP checks for argumentless mock().</li>
<li><a
href="b92c9b1b55"><code>b92c9b1</code></a>
Rip out GuardedBy:CheckMemberReferences.</li>
<li><a
href="63fb30be3f"><code>63fb30b</code></a>
Have InvalidLink provide a hint about erasure if it sees &lt; in an
invalid meth...</li>
<li><a
href="4a5fd7bd5a"><code>4a5fd7b</code></a>
Suppress FieldCanBeLocal based on unused prefices.</li>
<li>Additional commits viewable in <a
href="https://github.com/google/error-prone/compare/v2.16...v2.17.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `error_prone_core` from 2.16 to 2.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/error-prone/releases">error_prone_core's
releases</a>.</em></p>
<blockquote>
<h2>Error Prone 2.17.0</h2>
<p>New Checkers:</p>
<ul>
<li><a
href="https://errorprone.info/bugpattern/AvoidObjectArrays"><code>AvoidObjectArrays</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/Finalize"><code>Finalize</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/IgnoredPureGetter"><code>IgnoredPureGetter</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/ProtoFieldNullComparison"><code>ImpossibleNullComparison</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/MathAbsoluteNegative"><code>MathAbsoluteNegative</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/NewFileSystem"><code>NewFileSystem</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/StatementSwitchToExpressionSwitch"><code>StatementSwitchToExpressionSwitch</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/UnqualifiedYield"><code>UnqualifiedYield</code></a></li>
</ul>
<p>Fixed issues: <a
href="https://github-redirect.dependabot.com/google/error-prone/issues/2321">#2321</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3144">#3144</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3297">#3297</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3428">#3428</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3437">#3437</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3462">#3462</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3482">#3482</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3494">#3494</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/error-prone/compare/v2.16...v2.17.0">https://github.com/google/error-prone/compare/v2.16...v2.17.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="27de40ba60"><code>27de40b</code></a>
Release Error Prone 2.17.0</li>
<li><a
href="bcf4dcf764"><code>bcf4dcf</code></a>
Optimize checks that report exactly the same fix in multiple
diagnostics, lik...</li>
<li><a
href="8ddb7cbb05"><code>8ddb7cb</code></a>
Record Error Prone initialization time</li>
<li><a
href="1d23141bd7"><code>1d23141</code></a>
Do the expensive bit last in UnusedMethod.</li>
<li><a
href="e3602572b0"><code>e360257</code></a>
Fix yet another NonCanonicalType crash</li>
<li><a
href="5768290a15"><code>5768290</code></a>
Make UnusedMethod recognize com.google.acai annotations,
com.google.caliper.B...</li>
<li><a
href="7340bdf01d"><code>7340bdf</code></a>
Audit EP checks for argumentless mock().</li>
<li><a
href="b92c9b1b55"><code>b92c9b1</code></a>
Rip out GuardedBy:CheckMemberReferences.</li>
<li><a
href="63fb30be3f"><code>63fb30b</code></a>
Have InvalidLink provide a hint about erasure if it sees &lt; in an
invalid meth...</li>
<li><a
href="4a5fd7bd5a"><code>4a5fd7b</code></a>
Suppress FieldCanBeLocal based on unused prefices.</li>
<li>Additional commits viewable in <a
href="https://github.com/google/error-prone/compare/v2.16...v2.17.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `error_prone_test_helpers` from 2.16 to 2.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/error-prone/releases">error_prone_test_helpers's
releases</a>.</em></p>
<blockquote>
<h2>Error Prone 2.17.0</h2>
<p>New Checkers:</p>
<ul>
<li><a
href="https://errorprone.info/bugpattern/AvoidObjectArrays"><code>AvoidObjectArrays</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/Finalize"><code>Finalize</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/IgnoredPureGetter"><code>IgnoredPureGetter</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/ProtoFieldNullComparison"><code>ImpossibleNullComparison</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/MathAbsoluteNegative"><code>MathAbsoluteNegative</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/NewFileSystem"><code>NewFileSystem</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/StatementSwitchToExpressionSwitch"><code>StatementSwitchToExpressionSwitch</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/UnqualifiedYield"><code>UnqualifiedYield</code></a></li>
</ul>
<p>Fixed issues: <a
href="https://github-redirect.dependabot.com/google/error-prone/issues/2321">#2321</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3144">#3144</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3297">#3297</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3428">#3428</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3437">#3437</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3462">#3462</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3482">#3482</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3494">#3494</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/error-prone/compare/v2.16...v2.17.0">https://github.com/google/error-prone/compare/v2.16...v2.17.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="27de40ba60"><code>27de40b</code></a>
Release Error Prone 2.17.0</li>
<li><a
href="bcf4dcf764"><code>bcf4dcf</code></a>
Optimize checks that report exactly the same fix in multiple
diagnostics, lik...</li>
<li><a
href="8ddb7cbb05"><code>8ddb7cb</code></a>
Record Error Prone initialization time</li>
<li><a
href="1d23141bd7"><code>1d23141</code></a>
Do the expensive bit last in UnusedMethod.</li>
<li><a
href="e3602572b0"><code>e360257</code></a>
Fix yet another NonCanonicalType crash</li>
<li><a
href="5768290a15"><code>5768290</code></a>
Make UnusedMethod recognize com.google.acai annotations,
com.google.caliper.B...</li>
<li><a
href="7340bdf01d"><code>7340bdf</code></a>
Audit EP checks for argumentless mock().</li>
<li><a
href="b92c9b1b55"><code>b92c9b1</code></a>
Rip out GuardedBy:CheckMemberReferences.</li>
<li><a
href="63fb30be3f"><code>63fb30b</code></a>
Have InvalidLink provide a hint about erasure if it sees &lt; in an
invalid meth...</li>
<li><a
href="4a5fd7bd5a"><code>4a5fd7b</code></a>
Suppress FieldCanBeLocal based on unused prefices.</li>
<li>Additional commits viewable in <a
href="https://github.com/google/error-prone/compare/v2.16...v2.17.0">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>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-01-03 11:49:41 -08:00
Mateusz Rzeszutek 59f00dfc64
Remove remaining context class loader mentions (#7419)
Continuation of #7391
2022-12-14 10:21:41 -08:00
Mateusz Rzeszutek c03bfc255b
Don't call Thread#setContextClassLoader() (#7391)
Related to #7220

Unfortunately it doesn't fix the aforementioned issue; while the CL used
is no longer the agent classloader, gauge collection still throws that
error.
Still, I think this is a good change that removes one source of agent's
CL leaking into application runtime.
2022-12-13 10:24:40 -08:00
Lauri Tulmin 52cfafc44a
Clean WeakConcurrentMap from background thread (#6240)
Currently our `WeakConcurrentMap` is only cleaned of stale entries when
it is accessed. There is an option to clean from a background thread,
but this creates a separate thread for every map. This pr introduces a
single background thread that cleans all maps.
I removed the option to create a thread per map as we don't use it, if
there is interest I could attempt to find a way to add it back.

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-11-23 09:24:51 -08:00
Mateusz Rzeszutek 82a3fe3001
Use otel.sdk.disabled property instead of the deprecated one (#7270) 2022-11-22 08:29:33 -08:00
Lauri Tulmin ae49d4f642
Fix rabbitmq latest deps test (#7262)
Resolves #7269

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-11-21 20:24:40 -08:00
jack-berg 94ba33e395
Use contrib AwsXrayPropagator (#7234)
Reflects move of `AwsXrayPropagator` to
[opentelemetry-java-contrib/aws-xray-propagator](https://github.com/open-telemetry/opentelemetry-java-contrib/tree/main/aws-xray-propagator).
2022-11-21 11:31:17 -08:00
dependabot[bot] 12f7871848
Bump byteBuddyVersion from 1.12.18 to 1.12.19 in /dependencyManagement (#7231)
Bumps `byteBuddyVersion` from 1.12.18 to 1.12.19.
Updates `byte-buddy` from 1.12.18 to 1.12.19
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/raphw/byte-buddy/releases">byte-buddy's
releases</a>.</em></p>
<blockquote>
<h2>Byte Buddy 1.12.19</h2>
<ul>
<li>Avoid possible lock through circular class loading of
<code>TypeDescription</code> subtypes.</li>
<li>Avoid access error when using unsafe API on Java 17 with an active
security manager.</li>
<li>Close URL class loader used in Gradle plugin.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/raphw/byte-buddy/blob/master/release-notes.md">byte-buddy's
changelog</a>.</em></p>
<blockquote>
<h2>Byte Buddy release notes</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c93425a1e9"><code>c93425a</code></a>
[maven-release-plugin] prepare release byte-buddy-1.12.19</li>
<li><a
href="b1f4e9b4ee"><code>b1f4e9b</code></a>
[release] New release</li>
<li><a
href="8d17e3a2a3"><code>8d17e3a</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/raphw/byte-buddy/issues/1359">#1359</a>
from eyalkoren/protection-domain</li>
<li><a
href="c57139e69c"><code>c57139e</code></a>
Using explicit ProtectionDomain in dynamically loaded classes</li>
<li><a
href="ff8be9a91b"><code>ff8be9a</code></a>
Attempt cloning protection domain from accessible object to avoid
security ma...</li>
<li><a
href="6fe45f76ef"><code>6fe45f7</code></a>
Make s in message optional.</li>
<li><a
href="9023501243"><code>9023501</code></a>
Fix scope of summary variable.</li>
<li><a
href="02091f13f4"><code>02091f1</code></a>
Update codeql-analysis.yml</li>
<li><a
href="628b6a90c5"><code>628b6a9</code></a>
Close class loader in Gradle plugin, if possible.</li>
<li><a
href="9a81856525"><code>9a81856</code></a>
Remove unused import.</li>
<li>Additional commits viewable in <a
href="https://github.com/raphw/byte-buddy/compare/byte-buddy-1.12.18...byte-buddy-1.12.19">compare
view</a></li>
</ul>
</details>
<br />

Updates `byte-buddy-dep` from 1.12.18 to 1.12.19
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/raphw/byte-buddy/releases">byte-buddy-dep's
releases</a>.</em></p>
<blockquote>
<h2>Byte Buddy 1.12.19</h2>
<ul>
<li>Avoid possible lock through circular class loading of
<code>TypeDescription</code> subtypes.</li>
<li>Avoid access error when using unsafe API on Java 17 with an active
security manager.</li>
<li>Close URL class loader used in Gradle plugin.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/raphw/byte-buddy/blob/master/release-notes.md">byte-buddy-dep's
changelog</a>.</em></p>
<blockquote>
<h2>Byte Buddy release notes</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c93425a1e9"><code>c93425a</code></a>
[maven-release-plugin] prepare release byte-buddy-1.12.19</li>
<li><a
href="b1f4e9b4ee"><code>b1f4e9b</code></a>
[release] New release</li>
<li><a
href="8d17e3a2a3"><code>8d17e3a</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/raphw/byte-buddy/issues/1359">#1359</a>
from eyalkoren/protection-domain</li>
<li><a
href="c57139e69c"><code>c57139e</code></a>
Using explicit ProtectionDomain in dynamically loaded classes</li>
<li><a
href="ff8be9a91b"><code>ff8be9a</code></a>
Attempt cloning protection domain from accessible object to avoid
security ma...</li>
<li><a
href="6fe45f76ef"><code>6fe45f7</code></a>
Make s in message optional.</li>
<li><a
href="9023501243"><code>9023501</code></a>
Fix scope of summary variable.</li>
<li><a
href="02091f13f4"><code>02091f1</code></a>
Update codeql-analysis.yml</li>
<li><a
href="628b6a90c5"><code>628b6a9</code></a>
Close class loader in Gradle plugin, if possible.</li>
<li><a
href="9a81856525"><code>9a81856</code></a>
Remove unused import.</li>
<li>Additional commits viewable in <a
href="https://github.com/raphw/byte-buddy/compare/byte-buddy-1.12.18...byte-buddy-1.12.19">compare
view</a></li>
</ul>
</details>
<br />

Updates `byte-buddy-agent` from 1.12.18 to 1.12.19
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/raphw/byte-buddy/releases">byte-buddy-agent's
releases</a>.</em></p>
<blockquote>
<h2>Byte Buddy 1.12.19</h2>
<ul>
<li>Avoid possible lock through circular class loading of
<code>TypeDescription</code> subtypes.</li>
<li>Avoid access error when using unsafe API on Java 17 with an active
security manager.</li>
<li>Close URL class loader used in Gradle plugin.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/raphw/byte-buddy/blob/master/release-notes.md">byte-buddy-agent's
changelog</a>.</em></p>
<blockquote>
<h2>Byte Buddy release notes</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c93425a1e9"><code>c93425a</code></a>
[maven-release-plugin] prepare release byte-buddy-1.12.19</li>
<li><a
href="b1f4e9b4ee"><code>b1f4e9b</code></a>
[release] New release</li>
<li><a
href="8d17e3a2a3"><code>8d17e3a</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/raphw/byte-buddy/issues/1359">#1359</a>
from eyalkoren/protection-domain</li>
<li><a
href="c57139e69c"><code>c57139e</code></a>
Using explicit ProtectionDomain in dynamically loaded classes</li>
<li><a
href="ff8be9a91b"><code>ff8be9a</code></a>
Attempt cloning protection domain from accessible object to avoid
security ma...</li>
<li><a
href="6fe45f76ef"><code>6fe45f7</code></a>
Make s in message optional.</li>
<li><a
href="9023501243"><code>9023501</code></a>
Fix scope of summary variable.</li>
<li><a
href="02091f13f4"><code>02091f1</code></a>
Update codeql-analysis.yml</li>
<li><a
href="628b6a90c5"><code>628b6a9</code></a>
Close class loader in Gradle plugin, if possible.</li>
<li><a
href="9a81856525"><code>9a81856</code></a>
Remove unused import.</li>
<li>Additional commits viewable in <a
href="https://github.com/raphw/byte-buddy/compare/byte-buddy-1.12.18...byte-buddy-1.12.19">compare
view</a></li>
</ul>
</details>
<br />

Updates `byte-buddy-gradle-plugin` from 1.12.18 to 1.12.19
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/raphw/byte-buddy/releases">byte-buddy-gradle-plugin's
releases</a>.</em></p>
<blockquote>
<h2>Byte Buddy 1.12.19</h2>
<ul>
<li>Avoid possible lock through circular class loading of
<code>TypeDescription</code> subtypes.</li>
<li>Avoid access error when using unsafe API on Java 17 with an active
security manager.</li>
<li>Close URL class loader used in Gradle plugin.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/raphw/byte-buddy/blob/master/release-notes.md">byte-buddy-gradle-plugin's
changelog</a>.</em></p>
<blockquote>
<h2>Byte Buddy release notes</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c93425a1e9"><code>c93425a</code></a>
[maven-release-plugin] prepare release byte-buddy-1.12.19</li>
<li><a
href="b1f4e9b4ee"><code>b1f4e9b</code></a>
[release] New release</li>
<li><a
href="8d17e3a2a3"><code>8d17e3a</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/raphw/byte-buddy/issues/1359">#1359</a>
from eyalkoren/protection-domain</li>
<li><a
href="c57139e69c"><code>c57139e</code></a>
Using explicit ProtectionDomain in dynamically loaded classes</li>
<li><a
href="ff8be9a91b"><code>ff8be9a</code></a>
Attempt cloning protection domain from accessible object to avoid
security ma...</li>
<li><a
href="6fe45f76ef"><code>6fe45f7</code></a>
Make s in message optional.</li>
<li><a
href="9023501243"><code>9023501</code></a>
Fix scope of summary variable.</li>
<li><a
href="02091f13f4"><code>02091f1</code></a>
Update codeql-analysis.yml</li>
<li><a
href="628b6a90c5"><code>628b6a9</code></a>
Close class loader in Gradle plugin, if possible.</li>
<li><a
href="9a81856525"><code>9a81856</code></a>
Remove unused import.</li>
<li>Additional commits viewable in <a
href="https://github.com/raphw/byte-buddy/compare/byte-buddy-1.12.18...byte-buddy-1.12.19">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>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2022-11-18 17:06:57 +01:00
jack-berg 97f036c3e5
Stop relocating :instrumentation:resources:library (#7136)
Per the discussion in the today's SIG and this
[comment](https://github.com/open-telemetry/opentelemetry-java/issues/4919#issuecomment-1305774636).

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-11-15 22:37:17 +00:00
David Boreham c009c79237
Ignore Nashorn's class loader for performance reasons (#7116)
See this discussion thread for background:
https://github.com/open-telemetry/opentelemetry-java-instrumentation/discussions/6985
2022-11-11 08:16:39 -08:00
jason plumb d6010b2976
Ignore trino shaded okhttp pool (#7114) 2022-11-09 06:36:18 +01:00
Lauri Tulmin 0c53d1ad8e
Handle UnsupportedClassVersionError in ServiceLoader on jdk9 (#7090)
Hopefully resolves the issue described in
https://github.com/open-telemetry/opentelemetry-java-instrumentation/discussions/7084
2022-11-08 08:44:52 -08:00
dependabot[bot] cfb475d7dd
Bump jackson-bom from 2.13.4.20221013 to 2.14.0 in /dependencyManagement (#7091)
Bumps [jackson-bom](https://github.com/FasterXML/jackson-bom) from
2.13.4.20221013 to 2.14.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cd99403b64"><code>cd99403</code></a>
[maven-release-plugin] prepare release jackson-bom-2.14.0</li>
<li><a
href="50dedf02e5"><code>50dedf0</code></a>
Prepare for 2.14.0</li>
<li><a
href="69023b4ec9"><code>69023b4</code></a>
Back to snapshots</li>
<li><a
href="ffb3dd2940"><code>ffb3dd2</code></a>
[maven-release-plugin] prepare for next development iteration</li>
<li><a
href="229c0be857"><code>229c0be</code></a>
[maven-release-plugin] prepare release jackson-bom-2.14.0-rc3</li>
<li><a
href="b3e3950eb7"><code>b3e3950</code></a>
Prepare for 2.14.0-rc3 release</li>
<li><a
href="babf49afc8"><code>babf49a</code></a>
Merge branch '2.13' into 2.14</li>
<li><a
href="f52258f22a"><code>f52258f</code></a>
[maven-release-plugin] prepare for next development iteration</li>
<li><a
href="20416ee364"><code>20416ee</code></a>
Merge branch '2.13' into 2.14</li>
<li><a
href="fd343f3524"><code>fd343f3</code></a>
Merge branch '2.13' into 2.14</li>
<li>Additional commits viewable in <a
href="https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.13.4.20221013...jackson-bom-2.14.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.fasterxml.jackson:jackson-bom&package-manager=gradle&previous-version=2.13.4.20221013&new-version=2.14.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>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-11-08 13:19:09 +01:00
jason plumb 6f9ca0b80b
Ignore presto-jdbc shaded okhttp3 connection pool. (#7031)
This holds onto span context if not ignored. For vanilla `okhttp3` we
have an explicit ignore in the `OkHttp3IgnoredTypesConfigurer` class,
but `presto-jdbc` repackages okhttp3 when it shades it.
2022-11-03 11:04:57 +01:00
jack-berg aeac361816
Upgrade to otel java 1.19.0 (#6757)
Working PR to capture all the changes required to update to otel java
1.19.0. The new log API force allows
`:instrumentation-appender-api-internal` and
`:instrumentation-appender-sdk-internal`, but necessitates a decent
amount of refactoring as a result.

The PR points at the `1.19.0-SNAPSHOT`, which I'll update upon
publication.

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2022-10-12 09:19:37 -07:00
Trask Stalnaker 429ecfc713
Update error prone (#6646)
(note that change from BDDMockito is due to
https://github.com/google/error-prone/issues/3396)
2022-09-23 11:24:40 -07:00
Trask Stalnaker e7dd21477d
Update bytebuddy core dependency, and make dependencies more dependabot friendly (#6704)
(probably need to revisit later what's a "core dependency" and what's
not, but doesn't seem to be any real difference other than organization)
2022-09-22 09:53:53 -07:00
Mateusz Rzeszutek ff498261c3
Fix the order of configuration file application (#6697)
Fixes #6696
2022-09-21 14:30:40 -07:00
Mateusz Rzeszutek 8b2b3281fe
Encapsulate logging (#6543)
* Encapsulate actual logging implementation better

* Apply suggestions from code review

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* code review comments

* revert to the old slf4j package name

* spotless

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-09-12 13:22:26 -07:00
Mateusz Rzeszutek 7b139e9df9
Remove agent's Ordered interface and use the SDK one (#6589) 2022-09-12 12:15:18 -07:00
Trask Stalnaker af61a8b578
Update to otel 1.18.0 (#6575) 2022-09-11 10:35:05 -07:00
Mateusz Rzeszutek 0d6f0b15d0
Update dependencies (#6499)
* Update dependencies

* Strictly pin slf4j and logback versions

* logback 1.3

* Only use slf4j 2.0.0 internally in the javaagent

* Pre-initialize slf4j provider

* Bump jackson version

* licenses
2022-09-06 13:04:30 -07:00
Mateusz Rzeszutek 59cb9ca0df
Remove deprecated code (#6501)
* Remove deprecated code

* unnecessary semicolon

* fix distro and extension examples
2022-08-24 14:36:57 -07:00
Mateusz Rzeszutek fdc325e209
Deprecate agent config SPIs (#6476) 2022-08-18 10:28:16 +02:00
Mateusz Rzeszutek 08f013f9d6
Update gradle to 7.5.1 (#6359)
* Update gradle to 7.5

* Bump to 7.5.1

* gradle 7.5.1 with jdk17

* spotless

* one more --add-opens

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2022-08-12 12:03:43 +02:00
Trask Stalnaker 68a9f20eb3
Enable PrivateConstructorForUtilityClass errorprone check (#6427)
* PrivateConstructorForUtilityClass

* Advice

* More advice

* More

* More advice

* More

* Spotless

* Fix

* Fix

* Fix

* A better solution

* Revert

* More

* Fix

* Spotless

* Fix
2022-08-10 11:30:22 +03:00
Mateusz Rzeszutek 976ab9411c
Deprecate Config (#6360)
* Deprecate Config

* suppress deprecation on ConfigTest
2022-07-25 12:10:11 -07:00
Lauri Tulmin 57c9072df3
Instrumenting classes with missing method return or parameter types (#6286)
* Allow instrumenting classes with missing method return or parameter types

* add test
2022-07-18 19:13:10 -07:00