Skip to main content

Digma instrumentation for Python

Project description


Tests PyPI version

This package provides instrumentation helpers and tools to make it easy to set up Digma to work along with your OpenTelemetry instrumentation.

In order to be able to effectively glean code-object based insights for continuous feedback and map them back in the IDE, Digma inserts additional attribute into the OTEL resource attributes.

Installing the package

pip install opentelemetry-instrumentation-digma

Building the package from source

python -m build

Instrumenting an existing project

If you are introducing both OTEL and Digma

To make it convenient to get started quickly with some default for both OpenTelemetry and Digma, a quick bootsrap function is provided. This is not intended for usage if you already have OpenTelmetry set up in your project, nor be used as a production configuration.

from opentelemetry.instrumentation.digma import digma_opentelemetry_boostrap

digma_opentelemetry_boostrap(service_name='server-name', digma_backend="http://localhost:5050",

If you are already using OpenTelemtry tracing in your project

If you have an existing OpenTelemtry instrumentaiton set up, simply use the DigmaConfiguration object to create a Resource object and merge it with your resource to import all of the needed attributes.

resource = Resource.create(attributes={SERVICE_NAME: service_name})
resource = resource.merge(DigmaConfiguration().trace_this_package())

The Digma configuration options

Setting Description Default
set_environment Set the identifier of the deployment environment for the current trace process. e.g. 'staging', 'ci' Will try to read from env variable, otherwies 'UNSET'
set_commit_id Allows setting the commit identifier for the currently executing code. Will try to read from env variable otherwise empty
use_env_variable_for_commit_id Set a custom environment variable to read the commit identifier from in runtime. 'GIT_COMMIT_ID'
use_env_variable_for_deployment_environment Set a custom environment variable to read the deployment environment identifier from in runtime. 'DEPLOYMENT_ENV'
trace_this_package Specify the current package root folder. Used to aligned tracing with code None
trace_package Specify additional satellite or infra packages to track None

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page