Nikolay Martynov
fd58187994
Support JFR profiling
2020-02-11 14:55:19 -05:00
Laplie Anderson
9023c6e1c7
Fix a couple tests using the wrong arguments
2020-02-11 11:44:46 -05:00
Laplie Anderson
01b0bebc93
minor formatting
2020-02-11 11:44:46 -05:00
Laplie Anderson
c79fe3a459
Create shared internal jar
2020-02-11 11:44:46 -05:00
Laplie Anderson
3c0877e38a
Create a shared parent classloader
2020-02-11 11:42:39 -05:00
Tyler Benson
51bffa2e8a
Move agent api classes to bootstrap package so they're not analyzed by muzzle
...
Also move jdbc classes to bootstrap to reduce size and complexity of those reference checkers.
These changes reduce the total file size of these instrumentation classes by 635k, which should also result in decent memory savings.
2020-02-10 15:09:15 -08:00
Lev Priima
5265a43c6d
Reduce use of Thread::setContextClassLoader
2020-02-06 22:53:04 -05:00
Laplie Anderson
64ed09d76c
Merge pull request #1179 from DataDog/landerson/internal-jar-memory
...
Use streams directly in DatadogClassLoader
2020-01-16 10:51:42 -05:00
Laplie Anderson
607c8f277e
Don't copy to byte[], return input stream directly
2020-01-15 13:38:44 -05:00
Laplie Anderson
68ed1da9c6
Don't call `map.get()` in the `put(..)` case
2020-01-15 12:41:01 -05:00
Laplie Anderson
a0b1cd4a75
WeakMap computeIfAbsent
2020-01-15 12:26:15 -05:00
Pawel Chojnacki
f71ba14016
[rmi] use simple thread local for propagating context
...
+ add more documentation
2019-12-23 13:25:14 +01:00
Tyler Benson
96edbe8b8a
Add better exception handling in Agent initialization
...
An invalid statsd hostname causes an exception for jmxfetch. This should be an error, but not prevent the app from starting.
Also improved log variable name consistency.
2019-12-17 14:15:42 -08:00
dougqh
022257ee55
Fixing resource leak
...
To check for existence, switching from getResourceAsStream to getResource
2019-11-18 10:52:23 -05:00
Nikolay Martynov
8f80a42c4d
Do not delay tracer on OpenJDK8 with JBOSS
2019-11-07 13:45:56 -05:00
Nikolay Martynov
42cece67c2
Fix namespace clashes
...
Using `datadog.trace.agent` to hold agent class causes problems due to
shadowing into this package of other classes.
2019-11-06 13:58:20 -05:00
Nikolay Martynov
15c1e67334
Fix agent on latest zulu8
...
The problem was that on zulu8 loading OkHttp touches JFR which in turn
touches log manager - which would break things like JBOSS.
The fix is to delay installing agent (and writer) until log manager
things have settled down - in way similar to jmxfetch.
Unfortunately for 'main' agent this turns out to be more involved
because of classloader shenanigans.
2019-11-06 10:09:50 -05:00
Tyler Benson
425156115c
Add new integration for Servlet Filters, HttpServlet, and RequestDispatcher
...
Disabled by default, and only creates a span if existing trace detected.
To enable all of them:
* System Property: `-Ddd.integration.servlet.enabled=true`
* Environment Variable: `DD_INTEGRATION_SERVLET_ENABLED=true`
(They have independent configs as well. If needed, view the source below.)
2019-10-25 14:47:48 -07:00
Tyler Benson
fa80fee15d
Refactor JAX-RS Annotation and Spring Controller/Handler Instrumentation
...
For spring:
* Move more logic to the decorator.
* Use a fixed operation name, but set the resource name.
* Rename the root span instead of the parent span (If there are other spans in between this could make a difference.) Not sure what impact this would have if multiple controllers are called (ie, forward/include).
For Jax-rs:
* Rename the root span instead of the parent span (same concern as above with spring)
2019-10-25 10:19:25 -07:00
Trask Stalnaker
002db5a170
Introduce Tags class
...
To remove dependency on OpenTracing Tags class.
2019-10-24 21:04:10 -07:00
Tyler Benson
7b6737f106
Make AgentTracer constructor private.
2019-10-15 16:12:48 -07:00
Tyler Benson
61151d425a
Changes requested in review
2019-10-15 16:03:02 -07:00
Tyler Benson
757961e014
Initial implementation of agent internal API.
2019-10-15 15:40:44 -07:00
Laplie Anderson
5994fa8734
Change packaging of internal jars to be exploded in a subfolder
2019-08-29 16:04:10 -04:00
Laplie Anderson
9c5766162a
Add test for ClassNotFound creating a span bug
2019-08-23 13:04:56 -04:00
Tyler Benson
8c1dbfe7cb
Make Muzzle handle cleaner thread properly.
2019-08-19 17:27:01 -07:00
Nikolay Martynov
b0ff861392
Do not trace openConnection for Datadog ClassLoader
2019-08-14 16:46:23 -04:00
Laplie Anderson
548e4ed6e4
Merge pull request #934 from DataDog/landerson/remove-temp-jars
...
Eliminate temporary jars for instrumentation, jmxfetch, and bootstrap
2019-08-06 18:32:41 -04:00
Laplie Anderson
a9d0d2cbbe
Use CodeSource instead of javaagent arg
...
Check both TracingAgent.class and DatadogClassloader.class for code source
2019-08-05 10:41:05 -04:00
Laplie Anderson
273feafa94
Use the bootstrapProxy to load jars. Better bootstrap url algo
2019-07-30 19:50:16 -04:00
Laplie Anderson
cf98110991
JMXFetch loading threw permission errors
2019-07-30 16:56:49 -04:00
Laplie Anderson
c41536cbe2
Fix failing tests
...
Add TracingAgent to list of bootstrap class
Fix renaming tests
Fix JMXFetch path splitting
2019-07-30 15:27:47 -04:00
Laplie Anderson
a1f8cad2e8
Tooling and jmxfetch temp jars removed
...
Enhanced the DatadogClassloader to work with jars inside other jars. No need to create the jars in a temp directory anymore
2019-07-29 17:01:55 -04:00
Luca Abbati
0ff56b0a9f
Improve tests readability moving common instance to test class
2019-07-22 11:19:13 +02:00
Luca Abbati
3817e76130
Apply doubled-check locking + same approach to attributes definition for netty-4.1
2019-07-22 11:15:33 +02:00
Luca Abbati
95a963a364
Fix build with additional WeakHash map implementation
2019-07-19 17:05:40 +02:00
Luca Abbati
edacd7a41d
Refactor weak hash map to be able to reuse functionalities
2019-07-19 16:18:38 +02:00
Nikolay Martynov
63e0c0f032
Support Unix Domain Socket proxy to send traces
2019-03-15 11:36:44 -07:00
Tyler Benson
4e9449db81
Migrate Jax-rs annotation instrumentation to Decorator
2019-02-27 09:40:08 -08:00
Tyler Benson
c46909e59f
Migrate JDBC instrumentation to Decorator
2019-02-26 11:16:35 -08:00
Nikolay Martynov
9d830a3dab
Do not close parent scope when closing continuation in concurrent execution state
2019-02-08 20:13:32 -05:00
Andrew Kent
0b92413d4a
Move JvmBootstrapTest into a fork inside a groovy test
2018-12-12 20:17:48 -08:00
Nikolay Martynov
ad98ebc01f
Add some comments and some other minor CR tweaks
2018-11-29 15:18:46 -08:00
Nikolay Martynov
118a61cc67
Add field backed context provider
2018-11-29 15:18:46 -08:00
Nikolay Martynov
b89e73b3c0
Switch executor instrumentation to use context storage
2018-11-29 15:18:46 -08:00
Andrew Kent
3c4b480a18
Share tooling loader across muzzle runs
2018-11-28 13:01:01 -08:00
Andrew Kent
6ee5fd27b0
Guard against invoking WeakConcurrent constructor
2018-11-28 12:05:47 -08:00
Nikolay Martynov
98df97af3e
First iteration on a better context store api
...
Separate context storage from actual fetching/putting
2018-11-02 10:46:57 -04:00
Nikolay Martynov
e83c379992
Merge pull request #557 from DataDog/mar-kolya/add-lost-jdbc-statement-logging
...
Add logging in jdbc instrumentation when we cannot unwrap connection
2018-10-31 15:55:03 -04:00
Nikolay Martynov
8a066de772
Add logging in jdbc instrumentation when we cannot unwrap connection
2018-10-31 13:38:37 -04:00