Commit Graph

207 Commits

Author SHA1 Message Date
Laplie Anderson c275143eae Shadow the bootstrap jar into the main agent jar 2019-07-29 17:01:55 -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
Laplie Anderson 7e1266b39f Use try with resources to read agent version
More compact and gets rid of warnings
2019-07-29 17:01:55 -04:00
Nikolay Martynov a9a623d1dc Configure system logger to log timestamp
Also add an 'identifying marker' to tracing log lines so we could
potentially automatically parse them.
2019-06-17 12:56:19 -04:00
Tyler Benson d6719ed5cd Replace Mongo tests with updated tests. 2019-06-13 10:44:42 -07:00
Nikolay Martynov 8fa14ad33e Remove DDJavaAgentInfo - it doesn't seem to be used 2019-06-07 22:56:32 -04:00
Nikolay Martynov 78d014cf91 Fix DDInfoTest
This test was not marked as `Specification` and therefor was not run
during builds. Some time ago some code got moved around and this test
got broken - so fixing it.
2019-06-07 22:56:32 -04:00
Tyler Benson fd43210e07 Add task timeout for tests. 2019-05-23 17:13:40 -07:00
Tyler Benson 4d01f52b67 Change JMXFetch config keys
`agent.conf.d` -> `jmxfetch.config.dir`
`jmxfetch.configs` -> `jmxfetch.config`

Enabling bundled JMXFetch configs:
`dd.integration.<integration>.enabled=true` -> `dd.jmxfetch.<integration>.enabled=true`
2019-05-23 15:00:46 -07:00
Nikolay Martynov c0bb6f4a36 Fix minor typo 2019-05-09 09:44:42 -04:00
Tyler Benson 793627c167 Fix tests 2019-04-30 15:55:12 -07:00
Tyler Benson ac734ac6ee More classloading issues with Glassfish
Glassfish’s WebappClassLoader caches when a resource or class load fails, so we can’t load as a resource first to see if it is available.

Also add additional logging.
2019-04-30 12:38:54 -07:00
Nikolay Martynov bddee3d6e2 Make sure span is opened and closed with scope in Mongo 2019-04-05 11:13:53 -04:00
Nikolay Martynov 63e0c0f032 Support Unix Domain Socket proxy to send traces 2019-03-15 11:36:44 -07:00
Tyler Benson 472262149c Apply timeout and retry to test
This test seems to hang a lot in java 7.
2019-03-14 15:44:32 -07:00
Tyler Benson c500d4b236 Migrate OkHttp Instrumentation to Decorators 2019-03-08 15:12:29 -08:00
Tyler Benson 133460a79a Stop making hard references in HelperInjector
Also make awaitGC interruptable.
2019-02-27 19:09:01 -08:00
Nikolay Martynov 15bca28539 Remove unused testing function 2019-02-26 10:31:31 -05:00
Tyler Benson 7e82f5b197 Remove unnecessary license checker 2019-02-22 13:42:43 -08:00
Tyler Benson 8512b841e6 Fix how we evaluate if customlogger is on classpath
Resources must replace `.` -> `/` and add `.class` to the end.
2019-02-15 15:00:25 -08:00
Tyler Benson 4414dc2ad5 JMXFetch bundled integrations disabled by default
Enable each individually by setting `-Ddd.integration.<integration_name>.enabled=true`.
2019-02-06 13:00:52 -08:00
Tyler Benson 88d190d95b Test for customlogmanager=false 2019-01-31 14:53:58 -08:00
Tyler Benson e293ed477d Fix tests. 2019-01-31 14:25:19 -08:00
Tyler Benson f7abb2ac04 Initialize JMXFetch if configured log manager is on sys classpath
Some applications set java.util.logging.manager but never actually initialize the logger.
Check to see if the configured manager is on the system classpath.
If so, it should be safe to initialize jmxfetch which will setup the log manager.
2019-01-31 13:31:48 -08:00
Tyler Benson c89b00f682 Elaborate on comment. 2019-01-31 11:14:06 -08:00
Tyler Benson ea0dedcee7 Allow setting dd.app.customlogmanager=false to disable jboss check 2019-01-31 10:53:20 -08:00
Tyler Benson ee8a26d4dc Replace jboss classpath check with ENV check for jmxfetch delay
Some applications seem to have this jboss class on the classpath, but don’t actually use it.  When coupled with not actually using JUL, this means that we may never actually start JMXFetch.

