Commit Graph

674 Commits

Author SHA1 Message Date
Nikolay Martynov c98d5ef64b Increase ElasticSearch timeout in tests
Hopefully this would improve build stability
2018-07-24 23:07:18 -04:00
Nikolay Martynov 3d8e76c2a4 Get rid of `WRITER_PHASER`
We have alternative way of doing the same thing and `Phaser` seems to be
not very correct way of doing this anyway.
2018-07-24 11:41:48 -04:00
Nikolay Martynov dcbf8d674a Akka-http-client: handle `singleRquest` throwing an exception 2018-07-24 11:41:48 -04:00
Nikolay Martynov 642b862c13 Do not reference `AkkaHttpClientTransformFlow` in instrumentation code
to avoid class loader problems
2018-07-24 11:41:48 -04:00
Nikolay Martynov 35b980ea89 Fix ElasticSearch config for 2.x client 2018-07-24 11:41:45 -04:00
Nikolay Martynov 732bce82d0 Fix typo 2018-07-23 10:04:53 -04:00
Nikolay Martynov 7794eacc91 Increase Cassandra request timeout in tests 2018-07-23 10:04:53 -04:00
Nikolay Martynov b4b99d991c Move AkkaHttpServerInstrumentation into Scala compilation
This is a hack to work around the problem of `auto-service` annotation
processing creating files with same name in `java` and `scala`
directories. This results in Jar having two files with the same name
instead of one concatenated file.
2018-07-23 10:04:53 -04:00
Nikolay Martynov 68ce09b461 Add missing Scala classes to list in injection classes 2018-07-23 10:04:53 -04:00
Nikolay Martynov fd5d80ba86 Make muzzle plugin apply to Scala code 2018-07-23 10:04:53 -04:00
Nikolay Martynov 161847752f Pass Span instead of Scope 2018-07-23 10:04:53 -04:00
Nikolay Martynov 5e67e6e5ba Migrate to new instrumentation API 2018-07-23 10:04:53 -04:00
Nikolay Martynov 277e7a1a3c Typo fix 2018-07-23 10:04:53 -04:00
Nikolay Martynov db895f2e34 Remove redundant plugin from akka gradle file 2018-07-23 10:04:53 -04:00
Nikolay Martynov ae37ca4b02 Add akka-http-client instrumentation: superPool 2018-07-23 10:04:53 -04:00
Nikolay Martynov 2b25de966a Add akka-http-client instrumentation
This is a very-very first pass: instrument single request
2018-07-23 10:04:53 -04:00
Nikolay Martynov 6932d581ed Add some helpful messages to AgentTestRunner assertions 2018-07-23 10:04:53 -04:00
Nikolay Martynov f9f135cbd6 Do not run Spymemcached tests locally under Java7
since it requires external Memcached container running because
testcontainers doesn't work on Java7.
2018-07-23 10:04:53 -04:00
Nikolay Martynov c844501bc5 Fixes for some minor checkstyle complaints 2018-07-23 10:04:53 -04:00
Nikolay Martynov ce7866d018 Use `io.opentracing.log.Fields.*` instead of hardcoded strings 2018-07-23 10:04:53 -04:00
Nikolay Martynov d4d770fe42 Pull out ratpack helper into seprate class to avoid copy-paste 2018-07-23 10:04:53 -04:00
Nikolay Martynov a882a5439c OkHttp instumentation: simplify error case 2018-07-23 10:04:53 -04:00
Nikolay Martynov 9d2755be17 Fix Google Java Formater violations
Some changes landed on master that do not comply with new formatter rules
2018-07-23 13:43:29 +10:00
Nikolay Martynov 4283e3acb1
Merge pull request #396 from DataDog/mar-kolya/test-http-client-timeout-increase
Increase build stability by increasing some http client timeouts
2018-07-22 21:35:32 -04:00
Tyler Benson 9988c8775f
Merge pull request #388 from DataDog/tyler/grpc
Instrument gRPC 1.5.0+
2018-07-23 11:19:48 +10:00
Nikolay Martynov 564b4e9dc3 Increase build stability by increasing some http client timeouts
This makes build more resilient to slow boxes and high parallelism
2018-07-22 00:41:37 -04:00
Nikolay Martynov f1466304e8 Move random port generation to actual usage in tests using listening ports 2018-07-20 11:57:37 -04:00
Nikolay Martynov c3825d9d52 Improve tmp dir handling in ES tests
Also make sure ES ports are allocated right before ES is started
2018-07-20 11:53:33 -04:00
Tyler Benson a34f7b849b Instrument gRPC
Adds spans for the duration of the connection and child spans for each message.
Also propagates the trace using the metadata object.
2018-07-20 12:25:04 +10:00
Tyler Benson aa3fc0717e Fix some formatting changes. 2018-07-20 10:31:14 +10:00
Nikolay Martynov 7c62e10542 Do not use advice class names in Lettuce instrumentation directly
Since this leads to Java8 code loaded into Java7 JVM in tests.
Insted reference class names by string.
2018-07-19 10:45:21 -04:00
Tyler Benson 12a2fce96d Upgrade java formatter version. 2018-07-19 14:10:53 +10:00
Andrew Kent 46428dc6a3 Enable Lettuce instrumentation by default 2018-07-18 18:45:46 -07:00
Andrew Kent 23d0439b12 Remove muzzle dead code, doc cleanup, and better logging 2018-07-13 16:24:01 -07:00
Andrew Kent 2925df8de5 Clean up and document 2018-07-10 17:26:49 -04:00
Andrew Kent 8e182edc03 Replace BIPUSH with LDC to prevent overflow 2018-07-10 17:26:49 -04:00
Andrew Kent 33ec3f0304 Add missing ratpack helper 2018-07-10 17:26:49 -04:00
Andrew Kent 6faf63d6d8 Add missing memcached helper 2018-07-10 17:26:49 -04:00
Andrew Kent ce73c403bf Elasticsearch5 helpers 2018-07-10 17:26:49 -04:00
Andrew Kent 628f4929dc Muzzle Assertions and gradle plugin 2018-07-10 17:26:49 -04:00
Andrew Kent 541a6998a4 Hook up muzzle to Instrumenter.Default's matcher 2018-07-10 17:26:49 -04:00
Andrew Kent d61f65f4ff Muzzle outline in Instrumenter.Default 2018-07-10 17:26:49 -04:00
Andrew Kent 836f49205b TraceConfigInstrumentation implements Instrumenter directly 2018-07-10 17:26:49 -04:00
Gary Huang bfc49e869e Make connections always close on test case completion. 2018-07-09 17:55:52 -04:00
Gary Huang 6bd7cf0675 Fixes #379.
Connection pools were creating proxy connection objects, so the proxy objects were cached. By unwrapping the proxies, the connection objects will be correctly cached and identified.

Refactored tests to use connection pools, and hsqldb connections only on statements (since they will not make a USER() query in a getMetaData call).
2018-07-09 17:55:52 -04:00
Andrew Kent 02a3e6a5d3 New Instrumentation API 2018-07-06 17:17:32 -04:00
Andrew Kent 33a139cdcb New Instrumentation outline 2018-06-28 14:54:14 -07:00
Andrew Kent f8e3ac3097 New instrumentation api outline 2018-06-28 14:54:14 -07:00
Andrew Kent 0360bd01ee
Merge pull request #378 from DataDog/ark/cassandra-fix
Remove most shadow relocates
2018-06-27 11:56:33 -07:00
Andrew Kent 3894f829bb Remove most shadow relocates
Shadow relocates are no longer needed because of our new bootstrapping
process.
It's no longer possible for agent dependencies to interfere with the
user's classpath.

The immediate reason for this change is a bug created in the Cassandra
instrumentation.
The Cassandra instrumentation references guava transitive deps from
the datastax driver. These references are re-written by shadow,
causing the instrumentation to reference 'datadog.agent.deps.google.*'
instead of the guava class.
2018-06-27 09:35:54 -07:00