Commit Graph

355 Commits

Author SHA1 Message Date
Trask Stalnaker ac30b3c185
Add SuppressWarnings("unused") on Advice classes (#3207)
* Add SuppressWarnings unused on Advice classes

* And in doc
2021-06-07 16:00:21 +09: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
Mateusz Rzeszutek 6fb3ec0501
Do not use arrays in InstrumentationModule (#3057)
* Do not use arrays in InstrumentationModule

* add missing cast
2021-05-24 13:51:07 +02: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
Anuraag Agrawal abeca79e24
Some Gradle optimizations (#2949)
* Gradle optimizations

* Finish
2021-05-11 17:45:54 +09:00
Trask Stalnaker 10db083e77
Update to OTel API/SDK 1.2.0 (#2945)
* Update to OTel API/SDK 1.2.0

* TCP.IP -> tcp_ip

* Fix smoke tests
2021-05-10 10:14:07 -07:00
Mateusz Rzeszutek 9c7fae3b04
Extract javaagent-extension-api from tooling & spi (#2879) 2021-05-06 23:30:25 -07:00
Lauri Tulmin 9f8371e77c
Use locale insensitive lower/upper case conversion (#2838) 2021-04-22 11:24:13 +09:00
Trask Stalnaker bd829a6494
Remove duplicate status verification (#2710) 2021-04-19 11:41:37 -07:00
Trask Stalnaker c17b803b71
Use isHelperClass over additionalHelperClassNames (#2796) 2021-04-14 09:38:16 -07:00
Trask Stalnaker 9bd028f767
Remove unnecessary genericness (#2797) 2021-04-14 00:01:28 -07:00
Trask Stalnaker d741dc48b9
Minor rename of javaagent unit test modules (#2784) 2021-04-13 12:36:30 +03: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
Trask Stalnaker 9926288342
Clarify empty type instrumentations (#2740)
* Add comment for EmptyTypeInstrumentation

* Clarify use of empty type instrumentations
2021-04-07 10:03:24 +03: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
Trask Stalnaker d5e526b9f3
Cache config values in instrumentations (#2681)
* Cache config values in instrumentations

* Bring back defaultEnabled()

* comment

* one problem
2021-03-31 22:54:20 -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
Anuraag Agrawal dcd316da7a
Enable strict context check and fix some context issues. (#2637)
* Enable strict context check and fix some context issues.

* Drift

* Drift and cache

* Exclude grizzly include akka

* Grizzly, scala

* ForkJoin worker

* webflux comment, grizzly typo

* Give up on akka for now

* threadpool

* Fallback on grizzly, wait for completion in executor cancellation tests

* Hystrix

* ratpack

* Cleanups
2021-03-29 08:08:11 +03:00
Lauri Tulmin 4ad9ed5c32
Reimplement finding open ports (#2629) 2021-03-25 10:41:20 -07:00
Anuraag Agrawal f3482a629d
Add protocol-core to muzzle dependencies for aws sdk v2. (#2602)
* Add protocol-core to muzzle dependencies.

* What does this condition mean?

* Syntax
2021-03-19 11:48:58 +02:00
Jakub Wach 4e7d43e5cc
Apache Camel - S3 to SQS propagation impl + tests (#2583)
* Apache Camel - S3 to SQS propagation impl + tests

* code review - added unit test

* code review - proper unit tests

* code review
2021-03-19 08:33:29 +02:00
Jakub Wach fcc7004353
Camel instrumentation - SNS propagation impl + tests (#2562)
* Camel instrumentation - SNS propagation impl + tests

* code review
2021-03-17 15:03:47 +02:00
Mateusz Rzeszutek ae23b97ec4
Move and rename NetPeerUtils (#2548)
* Move and rename NetPeerUtils

* Rename NetPeerUtils to NetPeerAttributes; inject instance instead of using a global var
* Rename SpanAttributeSetter to AttributeSetter (might be used to set on AttributesBuilder in the future, who knows)
* Deprecate default BaseTracer constructor: library instrumentations are supposed to inject all dependencies, the javaagent should explicitly pass globals

* fix compilation failure

* Remove peer.service customization from library instrumentation
2021-03-16 13:50:19 +01:00
Anuraag Agrawal 63ad9b2a35
Remove aws sdk v1 tests that rely too much on implementation detail of SDK without really testing anything. (#2557) 2021-03-11 11:47:12 -08:00
Jakub Wach 04b9b64e53
AWS SDK - S3 - SNS - SQS propagation tests (#2549)
* AWS SDK - S3 - SNS - SQS propagation tests

* code review
2021-03-11 13:46:33 +02:00
Anuraag Agrawal 100a446e31
Use reflection to access json serializers. (#2555)
* Use reflection to access json serializers.

* git add

* Fix
2021-03-11 16:51:18 +09:00
Anuraag Agrawal 71d3f09c80
Extract library instrumentation for AWS SDK v1 (#2525)
* Extract library instrumentation for AWS SDK v1

* Drift
2021-03-10 12:36:12 +09:00
Jakub Wach e013c381f2
AWS SDK - S3 to SQS propagation test (#2518)
* AWS SDK - S3 to SQS propagation test

* code review changes - got rid of thread.sleep
2021-03-09 18:47:06 +02:00
Mateusz Rzeszutek 3dff44874f
Fix RestTemplateInterceptor so that it calls endExceptionally() on exception (#2516) 2021-03-08 09:36:47 -08:00
Anuraag Agrawal eff96a2fb3
Use reflection to get request metadata instead of instrumentation. (#2508) 2021-03-08 15:20:38 +09:00
Anuraag Agrawal 96606711ac
Only set aws header attribute name once. (#2509) 2021-03-05 11:00:07 -08:00
Mateusz Rzeszutek 72ffb3b7c5
Make BaseTracer fields private (#2492)
* Make BaseTracer fields private

By making `tracer` private we're forcing all tracer implementation to use the `spanBuilder()` utility method and pass the parent context manually.
2021-03-05 10:54:00 -08:00
Jakub Wach 9a5bc66329
AWS SDK - SNS to SQS tracing propagation test (#2483) 2021-03-04 13:33:22 -08:00
Anuraag Agrawal 7efa58d6f0
Use correct value for operation in aws-sdk v1 (#2488) 2021-03-04 19:32:42 +09:00
Anuraag Agrawal 926a1fb621
Migrate AWS SDK v2 to new library API pattern. (#2487) 2021-03-04 19:32:13 +09:00
Trask Stalnaker 47ee860e96
Hide non-specd attributes for aws-sdk-2.2 (#2434) 2021-03-03 20:49:45 -08:00
Anuraag Agrawal 12baba1adc
Use dynamic resolution of SQS to allow working without it. (#2421) 2021-03-02 10:30:02 -08:00
Trask Stalnaker 62f2611486
Update instrumentation names (#2433) 2021-03-01 19:34:25 -08:00
Trask Stalnaker 03bfaee5eb
Move rest of non-specd attributes to experimental (#2402) 2021-02-26 20:50:47 -08:00
Jakub Wach 17aae4dfaa
AWS SDK instrumentation - DynamoDB attributes (#2262)
* AWS SDK instrumentation - DynamoDB attributes

* aws sdk attributes mapping - dynamoDb

* some clean-up, swithced to AWS SDK marshalling for SdkPojos

* more tests, slight refactoring of different request type fields handling

* code review changes

* code review changes

* code review changes
2021-02-22 11:38:35 +02:00
Anuraag Agrawal 000df967ce
Update to SDK 0.17.0 (#2338)
* Update to SDK 0.17.0

* Finish

* ottrace
2021-02-19 15:51:55 +09: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
Mateusz Rzeszutek facaf8e46f
Remove all remaining direct AgentTestRunner usages (#2196)
* Remove all remaining direct AgentTestRunner usages

* Fix jaxws compilation failure
2021-02-05 16:14:26 +01:00
Mateusz Rzeszutek 93b3a3b289
testing-common refactoring: replace direct AgentTestRunner usage with… (#2134)
* testing-common refactoring: replace direct AgentTestRunner usage with spock spec

* Updated instrumentation docs

* Fix reactor-core library tests

ReactorCoreTest was getting a tracer from GlobalOpenTelemetry before LibraryTestTrait had a change to initialize the SDK
2021-02-01 11:32:25 +01: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
Jakub Wach 77922d4834
SQS propagation for AWS SDK 1.1 (#2114) 2021-01-29 10:21:12 +02:00
Anuraag Agrawal 6b13bcca63
Use X-Ray propagator for aws sdk 1.1 instrumentation (#2117)
* Use X-Ray propagator for aws sdk 1.1 instrumentation

* Cleaner

* Fix

* Copy over doc
2021-01-28 16:01:07 +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
Pavol Loffay 077d8b64f6
Move common matchers to tooling/bytebuddy/matcher and ignore matchers to tooling/matcher (#1965) 2021-01-10 12:35:53 -08: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
Mateusz Rzeszutek cd58ac816e
Muzzle should add SPI classes defined in helperResourceNames as references (#1918) 2020-12-16 21:54:04 -08:00
Trask Stalnaker 49c2a36811
HTTP client instrumentation cleanup: aws-sdk (#1911) 2020-12-15 09:06:28 +02:00
Trask Stalnaker e2264222ce
HTTP client instrumentation cleanup, part 0 (#1893) 2020-12-14 16:34:06 -08:00
Anuraag Agrawal c741eaa501
Shade trace propagators so they can be injected in instrumentation th… (#1892)
* Shade trace propagators so they can be injected in instrumentation that benefits from a hard-coded propagation format

* Runtime shade too
2020-12-14 07:52:21 +02:00
Nikita Salnikov-Tarnovski c0f9daf0bb
Fix test for latest version of AWS SDK (#1878) 2020-12-10 10:36:42 +02:00
Anuraag Agrawal 1f25259f47
Manually inject AWS SDK helpers since they are refrenced from resource file, not code. (#1876) 2020-12-10 17:36:24 +09:00
Anuraag Agrawal 3b8827b8ab
Update to SDK 0.12.0 (#1830)
* Update to SDK 0.12.0

* Update error message to the current world.

* Bump referenced smoke test versions

* fixes

* dependency hell

* Suppress unused call

* Bump missed smoke tests

* Bump image, bump smoke tests gRPC version
2020-12-07 17:16:47 +09:00
Anuraag Agrawal c5a257619a
Make sure AWS SDK spans suppress client spans all the time. (#1837)
* Make sure AWS SDK spans suppress client spans all the time.

* Make more consistent with other instrumentation

* Update instrumentation/netty/netty-4.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_1/client/NettyHttpClientTracer.java

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

* more dragons

* Grammar

* README

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-12-07 17:10:43 +09:00
Trask Stalnaker 65f54e450b
Use Context more in HttpClientTracer (#1811)
* Use Context more in HttpClientTracer

* Better http-url-connection response object

* Follow database semantic conv for elasticsearch-rest

* Remove unnecessary CallDepth tracking
2020-12-03 11:47:08 -08:00
Trask Stalnaker ca76c80820
Hardcode expected values in tests (#1803)
* DEFAULT_SPAN_NAME

* TEMP_DESTINATION_NAME

* LoggingContextConstants

* Remove unnecessary dependencies

* Hardcode expected normalized queries in tests

* Spotless
2020-11-30 09:16:59 +02:00
Trask Stalnaker 26f254b10d
Create javaagent dirs for all instrumentations, part 2 (#1794) 2020-11-28 22:26:49 -08:00
Trask Stalnaker 41bd489a77
Format groovy files (#1793) 2020-11-28 21:22:14 -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
Anuraag Agrawal 412d9991be
Inject context for aws sdk 1.11 requests too. (#1771) 2020-11-26 15:25:37 +09:00
Anuraag Agrawal 9802539b07
Add an AWS SDK type instrumentation on an 'entry point' type of class… (#1759)
* Add an AWS SDK type instrumentation on an 'entry point' type of class to ensure helper resources are injected before clients are made.

* Update instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/AwsSdkInitializationInstrumentation.java

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-11-25 18:21:06 +09:00
Anuraag Agrawal 737f78acfa
Inject context into AWS SDK 2.2 HTTP request from interceptor. (#1763) 2020-11-25 17:37:16 +09:00
Mateusz Rzeszutek 50c8ab499d
Remove no longer needed helperClassNames() methods (#1755) 2020-11-24 20:50:32 -08:00
Trask Stalnaker a5a36bd203
Use namespace for attributes put into user classes (#1739)
* Use namespace for attributes put into user classes

* Add dependency to remove duplication
2020-11-24 12:07:10 -08:00
Mateusz Rzeszutek 45646ff367
Rename TypeInstrumentation#classLoaderMatcher() to classLoaderOptimization() (#1741)
* Rename TypeInstrumentation#classLoaderMatcher() to classLoaderOptimization()

* Removed no longer needed comments & improved JavaDoc

* Improve TypeInstrumentation Javadoc
2020-11-24 14:27:58 +02:00
Trask Stalnaker 308a8f9b0f
Consistent equals implementations (#1736)
* Consistent equals implementations

* Use direct equals where previous behavior
2020-11-23 15:41:31 +02:00
Trask Stalnaker cecdfc2cd0
Update instrumentation names to be consistent (#1671)
* Update instrumentation names to be consistent

* Remove amqp from rabbitmq package name
2020-11-18 19:53:31 -08:00
Mateusz Rzeszutek 1a23ac3027
Standardize instrumentation names in InstrumentationModules (#1648)
* Standardize instrumentation names in InstrumentationModules

* rename gradle modules:
  * vertx-3.0 to vertx-web-3.0
  * spark-web-framework-2.3 to spark-2.3
* add JavaDoc describing the naming rules to InstrumentationModule
2020-11-17 13:30:28 -08:00
Trask Stalnaker 6d5ec329d6
Enable checkstyle for google style guide (#1641) 2020-11-16 18:46:59 -08:00
Mateusz Rzeszutek d307ffc532
Refactor Instrumenters into InstrumentationModules - A, B, C (#1556)
* Refactor Instrumenters into InstrumentationModules - A, B, C

* Fixed some modules' names to match library/instrumentation gradle module

* Fix couchbase 2.6 muzzle
2020-11-09 15:42:41 +01:00
Anuraag Agrawal d3b60a5e33
Rename TRACER to tracer() (#1540) 2020-11-02 20:49:51 -08:00
Anuraag Agrawal c6eee70660
Update to latest snapshot. (#1524) 2020-10-29 18:54:09 -07:00
Trask Stalnaker 3565775b00
Format groovy (#1475)
* Apply Intellij format to groovy

* spotless
2020-10-26 11:47:12 +09:00
Anuraag Agrawal f6ad05b8e3
Update to latest SDK snapshot (#1384)
* Update to latest SDK snapshot

* Use published snapshot

* Fixes

* Cleans

* spotless

* Most

* Clean

* Merge

* Temporarily remove context interop

* WIP

* Prepare for intercepting propagated span

* Bump SDK

* IDE updates

* Lots

* compileJava

* Done?

* bar

* Spot

* drugs

* Groovy--

* green for me

* Spot

* Remove grpc import

* Scrub
2020-10-25 15:14:32 +09:00
Vadim Shaigorodskiy 9e8d663ba4
Remove apache httpclient version (#1446)
* Remove version from `apache-httpclient` instrumentation

Fixes: #1260

* Remove version from all instrumentation names and add instrumentation name to `spring-web`

Fixes: #1260
2020-10-22 14:22:44 +09:00
Trask Stalnaker 7ecc9bb37b
Rename "auto" to "javaagent" in modules (#1370) 2020-10-13 12:32:13 -07:00
Trask Stalnaker 1b51d4a6b1
Rename packages (#1367) 2020-10-11 13:54:35 -07:00
Trask Stalnaker 9605789726
Propagate full context (#1350)
* Propagate full context

* spotless
2020-10-09 12:58:42 +03:00
Ioannis Mavroukakis f2de47a150
SpanAssert method names should reflect underlying Span method names (#1307) 2020-10-05 16:04:08 +09:00
Anuraag Agrawal dadaac9a8c
Use 2-line license header to match SDK repo (#1321)
* Use 2-line license header to match SDK repo

* Apply change
2020-10-05 14:29:56 +09:00
Trask Stalnaker 8954f222c0
Update to the latest opentelemetry-java 0.9.0-SNAPSHOT (#1266) 2020-09-26 20:44:28 -07:00
Nikita Salnikov-Tarnovski e74ffe2e52
Remove support for java7 from buildscripts (#1229)
* Remove support for java7 from buildscripts

* Remove support for java7 from buildscripts
2020-09-23 15:40:21 +03:00
Nikita Salnikov-Tarnovski beb1901f5f
Review semantic convention for Http Client spans (#1214)
* Review semantic convention for Http Client spans

* Polish

* Update instrumentation/google-http-client-1.19/src/test/groovy/AbstractGoogleHttpClientTest.groovy

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-09-18 17:52:08 +03:00
Jakub Wach e8b54885c4
Enhance AWS DynamoDB instrumentation (#1191) 2020-09-18 10:48:56 +03:00
Anuraag Agrawal a9f0e21bfe
Support injecting resources into classloader and use it in aws-sdk-2.… (#1172)
* Support injecting resources into classloader and use it in aws-sdk-2.2 instrumentation.

* Use URL for duplication check instead of reading content and inject URLs directly instead of reading to byte array first.

* Remove getResource
2020-09-15 17:38:20 +09:00
Anuraag Agrawal 1217882a30
Move archivesBaseName into instrumentation gradle in a way that supports both old and new folder scheme. (#1169) 2020-09-04 12:38:58 +03:00
Anuraag Agrawal fa3ae0921f
Use ClassValue and full name cache in AWS SDK 1.1 (#1153)
* Use ClassValue and full name cache in AWS SDK 1.1

* Mysterious class

* Muzzle
2020-09-04 14:59:02 +09:00
Nikita Salnikov-Tarnovski bc98955176
Update to latest otel-java snapshot (#1057)
* Update to latest otel-java snapshot

* Upgrade to working otel-java snapshot

* Update to latest otel-java snapshot

* Update to latest otel-java snapshot
2020-08-26 22:03:28 +03:00
Trask Stalnaker e9b5bd48f7
Fix running single tests (#1066) 2020-08-19 21:17:30 -07:00
Trask Stalnaker 5d2ae07797
Use startScope() on all HttpClientTracers (#971) 2020-08-18 16:59:30 -07:00
Anuraag Agrawal bbfdbb39c0
Create abstraction for library dependencies for instrumentation. (#977)
* Create abstraction for library dependencies for instrumentation.

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-08-19 08:57:31 +09:00
Trask Stalnaker d9dca25402
Remove unused javaSubPackage config (#1020) 2020-08-16 21:18:10 -07:00
Trask Stalnaker 7159d04b8d
Change groovy import order (#1013)
* Update docs

* Format all groovy code

* Organize imports
2020-08-15 23:19:27 -07:00
Trask Stalnaker 414213f2d1
Remove final from parameters (#1003) 2020-08-15 22:35:51 -07:00
Trask Stalnaker f893ca540b
Scripted package renaming (#988) 2020-08-15 21:55:01 -07:00
Helen Y bb235a0aa3
Update package name for tracers (#991) 2020-08-14 21:07:18 -07:00
Helen Y 888ebe17a2
Delete HttpClientDecorator (#967) 2020-08-14 13:10:56 -07:00
Trask Stalnaker f940b2d2de
Use OpenTelemetry.getTracer() shortcut (#965) 2020-08-14 07:11:06 +03:00
Trask Stalnaker 7818e33178
Package renaming (#970) 2020-08-13 20:14:46 -07:00
Helen Y 09c597e8e0
Change the rest of decorators to tracers (#922) 2020-08-13 11:55:08 -07:00
Anuraag Agrawal 0eafc28608
Run tests using JUnit5 platform and remove SpockRunner (#770)
* Run tests with JUnit platform

* Matcher

* Restore

* Don't mix JUnit4 with JUunit5 in spring tests

* Separate out tests that need custom class loader.

* Separate out test for a couple classes that need it, try to remove SpockRunner, but Grizzly?

* Remove SpockRunner

* Fix grizzly

* Remove assumeTrue workaround.

* Comments
2020-08-12 11:05:26 +09:00
Helen Y 5b114d0ac8
Change aws-sdk client decorators to tracers (#918) 2020-08-11 17:10:02 -07:00
Trask Stalnaker b5fbf90977
Extract instrumentation api module (#884) 2020-08-09 22:52:33 -07:00
Trask Stalnaker f9f6d1f6b3
Change library shading approach (#930) 2020-08-09 11:16:34 -07:00
Anuraag Agrawal ad3963303d
Merge integration tests back into test. (#871) 2020-08-02 15:41:47 +09:00
Anuraag Agrawal 87bf97da70
Generate bootstrap jar with gradle instead of when running tests. (#840)
* Generate bootstrap jar with gradle instead of when running tests.

* kill all semicolons

* docs

* docs

* ByteCodeTest

* Use latestDepTest classpath for its bootstrap jar

* Rename package

* Reformat comment

* Bootstrap jar absolute path

* Save bootstrap jar to reports dir.

* Debug

* Debug

* Use project.getBuildDir

* Restore

* Revert

* testFieldInjection is instrumentation test too.

* Split out bytecode tests for testing-common

* Apply jacoco configuration to all tests.

* Add note that jacoco may be causing frustration.

* YOLO alert - Hope my guess at the reason is correct

* Apply suggestions from code review

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-08-02 10:17:52 +09:00
Anuraag Agrawal f6594e1a67
Use Span.recordException for logging throwable (#813)
* Use Span.recordException

* Fix tests

* Cleanup

* Update instrumentation/jsp-2.3/src/test/groovy/JSPInstrumentationBasicTests.groovy

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

* Spotless (IntelliJ acts weird with groovy files for me :()

* Update for merge

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-07-28 14:44:42 +09:00
Nikita Salnikov-Tarnovski fcf4319aac
Faster tests (#725)
🎉
2020-07-22 10:10:34 -07:00
Helen Y 86c438b154
Remove final from local variables (#732)
* Remove final from local variables
2020-07-20 13:53:34 +09: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 b77fb267f3
Gradle warnings (#659)
* More gradle warnings fixes

* Disable javadoc where it is definitely not needed

* Polish
2020-07-10 07:57:54 +03:00
Sergei Malafeev b78abac82c
#598 Rename "tags" to "attributes" (#645) 2020-07-07 21:03:41 -07:00
Anuraag Agrawal 8f3b7565b0
Shade AWS instrumentation library when using in agent (#644)
* Shade AWS instrumentation library when using in agent

* Cleanup and doc

* spotless
2020-07-08 12:36:55 +09:00
Nikita Salnikov-Tarnovski a62801649f
More fixes for Gradle warnings (#643)
* More gradle deprecation warnings fixed

* More gradle deprecation warnings fixed

* More fixes

* More fixes

Co-authored-by: Anuraag Agrawal <aanuraag@amazon.co.jp>
2020-07-07 15:02:07 +03:00
Anuraag Agrawal 1aae2bd7f0
Add extension point for HTTP client decorators to return headers gene… (#623)
* Add extension point for HTTP client decorators to return headers generically instead of only user agent.
2020-07-02 14:29:21 +09:00
Sergei Malafeev 5f70b521b7
#560 Consolidate src/main/java8 and src/main/java9 into src/main/java (#617)
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
2020-06-30 16:34:59 +03: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
Richard Startin 4e836f1c72 Replace remaining named disjunctions with namedOneOf or namedNoneOf (DataDog/dd-trace-java#1584) 2020-06-23 14:08:45 -07:00
Anuraag Agrawal 918d3913e3
Populate user-agent in HTTP clients. (#540) 2020-06-22 21:13:12 -07:00
Tyler Benson 1b29184e7c Make rootDir usage consistent (DataDog/dd-trace-java#1518) 2020-06-11 10:14:02 -07:00
Anuraag Agrawal 2600cb2056
Add missing AWS SDK helper. (#483) 2020-06-09 20:04:22 -07:00
Anuraag Agrawal f13a9c4932
Move client span creation to decorator and automatically suppress creation of neste… (#460)
* Move client span creation to decorator and suppress creation of nested client spans.

* Store subtree client span in context.

* Apply new pattern to AWS V1 SDK instrumentation too, cleanup, and javadoc
2020-06-08 12:01:43 -07:00
Anuraag Agrawal 9c63890d29
Intercept calls to ClientOverrideConfiguration to apply our instrumen… (#453) 2020-05-31 09:25:39 -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
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
Trask Stalnaker ecc26226dc Merge tag 'v0.49.0' into dd-merge 2020-04-18 16:00:00 -07:00
Trask Stalnaker 7f76929cd5
Rename resource name to span name (#327) 2020-04-16 12:13:42 -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 e8a451cbce
Remove unused service method (#321) 2020-04-15 10:17:04 -07:00
Trask Stalnaker 262ab15fa8
Change aws-sdk span kind to INTERNAL (#323) 2020-04-15 09:16:24 -07:00
Trask Stalnaker a333cfe536
Remove unused getComponentName (#314) 2020-04-14 13:29:33 -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 2a738506a9
Better span names for aws-sdk (#258) 2020-03-25 09:07:33 -07:00
Trask Stalnaker 68bafd6e0c
Update instrumentation package names, A-J (#266) 2020-03-23 11:22:54 -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 a8f86d154f
Follow common childOf verification convention (#251) 2020-03-19 14:09:47 -07:00
Trask Stalnaker 2298885678 Merge tag 'v0.46.0' into dd-merge 2020-03-16 11:25:27 -07:00
Trask Stalnaker cecabe522a
Make tests pass on Windows (#217) 2020-03-12 19:42:21 -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 d3a931384d
Add grouping modules (#220)
* Add mongo grouping module

* Add play and play-ws grouping modules

* Add netty grouping module

* Add jaxrs grouping module

* Add jaxrs-client grouping module

* Add jedis grouping module

* Add log4j grouping module

* Add couchbase grouping module

* Add aws-sdk grouping module

* Add apache-httpclient grouping module
2020-03-10 15:56:41 -07:00