Skip to content

Commit a219e56

Browse files
committed
fix links on java tracer setup page
1 parent 1f7deff commit a219e56

File tree

1 file changed

+42
-41
lines changed

1 file changed

+42
-41
lines changed

content/en/tracing/setup/java.md

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ further_reading:
1818

1919
If you already have a Datadog account you can find [step-by-step instructions][1] in our in-app guides for either host-based or container-based set ups.
2020

21-
Otherwise, to begin tracing applications written in any language, first [install and configure the Datadog Agent][2], see the additional documentation for [tracing Docker applications][2] or [Kubernetes applications][3].
21+
Otherwise, to begin tracing applications written in any language, first [install and configure the Datadog Agent][2], see the additional documentation for [tracing Docker applications][3] or [Kubernetes applications][4].
2222

2323
Next, download `dd-java-agent.jar` that contains the Agent class files:
2424

@@ -34,14 +34,14 @@ Finally, add the following JVM argument when starting your application in your I
3434

3535
**Note**:
3636

37-
- The `-javaagent` needs to be run before the `-jar` file, adding it as a JVM option, not as an application argument. For more information, see the [Oracle documentation][4].
37+
- The `-javaagent` needs to be run before the `-jar` file, adding it as a JVM option, not as an application argument. For more information, see the [Oracle documentation][5].
3838

39-
- `dd-trace-java`'s artifacts (`dd-java-agent.jar`, `dd-trace-api.jar`, `dd-trace-ot.jar`) support all JVM-based languages, i.e. Scala, Groovy, Kotlin, Clojure, etc. If you need support for a particular framework, consider making an [open-source contribution][5].
39+
- `dd-trace-java`'s artifacts (`dd-java-agent.jar`, `dd-trace-api.jar`, `dd-trace-ot.jar`) support all JVM-based languages, i.e. Scala, Groovy, Kotlin, Clojure, etc. If you need support for a particular framework, consider making an [open-source contribution][6].
4040

4141
## Automatic Instrumentation
4242

43-
Automatic instrumentation for Java uses the `java-agent` instrumentation capabilities [provided by the JVM][6]. When a `java-agent` is registered, it has the ability to modify class files at load time.
44-
The `java-agent` uses the [Byte Buddy framework][7] to find the classes defined for instrumentation and modify those class bytes accordingly.
43+
Automatic instrumentation for Java uses the `java-agent` instrumentation capabilities [provided by the JVM][7]. When a `java-agent` is registered, it has the ability to modify class files at load time.
44+
The `java-agent` uses the [Byte Buddy framework][8] to find the classes defined for instrumentation and modify those class bytes accordingly.
4545

4646
Instrumentation may come from auto-instrumentation, the OpenTracing api, or a mixture of both. Instrumentation generally captures the following info:
4747

@@ -78,15 +78,15 @@ Beta integrations are disabled by default but can be enabled individually.
7878
| ----------------------- | ---------- | --------------- | ---------------------------------------------- |
7979
| Akka-Http Server | 10.0+ | Fully Supported | `akka-http`, `akka-http-server` |
8080
| Finatra Web | 2.9+ | Fully Supported | `finatra` |
81-
| Grizzly | 2.0+ | [Beta][8] | `grizzly` |
82-
| Grizzly-HTTP | 2.3.20+ | [Beta][8] | `grizzly-filterchain` |
81+
| Grizzly | 2.0+ | [Beta][9] | `grizzly` |
82+
| Grizzly-HTTP | 2.3.20+ | [Beta][9] | `grizzly-filterchain` |
8383
| Java Servlet Compatible | 2.3+, 3.0+ | Fully Supported | `servlet`, `servlet-2`, `servlet-3` |
8484
| Jax-RS Annotations | JSR311-API | Fully Supported | `jax-rs`, `jaxrs`, `jax-rs-annotations`, `jax-rs-filter` |
85-
| Jetty (non-Servlet) | 8+ | [Beta][8] | `jetty`, `jetty-8` |
85+
| Jetty (non-Servlet) | 8+ | [Beta][9] | `jetty`, `jetty-8` |
8686
| Netty HTTP Server | 3.8+ | Fully Supported | `netty`, `netty-3.8`, `netty-4.0`, `netty-4.1` |
8787
| Play | 2.3-2.7 | Fully Supported | `play`, `play-action` |
8888
| Ratpack | 1.5+ | Fully Supported | `ratpack` |
89-
| Spark Java | 2.3+ | [Beta][8] | `sparkjava` (requires `jetty`) |
89+
| Spark Java | 2.3+ | [Beta][9] | `sparkjava` (requires `jetty`) |
9090
| Spring Web (MVC) | 4.0+ | Fully Supported | `spring-web` |
9191
| Spring WebFlux | 5.0+ | Fully Supported | `spring-webflux` |
9292

