Installation + Quickstart#

Before installing be sure to read through the setup documentation to ensure your environment is ready to receive traces.

Installation#

Install with pip:

pip install ddtrace

Important

pip version 18 and above is required to install the library.

Quickstart#

Important

Using gevent? Read our gevent documentation.

Using Gunicorn? Read the Gunicorn documentation.

Using uWSGI? Read our uWSGI documentation.

Tracing#

Getting started for tracing is as easy as prefixing your python entry-point command with ddtrace-run.

For example, if you start your application with python app.py then run (replacing placeholders with actual values for your environment variables):

DD_SERVICE=<app_name> DD_ENV=<environment> DD_VERSION=<version> ddtrace-run python app.py

For more advanced usage of ddtrace-run refer to the documentation here.

To verify the environment configuration for your application run the command ddtrace-run --info. This command prints useful information for debugging, ensuring that your environment variable configurations are recognized and that the tracer will be able to connect to the Datadog agent with them. Note: --info only reflects configurations set via environment variables, not those set within code.

When ddtrace-run cannot be used, a similar start-up behavior can be achieved with the import of ddtrace.auto. This should normally be imported as the first thing during the application start-up.

Service names also need to be configured for libraries that query other services (requests, grpc, database libraries, etc). Check out the integration documentation for each to set them up.

For additional configuration see the configuration documentation.

To learn how to manually instrument check out the basic usage documentation.

Profiling#

Profiling can also be auto enabled with ddtrace-run by providing the DD_PROFILING_ENABLED environment variable:

DD_PROFILING_ENABLED=true ddtrace-run python app.py

If ddtrace-run isn’t suitable for your application then ddtrace.profiling.auto can be used:

import ddtrace.profiling.auto

Configuration#

Almost all configuration of ddtrace can be done via environment variable. See the full list in Configuration.