Commit Graph

107 Commits

Author SHA1 Message Date
jean-philippe bempel 58ea15e590 if not populated returns null for toString 2020-04-02 19:17:26 +02:00
jean-philippe bempel 4d15d5ae96 Sensor information instead of excluding the fields 2020-04-02 18:26:14 +02:00
jean-philippe bempel 96757f0c58 Remove sensitive information from debug log
Config.toString() method is dumped when logging in debug the conf.
It includes in some case the profile api key when used with env vars.
Also proxy password is also dumped.
toString method generated by Lombok now excludes both fields
2020-04-02 17:54:02 +02:00
Lev Priima cda39adf50
add ..."metrics":{"_dd.measured":1}... to every span (#1336)
* add ..."metrics":{"_dd.measured":1}... to every span

* update tests to always have "metrics":{"_dd.measured":1} in every span

Authored-by: Lev Priima <lev.priima@data.dog>
2020-03-25 11:17:47 -07:00
Laplie Anderson cef6da61dc
Revert "Add config to capture stacktrace when a span duration exceeds threshold" 2020-03-23 19:13:29 -04:00
Tyler Benson 2f64edaea4 Make threshold based on average duration
This should help avoid too frequent of stacktraces when the configured threshold is a normal duration.
Alternatively, we could make it a percentage above the average.
2020-03-10 15:08:12 -07:00
Tyler Benson 2b74487ed6 Add config to capture stacktrace when a span duration exceeds threshold
(But only when span is not errored or finished on a different thread.)

Use the following config:
```
-Ddd.trace.span.duration.stacktrace.millis=1000
```
(One second is the default, 0 disables.)
2020-03-10 13:18:22 -07:00
Nikolay Martynov 6ff723e191 CR changes 2020-03-02 12:25:20 -05:00
Nikolay Martynov 2c33f0ace7 Add an option to force profiling right in the beginning of premain
Currently this blows up JVMs before 14
2020-02-29 00:36:50 +01:00
Nikolay Martynov 0752b07d92 Introduce dd.tags 2020-02-27 12:26:29 +01:00
Nikolay Martynov a43f2b7db6 Change profiling intake url 2020-02-20 12:58:39 -05:00
Nikolay Martynov fd58187994 Support JFR profiling 2020-02-11 14:55:19 -05:00
Tyler Benson 5c6f74fd5e
Merge pull request #1177 from DataDog/tyler/scope-depth-limit
Add limit to trace scope depth
2020-01-22 12:13:23 -08:00
Tyler Benson a280ae6b7f Check for both regular and lowercase names with decorator enabled flags. 2020-01-17 11:05:44 -08:00
Laplie Anderson bed15079bc Rename Rule Based Sampling properties 2020-01-16 11:38:38 -05:00
Tyler Benson bcf81823b3 Add limit to trace scope depth
When limit is exceeded, a NoopScope is returned.
Allow custom ScopeManager to be provided, with the plan to remove `ScopeContext` customization in the future.
2020-01-15 11:51:06 -08:00
Laplie Anderson 712a5c1483 Disable decorators via config 2019-12-19 13:02:59 -05:00
Laplie Anderson c62beec606 Increase code coverage by removing unused method + tests 2019-11-19 10:47:14 -05:00
Laplie Anderson 0c22e27f66 Config and builder 2019-11-18 12:04:22 -05:00
dougqh 22ac1edfe2 Adding configuration variables needed for StatsD metric support 2019-10-25 11:29:49 -04:00
Nikolay Martynov b50ab7e0dd Add back deprecated field 2019-09-10 12:57:50 -04:00
Nikolay Martynov 3b34970d52 Rename SERVICE -> SERVICE_TAG constant
To make meaning more clear
2019-09-10 11:41:44 -04:00
Tyler Benson df017e044a
Merge pull request #975 from DataDog/tyler/split-by-tag
Add new setting to allow renaming service by tag
2019-09-05 14:24:20 -07:00
Douglas Q Hawkins 2e5766ece9
Merge pull request #974 from DataDog/dougqh/no-lang-client-spans
Ensure "client" spans do not set the language tag
2019-09-05 13:38:25 -04:00
Tyler Benson 82f5076716 Add new setting to allow renaming service by tag
This is a more generic form of the previous `split-by-domain` and `split-by-instance`.

(Note: evaluation is done when a tag is set, so If multiple tags are configured, the last tag set will take precidence.)

For example, this setting can be used to rename `aws-sdk` spans to be identified with the corresponding `aws.service` tag:

```
-Ddd.trace.split-by-tags=aws.service
```

There are some slight differences with this setting compared with`dd.trace.http.client.split-by-domain` and `dd.trace.db.client.split-by-instance`.  `split-by-tags` applies to every span, where `split-by-domain` and `split-by-instance` only apply to http and db client spans respectively.
2019-09-03 16:55:47 -07:00
dougqh 4851cc9069 Re-running format through gradle
Need to figure out why IntelliJ and gradle are behaving differently for import order
2019-09-03 16:16:13 -04:00
dougqh 57beee76d2 Running Google Code Formatter
Changes here are all non-functional -- and in methods unrelated to the core change
2019-09-03 14:09:46 -04:00
dougqh 3e2ef885a5 Ensure "client" spans do not set the language tag
The core changes are in Config and ServerDecorator.

Moved default tagging from Config::getRuntimeTags to Config::getLocalRootSpanTags.  This changes the result of Config::getMergedJmxTags as well.

To preserve language for servers changed ServerDecorator::afterStart.

Other changes are in tests - the most complicated part is in TagsAssert::defaultTags.  This now contains a bit too much conditional logic for my liking.
2019-09-03 13:20:50 -04:00
Alex Antonov 93ae2678ff Added support for Haystack trace propagation 2019-09-03 11:04:01 +02:00
Laplie Anderson f853916dce Get hostname in a smarter way
Attempt to get hostname through environment variables and command before going to DNS
2019-07-19 17:35:52 -04:00
Luca Abbati d865a1a249
Format code 2019-06-17 08:22:44 -04:00
Luca Abbati a3be0cbf9f
Merge branch 'master' of github.com:DataDog/dd-trace-java into labbati/config-file 2019-06-17 08:11:50 -04:00
Luca Abbati d0b32147a8
Be more friendly for config file to unix users using tilde for home 2019-06-17 08:10:50 -04:00
Luca Abbati f578c9ccf2
Remove system properties and envs left-over in Config tests 2019-06-14 11:50:11 +02:00
Tyler Benson 4c5793bddf Add `dd.trace.db.client.split-by-instance` Config 2019-06-13 15:52:37 -07:00
Luca Abbati da05772897
Add properties file to a comment listing all the source of configuration 2019-06-13 14:35:32 +02:00
Luca Abbati 076c2b1b4e
Removing synchronized as the load properties method no longer set the static istance 2019-06-13 14:35:32 +02:00
Luca Abbati 4dd6708852
Update comment on Config class to show new functionality 2019-06-13 14:35:31 +02:00
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