@@ -100,7 +100,7 @@ Beta Instrumentation is disabled by default. Add one of the following configurat
100100
- System Property: `-Ddd.integration.<INTEGRATION_NAME>.enabled=true`
101101
- Environment Variable: `DD_INTEGRATION_<INTEGRATION_NAME>_ENABLED=true`
102102

103-
Don't see your desired web frameworks? Datadog is continually adding additional support. Contact [Datadog support][8] if you need help.
103+
Don't see your desired web frameworks? Datadog is continually adding additional support. Contact [Datadog support][9] if you need help.
104104

105105
#### Networking Framework Compatibility
106106

@@ -113,7 +113,7 @@ Don't see your desired web frameworks? Datadog is continually adding additional
113113
| AWS Java SDK | 1.11+, 2.2+ | Fully Supported | `aws-sdk` |
114114
| Commons HTTP Client | 2.0+ | Fully Supported | `commons-http-client` |
115115
| Google HTTP Client | 1.19.0+ | Fully Supported | `google-http-client` |
116-
| Grizzly HTTP Client | 1.9+ | Beta[9] | `grizzly-client` |
116+
| Grizzly HTTP Client | 1.9+ | [Beta][9] | `grizzly-client` |
117117
| gRPC | 1.5+ | Fully Supported | `grpc`, `grpc-client`, `grpc-server` |
118118
| HttpURLConnection | all | Fully Supported | `httpurlconnection`, `urlconnection` |
119119
| Kafka-Clients | 0.11+ | Fully Supported | `kafka` |
@@ -124,15 +124,15 @@ Don't see your desired web frameworks? Datadog is continually adding additional
124124
| JMS | 1 and 2 | Fully Supported | `jms`, `jms-1`, `jms-2` |
125125
| Netty HTTP Client | 4.0+ | Fully Supported | `netty`, `netty-4.0`, `netty-4.1` |
126126
| Netty HTTP Client | 4.0+ | Fully Supported | `netty`, `netty-4.0`, `netty-4.1` |
127-
| Ning HTTP Client | 1.9.0+ | Beta[9] | `ning` |
127+
| Ning HTTP Client | 1.9.0+ | [Beta][9] | `ning` |
128128
| OkHTTP | 2.2+ | Fully Supported | `okhttp`, `okhttp-2`,`okhttp-3` |
129129
| Play WSClient | 1.0+ | Fully Supported | `play-ws` |
130130
| Rabbit AMQP | 2.7+ | Fully Supported | `amqp`, `rabbitmq` |
131131
| Spring WebClient | 5.0+ | Fully Supported | `spring-webflux`, `spring-webflux-client` |
132132

133133
**Networking tracing provides:** timing request to response, tags for the request (e.g. response code), error and stacktrace capturing, and distributed tracing.
134134

135-
Don't see your desired networking framework? Datadog is continually adding additional support. Contact [Datadog support][8] if you need help.
135+
Don't see your desired networking framework? Datadog is continually adding additional support. Contact [Datadog support][9] if you need help.
136136

137137
#### Data Store Compatibility
138138

@@ -166,7 +166,7 @@ Don't see your desired networking framework? Datadog is continually adding addit
166166

167167
**Datastore tracing provides:** timing request to response, query info (e.g. a sanitized query string), and error and stacktrace capturing.
168168

169-
Don't see your desired datastores? Datadog is continually adding additional support. Contact [Datadog support][8] if you need help.
169+
Don't see your desired datastores? Datadog is continually adding additional support. Contact [Datadog support][9] if you need help.
170170

171171
#### Other Framework Compatibility
172172

@@ -184,13 +184,13 @@ Don't see your desired datastores? Datadog is continually adding additional supp
184184
| Spring Scheduling | 3.1+ | Fully Supported | `spring-scheduling` |
185185
| Twilio SDK | 0+ | Fully Supported | `twilio-sdk` |
186186

187-
Don't see your desired framework? Datadog is continually adding additional support. Contact [Datadog support][8] if you need help.
187+
Don't see your desired framework? Datadog is continually adding additional support. Contact [Datadog support][9] if you need help.
188188

189189
To improve visibility into applications using unsupported frameworks, consider:
190190

191191
- Adding custom instrumentation (with OpenTracing or the `@Trace` annotation).
192-
- [Submitting a pull request][9] with instrumentation for inclusion in a future release.
193-
- Contacting [Datadog support][8] and submitting a feature request.
192+
- [Submitting a pull request][11] with instrumentation for inclusion in a future release.
193+
- Contacting [Datadog support][9] and submitting a feature request.
194194

195195
## Configuration
196196

@@ -213,15 +213,15 @@ System properties can be set as JVM flags.
213213

214214
| System Property | Environment Variable | Default | Description |
215215
| -------------------------------------- | -------------------------------------- | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
216-
| `dd.logs.injection` | `DD_LOGS_INJECTION` | false | Enabled automatic MDC key injection for Datadog trace and span IDs. See [Advanced Usage][9] for details |
216+
| `dd.logs.injection` | `DD_LOGS_INJECTION` | false | Enabled automatic MDC key injection for Datadog trace and span IDs. See [Advanced Usage][10] for details |
217217
| `dd.trace.config` | `DD_TRACE_CONFIG` | `null` | Optional path to a file where configuration properties are provided one per each line. For instance, the file path can be provided as via `-Ddd.trace.config=<FILE_PATH>.properties`, with setting the service name in the file with `dd.service.name=<SERVICE_NAME>` |
218218
| `dd.service.mapping` | `DD_SERVICE_MAPPING` | `null` | (Example: `mysql:my-mysql-service-name-db, postgres:my-postgres-service-name-db`) Dynamically rename services via configuration. Useful for making databases have distinct names across different services. |
219219
| `dd.writer.type` | `DD_WRITER_TYPE` | `DDAgentWriter` | Default value sends traces to the Agent. Configuring with `LoggingWriter` instead writes traces out to the console. |
220-
| `dd.agent.host` | `DD_AGENT_HOST` | `localhost` | Hostname for where to send traces to. If using a containerized environment, configure this to be the host IP. See [Tracing Docker Applications][2] for more details. |
220+
| `dd.agent.host` | `DD_AGENT_HOST` | `localhost` | Hostname for where to send traces to. If using a containerized environment, configure this to be the host IP. See [Tracing Docker Applications][3] for more details. |
221221
| `dd.trace.agent.port` | `DD_TRACE_AGENT_PORT` | `8126` | Port number the Agent is listening on for configured host. |
222222
| `dd.trace.agent.unix.domain.socket` | `DD_TRACE_AGENT_UNIX_DOMAIN_SOCKET` | `null` | This can be used to direct trace traffic to a proxy, to later be sent to a remote Datadog Agent. |
223223
| `dd.trace.header.tags` | `DD_TRACE_HEADER_TAGS` | `null` | (Example: `CASE-insensitive-Header:my-tag-name,User-ID:userId`) A map of header keys to tag names. Automatically apply header values as tags on traces. |
224-
| `dd.trace.annotations` | `DD_TRACE_ANNOTATIONS` | ([listed here][10]) | (Example: `com.some.Trace;io.other.Trace`) A list of method annotations to treat as `@Trace`. |
224+
| `dd.trace.annotations` | `DD_TRACE_ANNOTATIONS` | ([listed here][12]) | (Example: `com.some.Trace;io.other.Trace`) A list of method annotations to treat as `@Trace`. |
225225
| `dd.trace.methods` | `DD_TRACE_METHODS` | `null` | (Example: `package.ClassName[method1,method2,...];AnonymousClass$1[call]`) List of class/interface and methods to trace. Similar to adding `@Trace`, but without changing code. |
226226
| `dd.trace.partial.flush.min.spans` | `DD_TRACE_PARTIAL_FLUSH_MIN_SPANS` | `1000` | Set a number of partial spans to flush on. Useful to reduce memory overhead when dealing with heavy traffic or long running traces. |
227227
| `dd.trace.split-by-tags` | `DD_TRACE_SPLIT_BY_TAGS` | `null` | (Example: `aws.service`) Used to rename spans to be identified with the corresponding service tag |
@@ -244,9 +244,9 @@ System properties can be set as JVM flags.
244244

245245
**Note**:
246246

247-
By default, JMX metrics from your application are sent to the Datadog Agent thanks to DogStatsD over port `8125`. Make sure that [DogStatsD is enabled for the Agent][10].
248-
- If you are running the Agent as a container, ensure that `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` [is set to `true`][11], and that port `8125` is open on the Agent container.
249-
- In Kubernetes, [bind the DogStatsD port to a host port][12]; in ECS, [set the appropriate flags in your task definition][13].
247+
By default, JMX metrics from your application are sent to the Datadog Agent thanks to DogStatsD over port `8125`. Make sure that [DogStatsD is enabled for the Agent][13].
248+
- If you are running the Agent as a container, ensure that `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` is set to [`true`][14], and that port `8125` is open on the Agent container.
249+
- In Kubernetes, [bind the DogStatsD port to a host port][15]; in ECS, [set the appropriate flags in your task definition][16].
250250

251251
### Integrations
252252

@@ -370,11 +370,11 @@ Would produce the following result:
370370
371371
{{< img src="tracing/setup/java/jmxfetch_example.png" alt="JMX fetch example" >}}
372372
373-
See the [Java integration documentation][14] to learn more about Java metrics collection with JMX fetch.
373+
See the [Java integration documentation][17] to learn more about Java metrics collection with JMX fetch.
374374
375375
### B3 Headers Extraction and Injection
376376
377-
Datadog APM tracer supports [B3 headers extraction][15] and injection for distributed tracing.
377+
Datadog APM tracer supports [B3 headers extraction][18] and injection for distributed tracing.
378378
379379
Distributed headers injection and extraction is controlled by configuring injection/extraction styles. Currently two styles are supported:
380380
@@ -466,20 +466,21 @@ java -javaagent:<DD-JAVA-AGENT-PATH>.jar \
466466

467467
{{< partial name="whats-next/whats-next.html" >}}
468468

469-
[2] /agent/docker/apm/
470-
471469
[1]: https://app.datadoghq.com/apm/install
472-
[2]: /tracing/setup/docker/
473-
[3]: /agent/kubernetes/apm/
474-
[4]: https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html
475-
[5]: https://github.com/DataDog/dd-trace-java/blob/master/CONTRIBUTING.md
476-
[6]: https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html
477-
[7]: http://bytebuddy.net
478-
[8]: /help/
479-
[9]: https://github.com/DataDog/documentation#outside-contributors
480-
[10]: /developers/dogstatsd/#setup
481-
[11]: /agent/docker/#dogstatsd-custom-metrics
482-
[12]: /developers/dogstatsd/
483-
[13]: /integrations/amazon_ecs/?tab=python#create-an-ecs-task
484-
[14]: /integrations/java/
485-
[15]: https://github.com/openzipkin/b3-propagation
470+
[2]: /tracing/send_traces/
471+
[3]: /tracing/setup/docker/
472+
[4]: /agent/kubernetes/apm/
473+
[5]: https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html
474+
[6]: https://github.com/DataDog/dd-trace-java/blob/master/CONTRIBUTING.md
475+
[7]: https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html
476+
[8]: http://bytebuddy.net
477+
[9]: /help/
478+
[10]: /tracing/connect_logs_and_traces/java/
479+
[11]: https://github.com/DataDog/documentation#outside-contributors
480+
[12]: https://github.com/DataDog/dd-trace-java/blob/8c63d722884c2e9c7b1e237b312747ee0efa3e9a/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java#L37
481+
[13]: /developers/dogstatsd/#setup
482+
[14]: /agent/docker/#dogstatsd-custom-metrics
483+
[15]: /developers/dogstatsd/
484+
[16]: /integrations/amazon_ecs/?tab=python#create-an-ecs-task
485+
[17]: /integrations/java/
486+
[18]: https://github.com/openzipkin/b3-propagation

0 commit comments

Comments
 (0)