Skip to content

autodynatrace, a python library that implements automatic instrumentation using the OneAgent SDK for Python

License

Notifications You must be signed in to change notification settings

dynatrace-oss/OneAgent-SDK-Python-AutoInstrumentation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)
  • asyncio - Run with the environment variable AUTODYNATRACE_INSTRUMENT_CONCURRENT=True
  • 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

About

autodynatrace, a python library that implements automatic instrumentation using the OneAgent SDK for Python

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages