Commit Graph

69 Commits

Author SHA1 Message Date
Luca Abbati 1d57a5873b
Tests for functionality: Config fallback to properties files 2019-06-13 14:35:31 +02:00
Luca Abbati 6fc69ba64e
Config to fallback to properties file to load settings 2019-06-13 14:35:31 +02:00
Luca Abbati d0fbbf85ce
Format code 2019-06-12 14:35:48 +02:00
Luca Abbati e1ceda8f0e
Improve config usage as instance based on CR 2019-06-12 14:00:36 +02:00
Luca Abbati 057ca7b66e
Refresh the tracer with changed config properties now that we are using instances 2019-06-05 15:38:00 +02:00
Luca Abbati 8debe771d4
Fix tests after changing config from static to instance access 2019-06-05 10:56:20 +02:00
Luca Abbati 901efee50e
Remove static usage of low level config methods from outside the config class 2019-06-04 15:13:40 +02:00
Tyler Benson fc9f1d120c Misc fixes. 2019-05-29 13:54:35 -07:00
Tyler Benson 71101ac8d0 Add http.query.string tag when enabled
Disabled by default.

Enable for http servers with:
* System Property: `dd.http.server.tag.query-string=true`
* Environment Variable: `DD_HTTP_SERVER_TAG_QUERY_STRING=true`

Enable for http clients with:
* System Property: `dd.http.client.tag.query-string=true`
* Environment Variable: `DD_HTTP_CLIENT_TAG_QUERY_STRING=true`
2019-05-29 13:54:35 -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
Luca Abbati b09aa1a59d Enable JMXFetch by default 2019-05-23 11:09:07 -07:00
Tyler Benson b505c60543 Use jmx AppConfig Builder instead of factory method
Expose new options for configuring JMXFetch with standard datadog-agent config files with `jvm_direct: true` set as an instance attribute (this will be ignored by the datadog-agent).

For Example:
* `dd.agent.conf.d=/opt/datadog-agent/etc/conf.d`
* `dd.jmxfetch.configs=activemq.d/conf.yaml,jmx.d/conf.yaml`
will load jmx configs in those two files that have `jvm_direct: true` in their `instance` setup.

Environment variables can also be used: `DD_AGENT_CONF_D` and `DD_JMXFETCH_CONFIGS`

Depends on https://github.com/DataDog/jmxfetch/releases/tag/0.29.0 being released.
2019-05-21 17:13:56 -07:00
Luca Abbati 06f13fd570
Simplify how we calculate local root span tags 2019-05-17 22:32:03 +02:00
Luca Abbati 7a9d54d2c1
Avoid setting hostname tag on local root span if empty (followup) 2019-05-17 22:01:14 +02:00
Luca Abbati 0da9991805
Avoid setting hostname tag on local root span if empty (followup) 2019-05-17 22:00:44 +02:00
Luca Abbati 3b8257a123
Avoid setting hostname tag on local root span if empty 2019-05-17 21:55:02 +02:00
Luca Abbati 6399fee839
Remove caching of hostname detection in config class 2019-05-17 17:46:16 +02:00
Luca Abbati 8b2b83bc13
Merge branch 'master' of github.com:DataDog/dd-trace-java into labbati/hostname 2019-05-17 10:16:43 +02:00
Luca Abbati ad3401b815
Apply suggestions from CR #827 2019-05-17 10:15:03 +02:00
Luca Abbati 1d5dd5b28a
Refactor merging application root span tags with jmx base tags 2019-05-16 19:54:25 +02:00
Luca Abbati 10069847a3
Define the concept of applicationRootSpanTags and apply only to root
tags
2019-05-16 12:25:43 +02:00
Luca Abbati 23ffcf0fce
Apply workaround to refresh configuration values during tests 2019-05-15 16:00:14 +02:00
Luca Abbati 8231ea1cb2
Merge branch 'master' of github.com:DataDog/dd-trace-java into labbati/hostname 2019-05-15 13:48:26 +02:00
Tyler Benson cc23fee614 Add config to enable individual executors
Or all executors, bypassing the allow list.

