Skip to main content

Auto instrumentation for the OneAgent SDK

Project description

autodynatrace - OneAgent-SDK-Python-AutoInstrumentation

Actions Status Downloads

Dynatrace provides a powerful SDK that can be used to achieve code level visibility and transaction tracing for applications written in multiple languages, including python. This project provides a library called autodynatrace, which is a wrapper around the OneAgent SDK for Python and allows you to instrument python applications with minimal code changes.

Warning Autodynatrace is opensource and supported via github issues, this is not supported by Dynatrace via support tickets.

Usage

pip install autodynatrace

Option 1 - Instrumentation without code changes

Add the environment variable AUTOWRAPT_BOOTSTRAP=autodynatrace to your python processes

Option 2 - Semi-Auto Instrumentation

For most technologies, just import it in your code.

import autodynatrace

Technologies supported:

  • aiohttp (client)
  • bottle
  • celery
  • concurrent.futures
  • confluent_kafka
  • cx_Oracle
  • django
  • fastapi
  • flask
  • grpc (client)
  • paramiko
  • pika (RabbitMQ)
  • psycopg2
  • pymongo
  • pysnmp
  • redis
  • ruxit (Dynatrace plugin framework)
  • sqlalchemy
  • subprocess
  • suds
  • starlette
  • tornado
  • urllib
  • urllib3
  • custom annotations

Django

For Django, add "autodynatrace.wrappers.django" to INSTALLED_APPS

Environment variables

  • AUTODYNATRACE_CAPTURE_HEADERS: Default: False, set to True to capture request headers
  • AUTODYNATRACE_LOG_LEVEL: Default WARNING
  • AUTODYNATRACE_FORKABLE: Default False, set to True to instrument forked processes. Use this for gunicorn/uwsgi
  • AUTODYNATRACE_VIRTUAL_HOST: Overwrite the default Virtual Host for web frameworks
  • AUTODYNATRACE_APPLICATION_ID: Overwrite the default Application Name for web frameworks
  • AUTODYNATRACE_CONTEXT_ROOT: Overwrite the default Context Root for web frameworks
  • AUTODYNATRACE_CUSTOM_SERVICE_NAME: Overwrite the custom service name (used by @autodynatrace.trace)
  • AUTODYNATRACE_CUSTOM_SERVICE_USE_FQN: Default False, set to True to use fully qualified names for service and method names in custom traced services
  • AUTODYNATRACE_INSTRUMENT_<LIB_NAME>: If set to False, Disables the instrumentation for a specific lib, example: AUTODYNATRACE_INSTRUMENT_CONCURRENT=False, default is True

Support

For support using this open source project, please open a github issue explaining your issue and providing code examples, environment details

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

autodynatrace-2.1.0.tar.gz (22.9 kB view hashes)

Uploaded Source

Built Distribution

autodynatrace-2.1.0-py3-none-any.whl (42.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page