Skip to content

Deploy on Hosts


Install DataKit Agent

Before performing link analysis on systems and applications, you need to deploy the TrueWatch DataKit collector on each target host to collect the necessary link data.

Enable the DDTrace Collector

DDTrace is used to receive, process, and analyze Tracing protocol data. Execute the following command to enable the DDTrace collector. For configurations of other third-party Tracing collectors, please refer to Integrations.

cp /usr/local/datakit/conf.d/ddtrace/ddtrace.conf.sample /usr/local/datakit/conf.d/ddtrace/ddtrace.conf

After configuration, restart DataKit:

datakit service -R

Choose a Language

Java

Install dependencies:

wget -O dd-java-agent.jar 'https://static.truewatch.com/dd-image/dd-java-agent.jar'

Run the application:

You can run your Java Code through various methods, such as an IDE, Maven, Gradle, or directly via the java -jar command. The following example uses the java command to start the application:

java \ 
    -javaagent:/path/to/dd-java-agent.jar \ 
    -Ddd.logs.injection=true \ 
    -Ddd.agent.host=<YOUR-DATAKIT-HOST> \ 
    -Ddd.trace.agent.port=9529 \ 
    -jar path/to/your/app.jar

Parameter configuration:

  1. service.name: Service name;
  2. env: Environment information of the application service;
  3. version: Version number;
  4. Set sampling rate: After enabling, the actual amount of data generated can be reduced; the range is from 0.0 (0%) to 1.0 (100%);
  5. Collect Profiling data: After enabling, more information about the application's runtime can be seen;
  6. Enable JVM Metrics collection: Requires simultaneously enabling the statsd collector.

For more parameter configurations, refer to here.

Python

Install dependencies:

pip install ddtrace

Run the application:

DD_LOGS_INJECTION=true \ 
DD_AGENT_HOST=localhost \ 
DD_AGENT_PORT=9529 \ 
ddtrace-run python my_app.py

Parameter configuration:

  1. service.name: Service name;
  2. env: Environment information of the application service;
  3. version: Version number;
  4. Set sampling rate: After enabling, the actual amount of data generated can be reduced; the range is from 0.0 (0%) to 1.0 (100%);
  5. Collect Profiling data: After enabling, more information about the application's runtime can be seen;
  6. Enable Python Metrics collection: Requires simultaneously enabling the statsd collector.

For more parameter configurations, refer to here.

Golang

Install dependencies:

go get gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer

Run the application:

package main 

import ( 
   "io/ioutil" 
   "os" 
   "time" 
   httptrace "gopkg.in/DataDog/dd-trace-go.v1/contrib/net/http" 
   "gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer" 
) 

func main() { 
  tracer.Start( 
  ) 
  defer tracer.Stop() 
  // Create a traced mux router
  mux := httptrace.NewServeMux()
  // Continue using the router as you normally would.
  mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    time.Sleep(time.Second)
    w.Write([]byte("Hello World!"))
  })
  if err := http.ListenAndServe(":18080", mux); err != nil {
    log.Fatal(err)
  }
}

Parameter configuration:

  1. service.name: Service name;
  2. env: Environment information of the application service;
  3. version: Version number;
  4. Set sampling rate: After enabling, the actual amount of data generated can be reduced; the range is from 0.0 (0%) to 1.0 (100%);
  5. Collect Profiling data: After enabling, more information about the application's runtime can be seen.

For more parameter configurations, refer to here.

Node.JS

C++

PHP