If you can, use the Java SpecialAgent to auto-instrument your Java application. Only use the following instructions if you must use Datadog.

Use Tracers for Instrumentation

  1. Visit the Datadog Instrumentation page and choose a language.
  2. Follow the instructions to integrate the Datadog tracer with your application. You can choose to rely on auto-instrumentation or add custom instrumentation to your services (or both).
  3. Use the OpenTracing API for any additional instrumentation. By enabling the OpenTracing tracer you can use OpenTracing’s API for manual instrumentation and remain vendor-neutral for for the traces your service emits.

You do not need to run the Datadog Agent to send traces to Lightstep.

Configure Tracers to Send Data to Lightstep

To send data from your system to Lightstep, you need to configure the tracer to point to your Satellites and to send certain tags required by Lightstep to ingest and display the data to you.

Configuration is different, depending on if you are using your own on-premise Satellites or the Lightstep Public or Developer Mode Satellites with Ruby or Java tracers.

  1. If you’re using on-premise Satellites or the Developer Mode Satellite, change the Tracer Hostname to point to the Lightstep Satellites by setting these environment variables.

    DD_AGENT_HOST=<Satellite host>
    DD_TRACE_AGENT_PORT=<Satellite port>
  2. If you’re using Lightstep’s Public Satellites and your tracers are in Java or Ruby, you need to run a proxy that encrypts the trace payload before it reaches Lightstep. Point your tracer to the Proxy instead of the Satellites.

    The proxy can be run as a side-car to your application. Lightstep provides a docker image to make this simple.

    To start the proxy with defaults, run: docker run -p 8126:8126 lightstep/reverse-proxy:latest

    You can see the complete list of options using the –help flag docker run lightstep/reverse-proxy:latest --help

    If you are using the Public Satellites and a language other than Java or Ruby, set the hostname and port on your tracers to connect to to the public Satellites.

  3. Configure the Tracer to Send Certain Tags You must set these as global tags on all spans from a service.

Tag Value
lightstep.service_name The name of the service from which spans originate.</br> Set this as a global tag so all spans emitted from the service have the same name.</br></br> This tag allows Lightstep to accurately report on your services, with features such as the Service diagram and the Service Directory.
lightstep.access_token The access token for the project the tracers report to.</br></br> Set this as a global tag so all spans emitted from the service have the same token.</br></br> Lightstep Satellites need this token to accept and store span data from the tracer. Reports from clients with invalid or deactivated access tokens will be rejected on ingress.