Commit Graph

3373 Commits

Author SHA1 Message Date
dougqh 733342de5e Begin 0.37.0 2019-10-29 17:06:24 -04:00
dougqh 69f4570585 Version 0.36.0 2019-10-29 15:22:47 -04:00
Laplie Anderson 6ae6113e25
Merge pull request #1070 from DataDog/landerson/ot-33-compat
OT 0.33 compatibility
2019-10-29 11:56:14 -04:00
Laplie Anderson 61441e1fbe Remove calls to removed methods 2019-10-29 11:23:09 -04:00
Tyler Benson 5cdbaaf188
Merge pull request #1069 from DataDog/tyler/netty-client-race
Attempt to remove span-ordering race condition with NettyClientTest
2019-10-28 11:05:41 -07:00
Nikolay Martynov 4df2fe814b
Merge pull request #1068 from DataDog/mar-kolya/update-unixsocket-lib
Update unixsocket dependenxy
2019-10-28 13:09:28 -04:00
Tyler Benson 607dd553d4 Attempt to remove span-ordering race condition with NettyClientTest 2019-10-28 09:50:56 -07:00
Tyler Benson e4bc90d15d
Merge pull request #1067 from DataDog/tyler/db-connection
Add span when calling DataSource.getConnection with a trace.
2019-10-28 08:41:55 -07:00
Tyler Benson a903f20dc4
Merge pull request #1050 from DataDog/tyler/servlet-depth
Add new integration for Servlet Filters, HttpServlet, and RequestDispatcher
2019-10-28 08:39:56 -07:00
Tyler Benson a2d8296a00
Merge pull request #1066 from DataDog/tyler/servlet-prop
Fix servlet propagation for “tail-call” situations
2019-10-28 08:07:42 -07:00
Douglas Q Hawkins e8064d97c5
Merge pull request #1063 from DataDog/dougqh/health-metrics1
Health Metrics
2019-10-28 09:54:21 -04:00
Nikolay Martynov 813a9b93b4 Update unixsocket dependenxy
This seems to fix strange build errors
2019-10-28 08:37:18 -04:00
Tyler Benson 6703bd96bb Fix servlet propagation for “tail-call” situations
Sometimes servlets will call another servlet by “resetting” the request object.  This maintains the attributes previously set, including the span.  We want to allow the trace to start if there’s no “active trace” even if there is a span attribute.
2019-10-25 17:01:47 -07:00
Tyler Benson a3a1467192 Add span when calling DataSource.getConnection with a trace.
Disabled by default, and only creates a span if existing trace detected.

To enable:
* System Property: `-Ddd.integration.jdbc.enabled=true`
* Environment Variable: `DD_INTEGRATION_JDBC_ENABLED=true`
(Or more specifically with `jdbc-datasource`.)
2019-10-25 16:02:39 -07: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 df387b486a
Merge pull request #1064 from DataDog/tyler/spring-controller-refactor
Refactor JAX-RS Annotation and Spring Controller/Handler Instrumentation
2019-10-25 14:44:07 -07:00
dougqh 96f6c42459 Adding StatsD tests
Adding a happy & comm failure test case for StatsDMonitor.

This checks some but not all of the counters but also makes sure the exceptional path branches are exercised.

To make this test possible, I added an additional constructor to StatsDMonitor that takes a StatsDClient.
2019-10-25 17:26:11 -04:00
Tyler Benson b30d857f85
Merge pull request #1065 from DataDog/tyler/refactor-servlet
Refactor Servlet Advice
2019-10-25 13:31:08 -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
Tyler Benson 7ae5de1fc6 Refactor Servlet Advice
Moving directory structure around.
Combining advice, trying to make it propagate better.
2019-10-25 10:09:19 -07:00
Tyler Benson 00fe40f1fb
Merge pull request #1026 from trask/dd-next
Thoughts for after #1020
2019-10-25 09:20:24 -07:00
dougqh 101e519a3f Adding StatsDMonitor
Adding StatsDMonitor to DDAgentWriter

Modified Writer.createAgentWriter to read the health Monitor configs and construct StatsDMonitor when health metrics are enabled

Updated DDTracerTest to check for use of appropriate Monitor class depending on the Config
2019-10-25 12:11:40 -04:00
Nikolay Martynov 5d090b17c4
Merge pull request #1062 from DataDog/mar-kolya/update-gradle
Update gradle to 5.6.3
2019-10-25 12:05:45 -04:00
dougqh 22ac1edfe2 Adding configuration variables needed for StatsD metric support 2019-10-25 11:29:49 -04:00
dougqh 30a987208a Introducing DDAgentWriter.Monitor
Introducing a Monitor for DDAgentWriter

