Commit Graph

3927 Commits

Author SHA1 Message Date
Trask Stalnaker 81cd6dbb23
Remove unneeded dependencies (#199) 2020-03-02 17:08:38 -08:00
Trask Stalnaker fa72243966
Change link behavior for consumers (#198) 2020-03-02 16:29:25 -08:00
Trask Stalnaker 9b73e85bef
Fix class loading instrumentation (#197) 2020-03-02 16:08:46 -08:00
Tyler Benson 0fb83c59b6
Merge pull request #196 from trask/dd-merge
Merge changes from dd-trace-java 0.44.0
2020-03-02 15:47:19 -08:00
Trask Stalnaker 701b282b17 Merge tag 'v0.44.0' into dd-merge 2020-02-29 14:30:12 -08:00
Trask Stalnaker 40e3932358
Add license headers (#188)
* Add spotless gradle plugin

* Add license headers
2020-02-27 13:24:42 -08:00
Pontus Rydin 147b536891
Made couchbase agent compliant to semantic conventions (#189)
* Made couchbase agent compliant to semantic conventions

* Made tests resilient to variations in internally generated queries

* Fixed test function signatures
2020-02-27 12:28:18 -08:00
Trask Stalnaker 3cb25f0b52
Remove conversion from URI to String back to URI (#191) 2020-02-27 12:11:06 -08:00
Trask Stalnaker d60f18f8a1
Add Apache HTTP Client 3 instrumentation (#190) 2020-02-27 11:29:33 -08:00
Trask Stalnaker f4011b63e3
Capture gRPC messages as events instead of child spans (#185)
* Capture gRPC messages as events

* Rename verification method to avoid conflicts

It's common to have a 'name' test parameter/field which then causes
conflicts with verification method of the same name 'name'.
2020-02-27 11:18:30 -08:00
Trask Stalnaker 083988dbe8
Fix comment (#186) 2020-02-27 10:38:29 -08:00
Laplie Anderson 7c11cc2803 Version 0.44.0 2020-02-26 16:05:53 -05:00
Fabien POMEROL f1202daa60
Replace wrong ota.jaeger.service by ota.service in documentation (#187) 2020-02-26 09:04:33 -08:00
Tyler Benson 2ec0c1acb7
Merge pull request #1258 from DataDog/tyler/fix-whitelist-logging
Apply matcher if debug logging enabled to avoid confusing log output.
2020-02-26 08:57:17 -08:00
Nikolay Martynov 338f517db2
Merge pull request #1246 from DataDog/mar-kolya/improve-hash-calclulation-cache-pool
improve hash calculation cache pool
2020-02-26 16:22:38 +01:00
Tyler Benson eb8de0d3ab Apply matcher if debug logging enabled to avoid confusing log output.
Otherwise it was "Skipping" every unrelated class.
2020-02-25 18:04:27 -08:00
Nikolay Martynov 96f74d0fef Compare loader hashes 2020-02-25 21:53:12 +01:00
Nikolay Martynov 82dd2aa1b3 Revert "Make sure that same classloaders get same weak ref"
This reverts commit 50793e5244.
2020-02-25 21:47:42 +01:00
Nikolay Martynov 50793e5244 Make sure that same classloaders get same weak ref 2020-02-25 14:32:35 +01:00
Nikolay Martynov aefcc477cb Simplify TypePoolCacheKey equals
We have to check string equivalence regardless of classloader state
2020-02-25 11:58:18 +01:00
Nikolay Martynov 31b5652d10 Remove reference check from TypeCacheKey 2020-02-25 10:19:47 +01:00
Nikolay Martynov 41db97ea0f Merge branch 'master' into mar-kolya/improve-hash-calclulation-cache-pool 2020-02-25 10:18:25 +01:00
Trask Stalnaker b724151334
Capture Logback events (#183) 2020-02-24 12:19:30 -08:00
Trask Stalnaker da7dc5412e
Capture Log4j 2.x events (#182) 2020-02-24 12:03:34 -08:00
Trask Stalnaker a57bfcf40e
Capture log4j 1.x events (#181) 2020-02-24 11:37:15 -08:00
Tyler Benson 0673de81e3
Merge pull request #184 from trask/dd-merge
Merge changes from dd-trace-java 0.44.0-SNAPSHOT
2020-02-24 11:03:51 -08:00
Tyler Benson 39e577ad97
Merge pull request #1250 from DataDog/tyler/test-matchers
Move matchers around and add unit tests.
2020-02-24 09:14:31 -08:00
Tyler Benson c13cb2e60f Move a few other classes. 2020-02-24 08:35:19 -08:00
Tyler Benson 3559ffb21c Add unit tests for matchers 2020-02-24 08:35:19 -08:00
Tyler Benson bd82166b58 Rename methods that don't require disambiguation. 2020-02-24 08:35:19 -08:00
Tyler Benson f70c35842d Move matchers to separate package and split matcher classes out 2020-02-24 08:31:12 -08:00
Trask Stalnaker 8ee04d54e9 Merge remote-tracking branch 'datadog/master' into dd-merge 2020-02-22 14:35:03 -08:00
Nikolay Martynov 833f67816e
Merge pull request #1248 from DataDog/mar-kolya/reduce-superclass-matcher-exposure
Avoid calling superclass matcher where possible
2020-02-21 21:16:52 -05:00
Tyler Benson b27b30d913
Merge pull request #1247 from DataDog/tyler/bb-raw
Set ByteBuddy raw setting at startup
2020-02-21 16:30:24 -08:00
Pontus Rydin 239eb53a44
Removed statically loaded exporters and added more tests (#171)
* Classloader done. Still needs shading

* First working version

* Made the dummy exporter slightly less stupid

* Use SPI pattern for loading. Added runtime shader

* Changed to do shading on binary stream instead of loading the class first

* Protected the runtime shader from having its internals shaded

* Cleaned up code and naming

* Cleaned up

* Cleaned up and fixed test issues

* Minor fixes from code review

* Added exporter smoke tests

* Finalized exporter smoke tests

* Reenabled springboot test

* Fixed some copy-paste issues

* Initial work on exporter bridges

* Implemented dynamically loaded exporter adapters

* Added some more files

* Added exporter-adapters for well-known exporters

Moved dummy-exporter to exporter adapters

Removed -Dota.exporter option in favor of ota.exporter.jar

Added basic exporter tests to smoketest

Increased timeout for Finatra server start to help with parallel test execution

* Cleaned up tests, removed dead code and updated README

* Update README.md

* Update README.md

* Removed references to gRPC dependencies needed by Jaeger

* Fixed incorrect use of ServiceLoader in test

* Fixed test dependencies

* Adjusted exporter tests

* Fixed codeNarc issues

* Fixed CircleCI issues

* Added tests to check what CircleCI is doing

* Added missing logging directory

* Removed deadline() from Jaeger factory

* Another attempt to make it pass CircleCI

* Fixed some minor codeNarc issues

* Wrapped test config in doFirst

* Change forEach -> each

* Removed README section about commercial exporters

* Reduced number of changes to Config

* Fixed field reordering issue

* Removed references to dummy exporter

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-02-21 15:12:48 -08:00
Nikolay Martynov b6d374e3a0 Avoid calling superclass matcher where possible
Saves about 100ms of startup time on test app
2020-02-21 15:08:39 -05:00
Tyler Benson ecf9bcc655
Make sure CallDepthThreadLocalMap is always reset (#1227)
Make sure CallDepthThreadLocalMap is always reset
2020-02-21 11:03:51 -08:00
Trask Stalnaker ebf3d78274
Remove Glassfish instrumentation (#176) 2020-02-21 11:01:17 -08:00
Tyler Benson faccb0d483 Set ByteBuddy raw setting at startup
This reduces the complexity of TypeDefinitions.
```
Benchmark                                                             Mode  Cnt   Score   Error  Units
ClassRetransformingBenchmark.WithAgent.testTracedRetransform          avgt       22.450          ms/op
ClassRetransformingBenchmark.WithAgent.testUntracedRetransform        avgt        6.842          ms/op
ClassRetransformingBenchmark.WithAgentMaster.testTracedRetransform    avgt       23.188          ms/op
ClassRetransformingBenchmark.WithAgentMaster.testUntracedRetransform  avgt        7.009          ms/op
```
It also improved startup time by about 1 sec.
2020-02-21 10:35:20 -08:00
Nikolay Martynov 1f8acafc42
Merge pull request #1245 from DataDog/mar-kolya/single-ignores-matcher
Single ignores matcher
2020-02-21 12:42:18 -05:00
Tyler Benson e4d29e37ef
Update JMH benchmarks (#1242)
Update JMH benchmarks
2020-02-21 09:38:34 -08:00
Trask Stalnaker 23f6e1513d
Capture servlet dispatch as INTERNAL span (#156) 2020-02-21 09:31:48 -08:00
Nikolay Martynov 00c268e6d8 Add equivalence check to TypeCacheKey 2020-02-21 12:24:53 -05:00
Nikolay Martynov d4c6d86e6d Do not use zero for hashcode
Seems like this may have odd sideeffects
2020-02-21 12:24:09 -05:00
Nikolay Martynov f736c425ff TypeCacheKey are different if hash codes are different
And this is very easy to check
2020-02-21 12:23:41 -05:00
Nikolay Martynov 9d7682f776 Fix hashcode calculation in TypeCacheKey
Using potentially very large number for a mod is probably not very effective
2020-02-21 12:22:51 -05:00
Trask Stalnaker e62d93bb6c
Add instrumentation for OpenTelemetry API itself (#153) 2020-02-21 09:10:01 -08:00
Nikolay Martynov 27842d8479 Ignore cglib packaged with springboot 2020-02-21 11:56:45 -05:00
Trask Stalnaker 36eeaa0f3f
Latest tomcat release seems to have some issues (#180)
Instrumentation muzzled: [jsp, jsp-compile] -- datadog.trace.instrumentation.jsp.JasperJSPCompilationContextInstrumentation on jdk.internal.loader.ClassLoaders$AppClassLoader@2c13da15
-- datadog.trace.instrumentation.jsp.JSPDecorator:39 Missing method getServletContext#()Ljavax/servlet/ServletContext;

Co-authored-by: Tyler Benson <tylerbenson@gmail.com>
2020-02-21 08:52:24 -08:00
Nikolay Martynov 0c659770cc Collect all ignore matchers into one
This should allow us to optimize this as a single function later
2020-02-21 11:48:40 -05:00