`dd.trace.executor=com.MyCustomExecutor,com.OtherExecutor`
`dd.trace.executors.all=true`

Turns out in many cases, executors that we say we’re skipping, are still being traced because they extend from an already instrumented executor.
2019-05-14 10:03:44 -07:00
Nikolay Martynov 076d14f727 Remove unused config field 2019-05-10 13:45:43 -04:00
Nikolay Martynov 5ff04bd1e9 Allow tracing be disabled via config 2019-05-09 10:20:06 -04:00
Luca Abbati 0dd6659c80
Add configuration param to report hostname 2019-05-09 12:27:13 +02:00
Tyler Benson ec91a75848 Add config allowing classes to be excluded from transformation
Add the following system property or corresponding environment variable:
```
dd.trace.classes.exclude=some.packagename.*,some.classname.MyClass$NestedClass
```
2019-04-19 10:41:13 -07:00
Tyler Benson b872e7fa9b Set default value for partial trace flush to 1k
This should help reduce memory impact of large traces and reduce risk if scope is opened and never closed.
2019-04-11 14:40:44 -07:00
Tyler Benson 347710a680 Correct http status mapping config keys
Use the properly documented and agreed upon config keys.
2019-03-27 08:43:10 -07:00
Tyler Benson 849653c5d5 Improve and adjust code coverage 2019-03-21 09:55:21 -07:00
Tyler Benson f290734d52 Merge branch 'master' into mar-kolya/b3-headers
# Conflicts:
#	dd-trace-api/src/main/java/datadog/trace/api/Config.java
2019-03-21 08:33:56 -07:00
Tyler Benson 4187bf3eb0 code review changes. 2019-03-20 17:09:39 -07:00
Nikolay Martynov 42cc3594dc Improve injection/extraction styles configuration 2019-03-20 12:28:39 -07:00
Nikolay Martynov 4eb7936245 Implement B3 headers extraction and injection 2019-03-20 12:28:39 -07:00
Tyler Benson 715af67e70 Implement Http Status error mapping via config
Using the following defaults:

* `DD_HTTP_CLIENT_ERROR_STATUSES=400-499`
* `DD_HTTP_SERVER_ERROR_STATUSES=500-599`
2019-03-19 17:11:48 -07:00
Nikolay Martynov 63e0c0f032 Support Unix Domain Socket proxy to send traces 2019-03-15 11:36:44 -07:00
Tyler Benson 192eb894a4 Fix Trace Search + Analytics integration config key 2019-03-14 10:54:43 -07:00
Tyler Benson a98c22ac3a Introduce base decorators 2019-02-20 16:11:18 -08:00
Tyler Benson 4dd4ee0c05 Trace Analytics Config
Also make the instrumentation names a sorted list so the evaluation order is consistent.
2019-02-20 10:56:14 -08:00
Tyler Benson 2283040a5b Make internal name usage consistent with setting name. 2019-02-08 10:26:40 -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
Nikolay Martynov 4af241fc48 Fix config to inherit `HTTP_CLIENT_HOST_SPLIT_BY_DOMAIN` 2019-02-05 15:22:14 -05:00
Tyler Benson 878bab38be Add comments to Config 2019-02-05 11:31:41 -08:00
Tyler Benson 6cebabbada Move integrations config to Config class. 2019-02-05 08:20:49 -08:00
Tyler Benson 1a54e8179a Add setting to set service name by domain for http clients
This will allow better metric collection and identification of trends for individual services/hosts.

This is not enabled by default because it can result in a high cardinality of services.
2019-02-05 08:20:49 -08:00
Nikolay Martynov 28e1749c2a
Merge pull request #662 from DataDog/mar-kolya/partial-trace-flush
Add support for partial trace flush
2019-01-22 10:16:43 -05:00
Nikolay Martynov 2a7cebc311 Add support for partial trace flush
Add a configuration option and logic to flush purtial traces to the
agent if ongoing trace becomes too large.
2019-01-17 09:09:50 -05: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 12a7691f04 Tag JMX metrics with `service` in addition to `service.name` 2019-01-15 12:30:11 -08:00