Gregor Zeitlinger
cc34116f48
support dynamic attach ( #13499 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2025-03-27 09:38:49 +02:00
Lauri Tulmin
7938d83da7
Avoid codeql zip slip warning ( #13193 )
2025-03-13 15:40:39 -07:00
SylvainJuge
ca3c685c3c
indy instrumentation - leftovers migration ( #13074 )
2025-01-31 07:47:07 -08:00
SylvainJuge
7c82dc4366
make servlet3 + spring webmvc + jaxrs 2.0 indy compatible ( #12432 )
2024-11-29 18:48:46 -08:00
Lauri Tulmin
6a9654d2ce
Unify aws lambda flush handling ( #12576 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-11-06 19:14:21 +00:00
Lauri Tulmin
68ee2f6cc5
Set up virtual field transforms before otel sdk is initialized ( #12444 )
2024-10-25 16:55:36 -07:00
Jonas Kunz
427c8e551f
Make internal classloader instrumentation indy compatible ( #12242 )
...
Co-authored-by: SylvainJuge <763082+SylvainJuge@users.noreply.github.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-10-24 23:26:26 +00:00
Lauri Tulmin
1c3a3749b8
Delegate loading of java package to platform loader ( #12505 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2024-10-24 09:02:43 +03:00
Jonas Kunz
ff44af85ac
Added unit test for DefineClassInstrumentation ( #12483 )
...
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-10-23 13:20:17 +03:00
Serkan ÖZAL
7b49d12506
Delay loading `InetAddressResolverProvider` until after the agent has started ( #11987 )
...
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2024-08-19 15:44:45 -07:00
Lauri Tulmin
e7d0278fc8
Improve security manager support ( #11466 )
2024-05-29 09:11:22 +03:00
Lauri Tulmin
0de1dcff45
Fail test if advice threw an exception ( #9654 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-10-11 19:17:20 +00:00
Jonas Kunz
10480adc64
Implement invokedynamic advice bootstrapping ( #9382 )
2023-09-13 17:44:47 -07:00
Trask Stalnaker
39574290c9
Fix build ( #9283 )
2023-08-23 05:49:48 +02:00
Lauri Tulmin
81f6a3a0c2
Faster type matching ( #8525 )
2023-06-02 18:35:31 +03: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
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
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
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 "Suppression" section that recommends
`@SuppressWarnings("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 "Suppression" section that recommends
`@SuppressWarnings("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 "Suppression" section that recommends
`@SuppressWarnings("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
Lauri Tulmin
2a2f7cd312
Make java.sql classes available to the agent and extensions ( #7038 )
...
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7037
2022-11-03 11:42:28 -07: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
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
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
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
Trask Stalnaker
701ed54311
Use "class loader" instead of "classloader" consistently in docs and comments ( #6236 )
...
* Use "class loader" consistently instead of classloader
* Java comments too
* Fix bad merge
2022-06-30 14:57:07 -07:00
Trask Stalnaker
c22af231bd
Add JavaagentFileHolder ( #5993 )
2022-05-10 11:03:40 +03:00
Lauri Tulmin
8beb134910
Load agent classes child first ( #5950 )
2022-04-28 08:37:09 -07:00
Mateusz Rzeszutek
7c760acea6
Move some classes out of `javaagent-instrumentation-api` ( #5841 )
...
* Move concurrent instrumentation utils out from javaagent-instrumentation-api
* Move AgentLogEmitterProvider, InstrumentedTaskClasses and OpenTelemetrySdkAccess out of javaagent-instrumentation-api
2022-04-15 12:09:28 -07:00
Lauri Tulmin
4ad44909ca
Faster type matching ( #5724 )
...
* Faster type matching
* make findLoadedClass accessible on java17
* enable jaxrs instrumentation for quarkus test
* fix websphere
* fix muzzle
* javadoc formating
* ignore classes that are know to fail to load for virtual field transforms
* add back jaxrs and jaxws annotation instrumentations
* Apply suggestions from code review
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* fix compile error
* comments
* replace deprecated method usage
* add comment
* add an spi to get access to bootstrap proxy from muzzle module
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-04-08 10:38:50 -07:00
Mateusz Rzeszutek
519024485c
Move Cache and related classes to internal package ( #5759 )
...
* Move Cache and related classes to internal package
* fix imports
2022-04-06 18:12:11 -07:00
Lauri Tulmin
315b8162be
Delete unused class ( #5729 )
2022-04-01 11:26:13 +02:00
Mateusz Rzeszutek
7bc748a2ff
Make it possible to register multiple helper resources under the same… ( #5703 )
...
* Make it possible to register multiple helper resources under the same name
* go back to using the old property in tests after all
* code review comments
2022-03-31 11:51:46 +02:00
Mateusz Rzeszutek
b668e73e13
Convert all logging statements from slf4j to jul ( #5674 )
...
* Convert all logging statements from slf4j to jul
* code review comments
* fix tests
* Fix randomly failing test
2022-03-25 10:02:51 -07:00
Anuraag Agrawal
14372adb68
Migrate Guava tests to Java ( #5668 )
...
* Migrate Guava tests to Java
* Update instrumentation/guava-10.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/guava/ListenableFutureTest.java
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
* Workaround inline mock issue
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2022-03-24 14:14:09 +09:00
Mateusz Rzeszutek
f2587ba248
Apply micrometer instrumentation to spring-boot-actuator apps ( #5666 )
...
* Apply micrometer instrumentation to spring-boot-actuator apps
* fix a bug
* code review comments
2022-03-23 10:25:51 -07:00
Trask Stalnaker
531f18f56b
Fix possible deadlock ( #5585 )
...
* Fix possible deadlock
* don't break java 8
* try @laurit's idea
* Update javaagent-bootstrap/src/main/java/io/opentelemetry/javaagent/bootstrap/AgentClassLoader.java
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2022-03-17 12:39:56 +02:00
Lauri Tulmin
c461d22d83
Define helper classes in loadClass ( #5528 )
...
* Define helper classes in loadClass similarly to regular classes
* fix test
* spotless
* address review comments
2022-03-09 09:12:25 -08:00
Lauri Tulmin
b8a2d0a502
Load jdk http server classes from platform class loader ( #5408 )
2022-02-19 11:53:49 -08:00
Lauri Tulmin
fbf00761cc
Use VirtualField for associating netty listener with wrapper ( #5282 )
...
* Use VirtualField for associating netty listener with wrapper
* Move ignoring lambas for injected classes to LambdaTransformer
2022-01-31 14:45:12 -08:00
Lauri Tulmin
f2a2786759
Recover from duplicate class definition errors ( #5185 )
...
* Recover from duplicate class definition errors
* fix hotspot8
* Suppress dupicate class definiton errors only when helper classes were injected
* exit define class context when there is an exception, update pseudocode in comment
2022-01-25 09:37:37 -08:00
Lauri Tulmin
c76345a973
Always set parent of agent class loader to bootstrap class loader ( #5169 )
...
* Always set parent of agent class loader to bootstrap class loader
* remove parent class loader argument
2022-01-18 19:36:28 -08:00
Anuraag Agrawal
f6bcd76219
Update errorprone ( #5016 )
...
* Update errorprone
* gwt
* Remove unnecessary final
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-01-06 14:21:56 -08:00
Lauri Tulmin
c45b4ea5be
Fix redefinition failure on openj9 ( #5009 )
...
* Fix redefinition failure on openj9
* isntead of remembering the list of interfaces the class has remember whether it has any of the virutal field marker interfaces
* address review comment
* ensure virtual field detection works when internal-reflection instrumentation is disabled
2022-01-06 08:54:32 -08:00
Lauri Tulmin
3f3180841e
Avoid crashing on early 1.8 openjdk vms ( #4789 )
2021-12-05 13:37:01 +02:00
Lauri Tulmin
1e371377a1
Fix build ( #4743 )
...
* Fix build
* avoid npe
2021-11-30 14:07:07 +02:00
Lauri Tulmin
10288c6f25
Work around jvm crash on early 1.8 ( #4345 )
...
* Work around jvm crash on early 1.8
* skip retransform if class was already transformed during load
* fix imports after rebase
* add test
* disable test on windows
2021-11-29 22:47:10 -08:00
Lauri Tulmin
92f83f10f0
Remove virtual field interfaces from reflection results ( #4722 )
...
* Remove virtual field interfaces from reflection results
* fix java8 and openj9
2021-11-29 12:09:28 -08:00
Nikita Salnikov-Tarnovski
821a4b870b
Drop instrumentation-api-caching module and move weak cache implementation to instrumentation-api ( #4667 )
...
* Drop instrumentation-api-caching module and move weak cache implementation to instrumentation-api
* Some test fixes
* Some cleanup
* Temporary workaround for using weak values in FutureListenerWrappers
* Spotless
* Update ClassNames and SpanNames
* Compilation and comment
* Add bounded cache and clean interface
* Polish
* Add comment
* Vendor ConcurrentLinkedHashMap in
* Let errorprone ignore vendored CLHM for now
* Keep license in java files too
* Convert Netty wrapper cache to VirtualField
* Work around lambda instrumentation failure
Ideally we would ignore instrumenting helper classes...
* Revert "Work around lambda instrumentation failure"
This reverts commit 6d63815b44
.
* Revert "Convert Netty wrapper cache to VirtualField"
This reverts commit dac1522a3f
.
* Handle cleared weak values
* Fix comment
* Delete instrumentation-api-caching
* Copy in weak-lock-free
* Remove caffeine remnants
* Fix checkstyle
* Rename BoundedCache to MapBackedCached
* Remove duplicate LICENSE
* Remove outdated comment
* Sync with SDK copy of weaklockfree
* Enable checkstyle:off comment
* Re-generate license report
* Move NOTICE file to package-info.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-11-24 09:05:12 -08:00