Monitor can be used to track critical lifecycle events in the publishing of spans.  This change only contains a NoopMonitor, but a StatsD variant will be added in later commit.

The DDAgentWriter has been altered to take a Monitor instance at construction for the purposes of testing the Monitor.

DDAgentWriter now includes tests to count spans published and sent -- including new tests for multi-threaded writing and slow agent response scenarios.
2019-10-25 11:22:54 -04:00
dougqh 71cb23fdb4 Introducing DDApi.Response
Changing the DDApi send methods to return a new Response object instead of a boolean result.

The Response object allows additional information to be propagated to the DDAgentWriter that is needed for helath monitoring.

Beyond success / fail represented by DDApi.Response.success, this includes...
- communication exception to the agent
- status code returned by the agent
- JSON parsing exception caused by bad payload returned by the agent

DDApiTest-s have also been updated to check response.success() but also to check response.status() as appropriate.
2019-10-25 10:14:04 -04:00
Nikolay Martynov 8236b94d44 Update gradle to 5.6.3 2019-10-25 08:09:48 -04:00
Trask Stalnaker 8c558fa00e Format 2019-10-24 21:05:01 -07:00
Trask Stalnaker e32bf1816a Organize imports 2019-10-24 21:05:01 -07:00
Trask Stalnaker e06bb1db1f Remove OpenTracing gradle dependency 2019-10-24 21:05:01 -07:00
Trask Stalnaker 5bf5950bf7 Remove dependency on Tracer 2019-10-24 21:05:01 -07:00
Trask Stalnaker da80be693c Switch to new Tags class in testing module 2019-10-24 21:05:01 -07:00
Trask Stalnaker a45dc34c5c Remove testing module dependencies on GlobalTracer 2019-10-24 21:05:00 -07:00
Trask Stalnaker 86bd9793bd Switch to new Tags class in instrumetation 2019-10-24 21:05:00 -07:00
Trask Stalnaker 9182b64078 Switch to new Tags class in tests 2019-10-24 21:04:57 -07:00
Trask Stalnaker 002db5a170 Introduce Tags class
To remove dependency on OpenTracing Tags class.
2019-10-24 21:04:10 -07:00
Trask Stalnaker 99ddc497e7 Remove baggage item test
The new agent api does not have baggage item support.
2019-10-24 21:01:59 -07:00
Trask Stalnaker a9d3360701 Remove test dependency on GlobalTracer 2019-10-24 20:53:14 -07:00
Trask Stalnaker d45b571996 Remove unused code 2019-10-24 20:53:13 -07:00
Tyler Benson 3a9ef21106
Merge pull request #1060 from DataDog/tyler/consistent-return
Skip spring controller and dropwizard trace if no trace present
2019-10-24 18:07:45 -07:00
Tyler Benson a8ca47ed03 Skip spring controller and dropwizard trace if no trace present
Also prefer early return instead of deep nesting for null check.
2019-10-24 14:40:08 -07:00
Laplie Anderson 441b1ec638
Merge pull request #1059 from DataDog/landerson/startmanual-doc
Remove opentracing api documentation in dd-trace-ot
2019-10-24 17:27:01 -04:00
Laplie Anderson 8938a0ec31 Remove opentracing-api.md 2019-10-24 17:09:57 -04:00
Tyler Benson cef320aea6
Merge pull request #1054 from DataDog/tyler/muzzle-spring-data-fix
Add assert to ensure muzzle range not empty and update spring-data
2019-10-23 15:09:41 -07:00
Tyler Benson 079dfd24bd ES deploy workaround. 2019-10-23 14:09:01 -07:00
Tyler Benson fbd16d8cb7 Add assert to ensure muzzle range not empty and update spring-data
Also fix a few muzzle definitions that are now broken with the new requirement.

Moved a few projects around to match correct version numbers.
2019-10-23 14:09:01 -07:00
Tyler Benson 08ca0faeb7 Merge pull request #1056 from DataDog/tyler/fix-jaxrsclient-version
Fix jax-rs-client minimum supported version
2019-10-23 14:02:51 -07:00
Tyler Benson 7db4602253 Fix jax-rs-client minimum supported version
Can’t be completely sure since many of these versions don’t show up in a maven range query used by muzzle.
2019-10-23 14:02:04 -07:00
Tyler Benson 29f7288954 Merge pull request #1020 from trask/agent-api
Integration API to decouple from OpenTracing
2019-10-23 14:01:18 -07:00
dougqh dade0f369c Begin 0.36.0 2019-10-23 13:59:07 -07:00