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
Lauri Tulmin
2d0aa19179
Add missing java.util.logging.Logger methods to PatchLogger ( #4540 )
...
* Add missing java.util.logging.Logger methods to PatchLogger
* spotless
2021-10-28 17:59:21 -07:00
Martin
6d9e3618d3
rename `newBuilder()` to `builder()` ( #4407 )
...
* rename `newBuilder()` to `builder()`
* code format
2021-10-18 10:00:49 -07:00
Martin
ac91dc090a
Type annotation placement ( #4406 )
...
* switch annotation `org.checkerframework.checker.nullness.qual.Nullable` to `javax.annotation.Nullable`
* code format
2021-10-17 17:38:43 -07:00
Mateusz Rzeszutek
b4984657b5
Move BootstrapPackagePrefixesHolder to javaagent-bootstrap ( #4303 )
2021-10-05 11:26:24 -07:00
Mateusz Rzeszutek
9d6fb65b41
Remove ContextStore/InstrumentationContext mentions from internal age… ( #4267 )
...
* Remove ContextStore/InstrumentationContext mentions from internal agent classes
* Fix internal-reflection module
2021-10-04 09:24:25 -07:00
Lauri Tulmin
559cdcbbee
Transform lambda classes ( #4182 )
...
* Transform lambda classes
* improve comment
2021-09-24 09:52:15 -07:00
Lauri Tulmin
0f3d0cb05b
Generate our own sun.misc.Unsafe if it is not available ( #4124 )
...
* Generate our own sun.misc.Unsafe if it is not available
* skip generating invokeCleaner method
* grpc isn't shaded so setting system property doesn't affect only our bundled copy
* generate invokeCleaner when it is present in internal unsafe
2021-09-22 20:18:20 -07:00
Matthew Ho
6967484a97
Update groovy import order to match default IntelliJ ( #1708 ) ( #4047 )
...
* Update groovy import order to match default IntelliJ (#1708 )
* organized imports for .groovy files to follow default IntelliJ import settings
* updated intellij-setup.md
* Spotless
* drift
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-09-11 11:53:08 -07:00
Mateusz Rzeszutek
c1b5c0884d
Move caffeine patching to instrumentation-api-caching ( #3559 )
2021-07-14 13:59:50 +02:00
Trask Stalnaker
093ff6ac43
Checkstyle for logger ( #3520 )
...
* Add checkstyle validation for logger name
* Missed one
2021-07-08 09:54:38 +03:00
Nikita Salnikov-Tarnovski
901bae57b4
Make HelperInjector's dependency on Instrumentation instance more visible ( #3491 )
...
* Make HelperInjector's dependency on Instrumentation instance more visible
* Polish
* Polish
* Fix docs
2021-07-06 07:44:26 +03:00
Mateusz Rzeszutek
02ef588f68
Remove dependency on javaagent-bootstrap from javaagent-extension-api ( #3477 )
2021-07-03 11:18:53 -07:00
Nikita Salnikov-Tarnovski
47819633e4
Read correct manifest ( #3439 )
...
* Read correct manifest
* Unused field removed
2021-07-01 08:25:01 -07:00
Trask Stalnaker
367335fa28
Remove unnecessary and complex logic ( #3395 )
2021-06-30 21:36:48 -07:00
Trask Stalnaker
48a90b090c
Better support for wrapping premain ( #3302 )
...
* Better support for wrapping premain
* fix
* Fix test
* Sync comment from test
2021-06-15 09:27:10 +03:00
Nikita Salnikov-Tarnovski
b9eac531ea
Embedded extension ( #3237 )
...
* Support for multiple extension jars by scanning the given folder
* Support to embed extension jar right inside agent jar
* Support for multiple embedded extensions
* Create temp folder for embedded extensions only if they found
* ExtensionClassLoader skips agent jar when scanning folder
* Apply suggestions from code review
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* Update examples/extension/build.gradle
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-06-14 16:24:25 -07:00
Trask Stalnaker
62f1f49bcd
Intellij cleanup (Java and Groovy) ( #3285 )
...
* Intellij cleanup
* Update instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/code/CodeAttributesExtractorTest.java
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Update instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/db/DbAttributesExtractorTest.java
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Update instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/db/SqlAttributesExtractorTest.java
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Update instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/messaging/MessagingAttributesExtractorTest.java
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Update instrumentation/spring/spring-web-3.1/library/src/test/java/io/opentelemetry/instrumentation/spring/httpclients/RestTemplateInterceptorTest.java
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Use glassfish version that supports lambdas
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2021-06-14 10:23:01 -07:00
Anuraag Agrawal
2436499a09
Update to Errorprone 2.7 ( #3181 )
...
* Update to errorprone 2.7
* ToString
* Finish
2021-06-04 10:40:55 +09:00
Trask Stalnaker
be6816489a
Small cleanup ( #3163 )
...
* Small cleanup
* Ooops
2021-06-02 08:56:49 +03:00
Anuraag Agrawal
c3dedbb64e
Enable all errorprone checks ( #3155 )
...
* Enable all errorprone checks
* Fixes
* Finish
* Finish
* Add flag to disable error prone
2021-06-01 17:41:08 +09:00
Anuraag Agrawal
ed88cca533
Migrate from spotbugs to errorprone ( #3122 )
...
* Migrate from spotbugs to errorprone
* Fix hashtable
* try-with-resources
* Fix from merge
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-28 14:23:40 -07:00
Nikita Salnikov-Tarnovski
e3cf8ecf18
First POC for external extension loading ( #2881 )
...
* First POC for external extension loading
* Fix NPE
* Urlhandler
* Fix
* Polish
* Polish
* Urlhandler
* Trying Urlhandler
* Alternative way to load extensions
* Polish
* Add example extensions and smoke test for their usage
* Support for system property
* Polish
* Avoid doing remapping twice
* Polish after merge
* Update to latest changes in extentions api
* Polish
* No need for tooling
* Simplify
* Cleanup
* Better error handling
* Update to the latest API
2021-05-18 22:59:39 +03:00
Lauri Tulmin
0b854a5eb6
Agent class loader multi release jar ( #2912 )
...
* Agent class loader multi release jar
* improve handling of signed agent jar
2021-05-11 14:54:56 -07:00
Trask Stalnaker
6a84c2b2ec
Remove unnecessary generic type args ( #2937 )
...
* Remove unnecessary generic type args
* Revert one
2021-05-10 12:18:30 +09:00
Trask Stalnaker
65995388e6
Clean up Java 7 references ( #2931 )
...
* Clean up Java 7 references
* Use Java 8 stuff!
* Spotless
2021-05-09 14:16:42 +03:00
Lauri Tulmin
a04ca47d60
Prevent AgentClassLoader from loading ContextStorageOverride ( #2847 )
2021-04-22 16:25:35 +02:00
Trask Stalnaker
117d38a01b
Support URLClassLoader addURL ( #2772 )
2021-04-12 15:53:44 -07:00
Trask Stalnaker
6ea316e22e
Remove timeout annotations ( #2725 )
2021-04-06 16:36:18 +09:00
Lauri Tulmin
53cd8a904c
Implement getContentLenth for InternalJarUrlHandler ( #2692 )
2021-04-02 08:30:10 +03:00
Trask Stalnaker
af13e7d6e3
Remove oshi-related code from shared agent code ( #2682 )
2021-03-31 22:53:22 -07:00
Anuraag Agrawal
79d7e88e53
Use Caffeine for weak maps ( #2601 )
...
* Caffeine weakmap
* Use Caffeine for weak maps
* Drift
* Drift
* Remove weak-lock-free
* Update licenses
* Fix bug
* Restore weaklockfree
* Clean
* Fixes
* Inline expunction
* Synchronized
* More comment
* Fix shading
* Executor
* computeIfAbsent and delete unused.
* Fix license report
2021-03-24 17:12:26 +09:00
Anuraag Agrawal
682dd10a6e
Fix shading of caching artifact. ( #2523 )
2021-03-08 13:32:20 +09:00
Anuraag Agrawal
d7f8967ff6
Add a caching API based on caffeine for use from instrumentation, not just javaagent ( #2477 )
...
* Add caching API
* Finish
* javadoc
* Extract dep
* git add
* Drift
* Spotbugs
* checkstyle
* Fix package
* Test Caffeine patch
2021-03-05 17:57:23 +09:00
Trask Stalnaker
0abc492bc3
Rename more properties ( #2486 )
...
* Rename more props to experimental
* Rename more properties
* Rename .internal to .testing
* Revert changes to examples distro
* Move chunk.new-trace to experimental
* Fix unrelated build issue
2021-03-04 11:20:47 -08:00
Trask Stalnaker
16d654c59e
Add addHandler method to PatchLogger ( #2430 )
2021-02-28 00:03:38 +02:00
Trask Stalnaker
79fa9e0816
Fix debug logging ( #2351 )
...
* Fix debug logging
* Fix test
* Fix another test
2021-02-20 10:06:50 +02:00
Lauri Tulmin
c95b5048e8
Avoid NoSuchMethodError on shutdown ( #2321 )
2021-02-18 11:51:55 +09:00