Checking for JBOSS_HOME instead should be safer.
2019-01-31 10:42:43 -08:00
Tyler Benson bb2fbb30b8 Add logging to JMXFetch initialization delay
Otherwise it’s difficult to determine why JMXFetch isn’t being initialized.
2019-01-30 10:39:29 -08:00
Tyler Benson 03bcdc97cc Move awaitGC to common utility package 2019-01-25 10:32:09 -08:00
Nikolay Martynov 04fbb5085f Improve OSGi class loader instrumentation
It turns out that Eclipse's OSGi implementation has two problems:
* It doesn't respect system properties by default
* It has tricky classloader implementation that loads bootstrap
  classes from the classloader-has-delegation-to-bootstrap check but
  doesn't load bootstrap classes from 'normal' code.

This should address second problem and make Eclipse's OSGi
implementation 'safe' by default.
2019-01-25 08:52:07 -05:00
Andrew Kent af306f376b Comments explaining jmxfetch delay 2019-01-18 10:56:21 -08:00
Andrew Kent 097c557651 Delay jmxfetch init when custom log manager is used by client's app 2019-01-16 12:18:29 -08:00
Andrew Kent 4c4b12e1d6 Expand custom logman tests to handle three different logman cases 2019-01-16 10:06:41 -08:00
Andrew Kent 3295739e28 Fix race conditions in custom log manager test
Fix two race conditions in the custom log manager test.

- Remove possibility of false positives by blocking until jmx thread
  sends statsd metrics
- Disable logging in test to avoid deadlock in jmxfetch which can
  occur when the JVM shuts down too quickly
2019-01-16 08:57:59 -08:00
Tyler Benson 6a09f6e2b9 Moves all ittests to be tests under dd-java-agent.
This was weird having it as a separate project.  Reduces the number of top level directories.

There weren’t any existing tests in dd-java-agent’s test directory, so this seemed like a good place to put them.
2019-01-04 15:25:36 -08:00
Nikolay Martynov 403040bac0 Use JMXFetch as a library 2018-10-18 09:46:44 -04:00
Tyler Benson 51919a77bb Apply formatter on java files. 2018-07-31 12:07:43 +10:00
Nikolay Martynov c844501bc5 Fixes for some minor checkstyle complaints 2018-07-23 10:04:53 -04:00
Tyler Benson 12a2fce96d Upgrade java formatter version. 2018-07-19 14:10:53 +10:00
Andrew Kent 84fe1fc0e3 Organize bootstrap and agent classes by known prefix. 2018-03-15 12:17:03 -07:00
Andrew Kent 4a1db505db Enhance logging and cleanup. 2018-02-15 19:17:19 -08:00
Andrew Kent a692d42d3c Move DatadogClassloader to bootstrap 2018-02-15 19:17:19 -08:00
Andrew Kent a28a7abd4e Run api classes on bootstrap and core agent on custom classloader 2018-02-15 19:17:19 -08:00
Andrew Kent cfef64b026 Reorganize dd-java-agent subprojects 2018-02-15 18:55:02 -08:00
Tyler Benson c9da16f334 Add resource naming instrumentation for jax-rs 2018-02-14 19:18:01 +10:00
Andrew Kent d703095717 Patch getLogger calls to safe logger. 2018-02-04 12:09:11 -08:00
Andrew Kent 6f088ddd53 Remove trace decorator yaml config 2018-01-31 16:13:41 -08:00
Andrew Kent 8d53e4703d Set span.type for all integrations. 2018-01-31 16:13:41 -08:00
Andrew Kent 228f896bb6 Move default decorators to code 2018-01-31 13:18:28 -08:00
Tyler Benson 6d3d88987b Rename dd-trace-annotations to dd-trace-api
And move DDTags over to it.
Move some `datadog.trace.api` classes over to `datadog.trace.common`.
Other misc renaming.
2018-01-09 10:07:36 +10:00