Commit Graph

173 Commits

Author SHA1 Message Date
Trask Stalnaker d0cb08a37b
Rename javaagent-api artifact to javaagent-instrumentation-api (#3513)
* part 1

* part 2

* Undo change in examples

* Spotless
2021-07-12 21:53:49 -07:00
Mateusz Rzeszutek f78d414975
Publish armeria-shaded-for-testing without -all classifier (#3475)
* Publish armeria-shaded-for-testing without -all classifier

* Update testing-common/build.gradle.kts

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

* compileOnly

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-07-06 12:15:06 +02:00
Anuraag Agrawal 8eb24f9886
Split up build logic to plugins that can eventually be published and … (#3474)
* Split up build logic to plugins that can eventually be published and this-repo-specific stuff.

* Muzzle

* compileOnly

* Typo
2021-07-05 16:18:45 +09:00
Mateusz Rzeszutek f5f2de9511
Refactor/rename BootstrapPackagesProvider and PropertySource (#3435)
* Refactor/rename BootstrapPackagesConfigurer and PropertySource

* Update comment
2021-07-01 08:26:51 -07:00
Anuraag Agrawal 4ce9ff3a69
Migrate projects with isolateSpec to kotlin (#3447)
* Migrate projects with isolateSpec to kotlin

* Migrate
2021-06-30 19:23:28 +09:00
Anuraag Agrawal 262c5d59d7
Migrate testing and shaded-for-instrumenting builds to kotlin (#3448)
* Migrate testing and shaded-for-instrumenting builds to kotlin

* Migrate
2021-06-30 19:21:20 +09:00
Anuraag Agrawal d53e62b4dc
Remove noShadowPublish (#3426) 2021-06-29 16:55:53 +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
Mateusz Rzeszutek 02098b9353
Ignore task classes using IgnoredTypesConfigurer (#3380) 2021-06-23 10:15:02 -07:00
Mateusz Rzeszutek f451aef43c
Improve ignored but instrumented types assertion in javaagent tests (#3356)
* Improve ignored but instrumented types assertion in javaagent tests

* add one missing ignore

* Add ignored types to spring-rabbit and fix tests

* spotless
2021-06-22 22:37:29 -07:00
Trask Stalnaker 7d5c7e0a4a
Fix spring jms listener instrumentation (#3359)
* Fix Spring JMS listener instrumentation

* Comment

* More allows
2021-06-21 11:46:34 +02:00
Anuraag Agrawal 9e763d69a7
Extract build plugin for instrumentation testing projects that aren't muzzled / published. (#3354) 2021-06-19 11:04:33 +09:00
Mateusz Rzeszutek 314ba8c1e8
Rewrite global ignores matcher to IgnoredTypesConfigurer (#3298) 2021-06-15 18:03:28 +02:00
Anuraag Agrawal a818f14957
Migrate publish.gradle to convention plugin (#3312)
* Migrate publish.gradle to convention plugin

* Migrate usages of publish.gradle

* Remove publish.gradle

* Newline
2021-06-15 22:12:48 +09:00
Anuraag Agrawal 7ad9e7a50b
Move shaded testing dependencies to internal package. (#3305) 2021-06-15 13:10:19 +03:00
Anuraag Agrawal 224dc51e93
Migrate java.gradle to conventions plugin (#3289)
* Migrate java.gradle to convention plugin.

* Switch to java-conventions

* Remove old file

* Fix

* Fix merge

* Missing paragraph

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-06-15 08:10:39 +09:00
Nikita Salnikov-Tarnovski fbb1a357c9
Publish shaded armeria (#3297)
* Publish shaded armeria

Fixes #3296

* Add group
2021-06-14 19:19:58 +03:00
Anuraag Agrawal 5f49dc0e4a
Extract agent shadow configuration to conventions script. (#3256)
* Extract agent shadow configuration to conventions script.

* Remove redundant plugin version declaration

* Resource loader doesn't load from buildSrc

* Comments about byte buddy version

* Fix ReferenceCollectorTest

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-06-12 16:45:26 -07:00
Trask Stalnaker bec9966e30
Fix failing test (#3269) 2021-06-12 11:37:04 +03:00
Mateusz Rzeszutek 3b09d46950
Introduce IgnoredTypesConfigurer SPI to enable defining per-module ignores (#3219) 2021-06-11 12:41:57 -07:00
Anuraag Agrawal f91e35616f
Migrate remaining usages of TestHttpServer to Armeria. (#3231)
* Migrate remaining usages of TestHttpServer to Armeria.

* Remove unused.

* Shade netty tcnative to allow TLS on Java 8
2021-06-10 09:28:44 +09:00
Anuraag Agrawal 7ae23fc694
Migrate HttpClientTest test server to Armeria (#3225)
* Use Armeria for test HTTP server.

* Continue

* Migrate test http server to Armeria.

* Finish

* Use junit extension

* Remove unused.

* Use localhost for net peer name.

* Block for full response in recator-netty tests.

* Handle split responses in netty41 and akka

* Typo
2021-06-09 15:05:58 +09:00
Mateusz Rzeszutek 99be242e22
Rename ComponentInstaller to AgentListener and add #order() method (#3182)
* Rename ComponentInstaller to AgentListener and add #order() method

* Code review comments

* Update javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/SafeServiceLoader.java

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

Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
2021-06-07 19:50:19 +02: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 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
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 871f9a0d24
InstrumentationModule cleanup (#2925) 2021-05-11 09:24:31 -07:00
Mateusz Rzeszutek 9c7fae3b04
Extract javaagent-extension-api from tooling & spi (#2879) 2021-05-06 23:30:25 -07:00
Trask Stalnaker 8380b41429
Move eclipse-osgi instrumentation to internal (#2832) 2021-04-21 09:14:21 -07:00
Trask Stalnaker 06832d84fc
Rename (and split up) classloaders module (#2787)
* Rename classloaders module

* Move under common internal dir

* Add all internal modules to testing agent
2021-04-13 19:58:50 -07:00
Anuraag Agrawal a4ea1c9db2
Update to OTel 1.1.0 (#2744)
* Update to OTel 1.1.0

* Use transform safe logger

* Finish

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-04-08 16:01:16 +09:00
jack-berg 035b3f42f7
Fix build and documentation typos related to autoconfigure SPI. (#2719) 2021-04-05 18:22:34 -07:00
Mateusz Rzeszutek 1406855bb7
Revert "Prevent duplicate telemetry when using both library and auto instrumentation (#2661)" (#2689) 2021-04-01 16:11:15 -07:00
Mateusz Rzeszutek 30434696ae
Prevent duplicate telemetry when using both library and auto instrumentation (#2661)
* Prevent duplicate telemetry when using both library and auto instrumentation

* Add unit test

* Fix Oshi tests

* Fix couchbase 3.1 tests
2021-03-31 10:57:04 -07:00
Trask Stalnaker 723a08ac4f
Fix references of otel.trace. to otel.traces. (#2269) 2021-02-13 11:16:25 -08:00
Trask Stalnaker c91bff41cb
Add comment about extension shading (#2235) 2021-02-10 09:39:33 +02:00
Anuraag Agrawal fc410706d0
Update to Sdk 0.16.0 (#2221)
* Update to 0.16.0-SNAPSHOT

* Finish

* Finish

* Update to 0.16.0

* Finish
2021-02-09 18:00:54 +09:00
YuDong Tang a6527c2fa0
add support 4 Apache Dubbo (#2108) 2021-02-06 21:56:24 -08:00
Anuraag Agrawal 94fd21e2ae
Disable agent-for-testing default JAR which we don't publish. (#2151) 2021-02-01 16:52:41 +09:00
Anuraag Agrawal 49194ff444
Don't hardcode agent-for-testing archive filename so it can be publis… (#2146)
* Don't hardcode agent-for-testing archive filename so it can be published.

* Fix accidental

* afterEvaluate
2021-02-01 14:33:27 +09:00
Anuraag Agrawal 1ebb58a596
Update to SDK 0.15.0 (#2137)
* Update to SDK 0.15.0

* Fix lightstep test
2021-01-29 21:30:22 +09:00
Mateusz Rzeszutek 328c6832a2
Publish agent-for-testing and testing-common (#2133) 2021-01-29 08:39:30 +01:00
Anuraag Agrawal c6cc263c6e
Use SDK Autoconfigure module (#2077)
* Use sdk autoconfigure

* Finish

* Finish

* Group exporters

* Update smoke-tests/src/test/groovy/io/opentelemetry/smoketest/SpringBootWithSamplingSmokeTest.groovy

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-01-20 14:31:49 +09:00
Anuraag Agrawal afdde0355b
Update to OTel 0.14.1 (#2059)
* Update SDK dependency to 0.14.1

* WIP

* Finish

* Cleanup
2021-01-18 13:02:04 +09:00
Anuraag Agrawal 8d74baa2e4
Run tests with javaagent. (#1643)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-01-04 13:13:24 -08:00
Anuraag Agrawal d8355c672d
Docs for writing new instrumentation... (#652)
* Docs for writing new instrumentation
2020-07-19 14:21:19 +09:00
Alexey Zhokhov f3421e91a0
Remove Lombok (#672)
* Gradle 6.5.1.

* Skip download javadoc and sources automatically in IntelliJ IDEA.

* Added mavenLocal to repositories.

* Removed Lombok usage.

* Removed duplicated idea config.

* Code format.

* Removed useless usage of Objects.requireNonNull.

* Use instanceof to comparing objects.

* Code format.

* Code format.

* Fixes after merge.

* Fixed sneakyThrow exception.

* Code format.
2020-07-18 15:52:55 +03:00
Nikita Salnikov-Tarnovski 9b6b5e621f
Remove http server decorator (#701)
* Ratpack migrated from ServerDecorator

* Finatra migrated from ServerDecorator

* Play 2.3 migrated from ServerDecorator

* Play 2.4 migrated from ServerDecorator

* Play 2.6 migrated from ServerDecorator

* Polish

* Polish

* Organize imports

* Relax muzzle checks

* Ratpack version 1.4 is now supported

* Fix muzzle failures on Play
2020-07-17 20:14:19 +03:00
Nikita Salnikov-Tarnovski d96a771dd0
Update to otel-java 0.6.0 (#662)
* Working against otel-java 0.6.0-SNAPSHOT

* Muzzle fix

* Better comment

* Now works with otel-java 0.6.0

* Fix muzzle
2020-07-11 09:10:28 +03:00
Anuraag Agrawal 2ef6aac61c
Separate out core reactor instrumentation (#650)
* Separate out core reactor instrumentation
2020-07-09 14:48:15 +09:00
Nikita Salnikov-Tarnovski 763779e08a
Move servlet instrumentations around (#601) 2020-07-08 16:43:36 -07:00
Sergei Malafeev b78abac82c
#598 Rename "tags" to "attributes" (#645) 2020-07-07 21:03:41 -07:00
Sergei Malafeev 9a5954a8ff
#593 Remove HttpClientTest.READ_TIMEOUT_MS (#635)
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
2020-07-07 08:24:42 +03:00
Richard Startin 6b0ee86c99 Exclude JDK class references at build time, reduce allocation in ReferenceMatcher (DataDog/dd-trace-java#1613) 2020-06-30 11:13:21 -07:00
Laplie Anderson 45dc02d964 Fix Spring handler mapping affecting character encoding (DataDog/dd-trace-java#1595) 2020-06-30 11:13:20 -07:00
Anuraag Agrawal 77654a44bc
Always translate HTTP status code to Status (#606)
* Translate HTTP status code to Status
2020-06-30 08:27:52 +09:00
Nikita Salnikov-Tarnovski 3418ebf6f7
More module renames (#610) 2020-06-29 13:28:39 -07:00
Anuraag Agrawal 874b157fe5
Newline between license and package. (#581) 2020-06-25 13:31:16 -07:00
Nikita Salnikov-Tarnovski 9a52f6708e
Gradle dependencies cleanup (#556)
* Bootstrap fixed

* Tooling fixed

* Testing fixed

* All instrumentation tests pass

* All tests pass

* Fix test

* Muzzle workaround

* Muzzle fix

* Update instrumentation/trace-annotation/trace-annotation.gradle

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-06-24 12:01:14 +03:00
Lev Priima da15d0de64 ApacheHttpClientRedirectInstrumentation copy headers from original request to redirect if original redirect headers were empty (DataDog/dd-trace-java#1539) 2020-06-23 14:08:44 -07:00
Anuraag Agrawal 918d3913e3
Populate user-agent in HTTP clients. (#540) 2020-06-22 21:13:12 -07:00
Nikita Salnikov-Tarnovski c11835963f
Vert.x instrumentation improvements (#503)
* Support for Vert.x rx-java async tasks

* Use Vert.x route for server span name

* Move reactive Vert.x instrumentation into separate module

* Test fixes

* Format fixes

* Polish

* Fix license header

* Add Vert.x to README
2020-06-13 23:18:30 +03:00
Tyler Benson 1b29184e7c Make rootDir usage consistent (DataDog/dd-trace-java#1518) 2020-06-11 10:14:02 -07:00
Nikita Salnikov-Tarnovski 357fb6e989
Deduplicate servlets (#469)
* Servlet instrumentations unified

* Grizzly migrated

* Fix tests after merge

* Polish and fix tests

* Polish and fix tests

* Muzzle fixes

* Muzzle fixes

* Muzzle fixes

* Test fixes

* One more check fixed

* Stop using SpanWithScope

* Test fix

* Compilation fix

* Apply suggestions from code review

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

* Update agent-bootstrap/src/main/java/io/opentelemetry/auto/bootstrap/instrumentation/decorator/HttpServerTracer.java

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

* Polish

* Tracer does not manage scope anymore

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-06-08 10:49:58 +03:00
Nikita Salnikov-Tarnovski 1c59062aae
0.5.0 (#476)
* Update to otel-java 0.5.0-SNAPSHOT (#462)

* Update to otel-java 0.5.0-SNAPSHOT

* Tests pass

* Check fix

* Switch to otel-java 0.5.0

* Add TODOs
2020-06-05 20:11:49 +03:00
Trask Stalnaker 015be46ec2
Remove unnecessary version constant (#455) 2020-05-31 06:31:38 +03:00
Trask Stalnaker dbec1fbd97
Fix sporadic grizzly test failure (#448) 2020-05-28 10:25:49 +03:00
Trask Stalnaker 5c7e321521
Fix sporadic Elasticsearch test failures (#444) 2020-05-27 12:20:51 -07:00
Anuraag Agrawal d4a14f6b98
Separate out core instrumentation for AWS SDK to allow manual setup o… (#421)
* Separate out core instrumentation for AWS SDK to allow manual setup of instrumentation.

* Instrumentation core test
2020-05-27 10:43:56 -07:00
Richard Startin d8c9639fbb Grizzly-http and grizzly-client instrumentation (DataDog/dd-trace-java#1365) 2020-05-26 11:54:59 -07:00
Nikita Salnikov-Tarnovski 6cfe2256ef
Use java 11 for compilation (#390)
* Allow compiling of everything with java 11

* Instruct CircleCI to use java 11 be default

* Forbid running some tests on java11

* Muzzle uses ClassLoader.platformClassLoader as parent for user-space classloader
2020-05-14 15:13:30 -07:00
Lev Priima fbf31d3a39 Don't listen 0.0.0.0 in tests (DataDog/dd-trace-java#1434) 2020-05-14 11:50:31 -07:00
Trask Stalnaker 55211ccd73
Fix sporadic test failure (#386) 2020-05-11 20:53:49 -07:00
Nikita Salnikov-Tarnovski e54f316b27
Add support for new @WithSpan annotation (#379) 2020-05-06 13:05:11 -07:00
Trask Stalnaker 62e43d3e54
Bring back code coverage verification (#357) 2020-04-28 15:27:44 -07:00
Nikita Salnikov-Tarnovski 25740536a1
FieldBackedProviderFieldInjectionDisabledTest was never run due to broken config (#347) 2020-04-27 12:43:48 -07:00
Trask Stalnaker f9e74ac9c6
Fix some sporadic test failures (#354)
* Fix some sporadic test failures

* Improve Jetty test advice

* Fix smore sporadic test failures

* Improve test consistency
2020-04-27 11:40:27 -07:00
Trask Stalnaker 2d2f4a953e
Fix some sporadic failures (#349) 2020-04-24 13:06:56 -07:00
Trask Stalnaker ecc26226dc Merge tag 'v0.49.0' into dd-merge 2020-04-18 16:00:00 -07:00
Trask Stalnaker 16833a8c30
Rename ListWriter to InMemoryExporter (#328) 2020-04-16 13:47:12 -07:00
Trask Stalnaker 1f0cd54fd7
Remove copyright year from license header (#322)
* Update template

* Apply template
2020-04-15 11:24:44 -07:00
Trask Stalnaker a333cfe536
Remove unused getComponentName (#314) 2020-04-14 13:29:33 -07:00
Trask Stalnaker bf5b009ef8
Remove unused code (#319)
* Remove unused/deprecated code

* Remove unused code

* Remove unused return value

* Remove unnecessary throws clauses

* Remove unused code

* Remove default attribute value

* Remove unused code

* Remove unused code

* Remove unused code

* Remove unused constants

* Remove unused constant

* Remove unused parameter

* Remove unused PostMatchHook

* Remove unused constants
2020-04-14 12:29:24 -07:00
Trask Stalnaker d24159c8d2 Merge tag 'v0.48.0' into dd-merge 2020-04-12 15:20:10 -07:00
Trask Stalnaker c545ffa3c2 Merge tag 'v0.47.0' into dd-merge 2020-04-06 13:26:15 -07:00
Trask Stalnaker 4fe685d916
Remove component attribute (#291) 2020-03-29 20:32:19 -07:00
Trask Stalnaker 570fa012c0
Remove service.name attribute (#290) 2020-03-29 20:29:15 -07:00
Trask Stalnaker 2e210683fd
Update to OpenTelemetry API/SDK 0.3.0 (#286)
* Update gradle dependencies and module name

* Replace Tracer.withSpan() with currentContextWith()

* Update inject to 0.3.0

* Update extract to 0.3.0

* More updates

* Remove distributedcontext package refs

* Update OpenTelemetry API interoperability

* No need to call setNoParent()

setParent(SpanContext.getInvalid()) should give the same result.
2020-03-28 19:38:51 -07:00
Trask Stalnaker 8fa84cb77b
Remove remaining resource.name attributes (#278)
* Remove resource.name validation from ignored tests

* Remove resource.name from test spans

* Remove unused parameter

* Change servlet dispatcher attribute name
2020-03-23 09:51:57 -07:00
Trask Stalnaker 396baa69d6
Update OpenTelemetry API/SDK (#257)
* Update dependency version

* Change getTracerFactory to getTracerProvider

* Update some imports

* Change put to set

* Fix up bridge

* Update package names

* Update test SpanProcessor

* Remove null conditionals around setAttribute

* Update shading

* Update span context extraction
2020-03-20 14:13:55 -07:00
Trask Stalnaker 8700b2eb33
Remove span.type attribute (#262) 2020-03-20 13:05:00 -07:00
Trask Stalnaker 007029b122
Better span names for jdbc (#238) 2020-03-19 19:50:51 -07:00
Trask Stalnaker d70f4ded94
Better span names for mongo (#242) 2020-03-19 14:11:24 -07:00
Trask Stalnaker a8f86d154f
Follow common childOf verification convention (#251) 2020-03-19 14:09:47 -07:00
Trask Stalnaker d4740894d1
Follow static import convention (#254)
* Follow static import convention

* Follow decorator static field name convention
2020-03-19 13:52:20 -07:00
Trask Stalnaker 2298885678 Merge tag 'v0.46.0' into dd-merge 2020-03-16 11:25:27 -07:00
Han Zhang 5b1218cdb8
Update instrumentation to be compliant with HTTP semantic conventions (#227)
* Update HTTP client-side span names

* Add query and fragment to  http.url for HTTP client spans

* Add query and fragment to http.url for HTTP server spans

* Update HTTP server span names to be the matched route or resource

* Use net.peer.* instead of peer.* attributes
2020-03-12 18:49:52 -07:00
Trask Stalnaker ea74337c10
Redo log capture instrumentation (#212)
Make it clear that this is experimental option, as the specifics of log
capture will definitely change sometime in the future once there is an
agreed on OpenTelemetry spec for this.

Capture logs as spans, to avoid the limitations of current
implementation that captures them as events (no log capture when no
current span, and limited number of events per span).

Change the log instrumentation module names to just reflect the
underlying logger, e.g. "log4j-1.1" instead of "log4j-spans-1.1". This
way we don't end up with an entirely deprecated artifact once the
logging spec is worked out. The spans instrumentation now shares modules
with the MDC instrumentation, which I think is reasonable, as you pick
which one you want via configuration.
2020-03-06 13:05:44 -08:00
Trask Stalnaker b2db595430 Merge tag 'v0.45.0' into dd-merge 2020-03-05 21:49:39 -08:00