Skip to content

juntossomosmais/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)
  • 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_AUTOMATIC_LOG_CORRELATION: Default False, set to True to enrich logs with trace_id and span_id
  • 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

A python library that implements automatic instrumentation using the OneAgent SDK.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Python 100.0%