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.1.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

autodynatrace-2.1.1-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

Details for the file autodynatrace-2.1.1.tar.gz.

File metadata

  • Download URL: autodynatrace-2.1.1.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for autodynatrace-2.1.1.tar.gz
Algorithm Hash digest
SHA256 0b75732f541bcb2af57ef87342b238e8cb47b5cc96bcc6fa2ff9d7dfb17ee490
MD5 7b2a51c9172c5e8dd238f42500fc4657
BLAKE2b-256 1d175a2543a9068d8eb2b0581fd94a4c9772b158a1c744946ad6b44d3d55541e

See more details on using hashes here.

File details

Details for the file autodynatrace-2.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for autodynatrace-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c1f20cb10075e7f1f4daf04704e54644e52aec035e5089fe7f683fa4d60fe92c
MD5 7d74b2ebe1423c01835c03b7110a0cf4
BLAKE2b-256 d39f41f858df55c30c08361183c51ae443a2f018170c785eed33728820aa378a

See more details on using hashes here.

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