Commit Graph

56 Commits

Author SHA1 Message Date
Mateusz Rzeszutek 4fd52c5a7c
Encode version in library instrumentations' package names (#7764)
Another part of #932

In this PR I changed all the library instrumentation packages -- these
are breaking changes, so I figured the earlier we do this the less
painful it'll be to the users. I know that at least some of them are
actively used, so we'll need to spell this out in the release notes.

---------

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-02-14 23:25:59 +00:00
Trask Stalnaker 597b2a5321
More spotless (#7126) 2022-11-11 05:01:21 +00: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 faa99b2eeb
Update SDK to 1.17.0 (#6467)
* Update SDK to 1.17.0

* Fix

* Update licenses

* Spotless

* license
2022-08-12 17:10:46 -07:00
Trask Stalnaker c3c4fb7101
Finish annotation move (#6386)
* Update tests with new annotation

* more

* Fix build

* More
2022-08-01 09:19:58 -07:00
Trask Stalnaker fb784aa877
Support new annotations (and change of instrumentation name for opentelemetry-annotations) (#6296)
* Support new annotations

* Consistency

* Simplify

* Annotation

* oops
2022-07-11 14:34:26 -07:00
Trask Stalnaker 177f0aec7c
Rename instrumentation-api-annotation-support (#6288) 2022-07-08 17:07:41 -07:00
Mateusz Rzeszutek e7887ac929
Idea: deprecate `Config`, add agent-only `InstrumentationConfig` (#6264)
* Idea: deprecate Config, add agent-only InstrumentationConfig

* fix

* fix camel test

* fix external-annotation tests
2022-07-08 16:20:49 +02:00
Mateusz Rzeszutek 6a0ca530b7
Instrumentation API changes: VirtualField (#6017)
* Instrumentation API changes: VirtualField

* change class name in string constant
2022-05-12 11:17:24 -07:00
Mateusz Rzeszutek d919f84cf8
Merge javaagent-instrumentation-api into javaagent-extension-api (#5936)
* Merge javaagent-instrumentation-api into javaagent-extension-api

* remove some leftover references to javaagent-instrumentation-api

* add missing instrumentation-api to distro example
2022-04-28 20:11:15 -07:00
Trask Stalnaker 0d92a21f37
Rename javaagent executor package names (#5847)
* Rename package javaconcurrent -> executors

* Rename package concurrent -> executors
2022-04-18 22:15:28 -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
Anuraag Agrawal 496c6cfb0a
Fix WithSpan initialization ordering requirement for SpanAttribute and Flux (#5764)
* Add shared tests for async end strategy WithSpan

* WIP

* WIP

* Finally

* dump

* Oops

* namedOneOf
2022-04-08 20:01:39 +09:00
Anuraag Agrawal 79cd0934b5
Tweak Guava WithSpan test pattern. (#5744) 2022-04-04 11:50:58 -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
Lauri Tulmin 45bd419ec0
Run tests with jdk17 (#5598) 2022-03-17 13:25:16 -07:00
Fabrizio Ferri-Benedetti 4d7a5d5062
Add settings docs for instrumentations (#4981)
* First commit

* Add other instrumentation docs

* Peer edits

* Update instrumentation/kafka/kafka-clients/README.md

Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>

* Update instrumentation/methods/README.md

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Update instrumentation/netty/README.md

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Update instrumentation/reactor/reactor-netty/README.md

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Update instrumentation/servlet/README.md

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Fixes

* Update instrumentation/couchbase/README.md

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Update instrumentation/rocketmq-client-4.8/README.md

Well spotted!

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Update instrumentation/spring/README.md

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2022-01-03 10:24:48 -08:00
Martin 6d9e3618d3
rename `newBuilder()` to `builder()` (#4407)
* rename `newBuilder()` to `builder()`

* code format
2021-10-18 10:00:49 -07:00
Mateusz Rzeszutek c11b96e4d0
Make it possible to use InstrumentationContext (now VirtualField) fro… (#4218)
* Make it possible to use InstrumentationContext (now VirtualField) from library instrumentation

* fix tests

* fix javadocs

* fix some more tests

* code review comments

* setIfNull, computeIfNull
2021-10-01 11:13:11 +02:00
Lauri Tulmin 559cdcbbee
Transform lambda classes (#4182)
* Transform lambda classes

* improve comment
2021-09-24 09:52:15 -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
Trask Stalnaker 20c72f3e98
Format kotlin gradle files (#3942)
* Add ktlint for kotlinGradle

* ktlint fails on wildcard imports

* Auto-format kotlin gradle files
2021-08-25 13:43:57 +09:00
Mateusz Rzeszutek 5c71d28ed7
Remove deprecated Config methods (#3908) 2021-08-23 16:44:54 -07:00
HaloFour a5513a3c60
Port opentelemetry-annotations-1.0 to Instrumenter API (#3738)
* Port WithSpanInstrumentation to Instrumenter API

* Unit tests, clean up attribute binding APIs

* Remove AsyncSpanEndStrategies and fix weak reference purging

* Move tryToGetResponse to AsyncOperationEndSupport

* Address PR comments

* ParameterAttributeNamesExtractor can no longer return a null array
2021-08-06 10:42:18 -07:00
Mateusz Rzeszutek 21b6492c17
Resolve TODOs in executor instrumentations (#3760) 2021-08-04 12:49:53 +02:00
Mateusz Rzeszutek ba4db4801f
Clean up concurrent advice utilities in javaagent-instrumentation-api (#3757)
* Clean up concurrent advice utilities in javaagent-instrumentation-api

* fix classloading tests
2021-08-03 09:17:19 -07:00
HaloFour 256e8f2a64
Move async strategies to annotation support (#3574)
* Move async strategies to annotation support

* Fix dependencies and refactor copypasta

* Move AsyncSpanEndStrategy to annotation support project

* spotless
2021-07-16 10:55:23 +02:00
HaloFour 4500dd984b
Port AsyncSpanEndStrategy implementations to AsyncOperationEndStrategy (#3454)
* Port RxJava 2 async strategy to new interface

* Port RxJava 3 async strategy to new interface

* Port Guava async strategy to new interface

* Port Reactor async strategy to new interface

* Kick CI
2021-07-05 10:45:49 +02:00
Anuraag Agrawal 761b9c280b
Migrate instrumentation gradle files to kotlin (#3414)
* Migrate instrumentation gradle files to kotlin

* Convert

* Muzzle
2021-06-28 17:27:12 +09:00
Anuraag Agrawal 785dc6adf2
Rename build files to build.gradle (#3409)
* Rename build files to build.gradle

* Rename smoke-tests

* Fix already broken
2021-06-25 16:10:31 +09:00
Anuraag Agrawal deb0e255cf
Use plugins block everywhere for applying plugins (#3386)
* Use plugins block everywhere for applying plugins

* Actually it's library instrumentation
2021-06-24 11:13:35 +09:00
Anuraag Agrawal 80f43b7a6a
Migrate javaagent-instrumentation to plugin (#3328)
* Migrate instrumentation.gradle to plugin

* Migrate usages

* Remove old

* Fix

* Revert example

* afterEvaluate

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-06-17 23:13:14 +09:00
Anuraag Agrawal b7bfbf0cc6
Migrate instrumentation-library / common to plugins (#3320) 2021-06-15 11:54:48 -07:00
Trask Stalnaker dc316609ee
Remove unnecessary final on params and local vars (#3283)
* Remove unnecessary final on params and local vars

* Fix gwt

* Keep final for non-initialized var

* Keep final for non-initialized var

* Keep final for non-initialized var
2021-06-14 07:13:11 +03:00
Trask Stalnaker 4c80c62ce7
Add unused to remaining advice classes (#3280)
* Add unused to remaining advice classes

* Add newlines for visual separation
2021-06-14 11:12:02 +09:00
Trask Stalnaker 59abf0380f
Remove last muzzleCheck methods (#3208) 2021-06-07 15:29:39 -07:00
HaloFour 7c3c8883a8
End span with attribute on cancellation of Guava future (#3175) 2021-06-03 14:13:56 -07: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
Anuraag Agrawal c358a35414
Use dependency management pattern for dependency versions (#3113)
* Use dependency management pattern for dependency versions.

* Add groovy bom too

* Update dependencyManagement/dependencyManagement.gradle.kts

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-28 11:32:08 +09:00
Trask Stalnaker 98b566959a
Make TypeInstrumentations top-level classes (#3100) 2021-05-27 13:27:28 -07:00
Mateusz Rzeszutek bb8f515083
Refactor TypeInstrumentation#transformers() method (#3019)
* Refactor TypeInstrumentation#transformers() method part 1

Add TypeInstrumentation and its implementations

* Refactor TypeInstrumentation#transformers() method part 2

Use the new method in all existing TypeInstrumentation implementations

* Drift

* Spotless

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-18 09:50:26 +02:00
Anuraag Agrawal fe41885ee6
Switch to colon notation for dependencies. (#2994)
* Switch to colon notation for dependencies.

* Even more cleanup

* Revert mistake
2021-05-15 15:31:06 +09:00
Mateusz Rzeszutek 9c7fae3b04
Extract javaagent-extension-api from tooling & spi (#2879) 2021-05-06 23:30:25 -07:00
Mateusz Rzeszutek 5810e4c0b5
Fix merge conflict on the main branch (#2882) 2021-04-28 18:39:50 +02:00
HaloFour 5c15f5e29f
Async @WithSpan Instrumentation for Guava ListenableFuture (#2811)
* Add Guava instrumentation library with AsyncSpanEndStrategy

* Enable span strategy in advice

* Spotless

* Nix attempt at typeInitializer advice, leave TODO comment to revisit

* Move async span strategy registration to helper class

* Remove use of sameThreadExecutor

* Make helper class final and add comment about relying on static initializer
2021-04-28 14:38:19 +02:00
Mateusz Rzeszutek 078603caf5
Generate InstrumentationModule#contextStore() with muzzle (#2775) 2021-04-13 20:05:01 -07:00
Trask Stalnaker 26f254b10d
Create javaagent dirs for all instrumentations, part 2 (#1794) 2020-11-28 22:26:49 -08:00
Trask Stalnaker 5f263644da
Create javaagent dirs for all instrumentations (#1668)
* Create javaagent dirs for all instrumentation

* Add note about kotlin coroutine library instrumentation

* Feedback
2020-11-28 21:04:16 -08:00
Mateusz Rzeszutek 9a64a628ea
Make instrumentations non final (#1752)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-11-26 11:22:25 -08:00