All Projects → dynatrace-oss → OneAgent-SDK-Python-AutoInstrumentation

dynatrace-oss / OneAgent-SDK-Python-AutoInstrumentation

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

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to OneAgent-SDK-Python-AutoInstrumentation

afl-dyninst
American Fuzzy Lop + Dyninst == AFL Fuzzing blackbox binaries
Stars: ✭ 65 (+54.76%)
Mutual labels:  instrumentation
RemoteNET
Examine, create and interact with remote objects in other .NET processes.
Stars: ✭ 29 (-30.95%)
Mutual labels:  instrumentation
prometheus-plugs
Prometheus.erl Elixir Plugs
Stars: ✭ 52 (+23.81%)
Mutual labels:  instrumentation
kamon-http4s
Kamon Integration for http4s
Stars: ✭ 47 (+11.9%)
Mutual labels:  instrumentation
contech
The Contech analysis framework provides the means for generating and analyzing task graphs that enable computer architects and programmers to gain a deeper understanding of parallel programs.
Stars: ✭ 43 (+2.38%)
Mutual labels:  instrumentation
thundra-agent-python
Thundra Lambda Python Agent
Stars: ✭ 36 (-14.29%)
Mutual labels:  instrumentation
nodeprof.js
Instrumentation framework for Node.js compliant to ECMAScript 2020 based on GraalVM.
Stars: ✭ 44 (+4.76%)
Mutual labels:  instrumentation
opencensus-go-exporter-stackdriver
OpenCensus Go exporter for Stackdriver Monitoring and Trace
Stars: ✭ 65 (+54.76%)
Mutual labels:  instrumentation
pyccolo
Declarative instrumentation for Python.
Stars: ✭ 70 (+66.67%)
Mutual labels:  instrumentation
console
Oracle Instrumentation Console: Lightweight PL/SQL logging tool inspired by the JavaScript Console
Stars: ✭ 14 (-66.67%)
Mutual labels:  instrumentation
EmbedSanitizer
EmbedSantizer is a runtime race detection tool which extends ThreadSanitizer to detect data races in 32-bit ARM applications.
Stars: ✭ 16 (-61.9%)
Mutual labels:  instrumentation
marathon
Cross-platform test runner written for Android and iOS projects
Stars: ✭ 398 (+847.62%)
Mutual labels:  instrumentation
prometheus-phoenix
Prometheus.io Phoenix instrumenter
Stars: ✭ 66 (+57.14%)
Mutual labels:  instrumentation
solcover
Code coverage for solidity
Stars: ✭ 64 (+52.38%)
Mutual labels:  instrumentation
java-jaxrs
OpenTracing Java JAX-RS instrumentation
Stars: ✭ 37 (-11.9%)
Mutual labels:  instrumentation
Samples
Sample applications using App.Metrics
Stars: ✭ 19 (-54.76%)
Mutual labels:  instrumentation
objectiv-analytics
Powerful product analytics for data teams, with full control over data & models.
Stars: ✭ 399 (+850%)
Mutual labels:  instrumentation
e9afl
AFL binary instrumentation
Stars: ✭ 234 (+457.14%)
Mutual labels:  instrumentation
sdks
Polyaxon Clients & Langange SDKS
Stars: ✭ 12 (-71.43%)
Mutual labels:  instrumentation
instrumentation
An extensible java agent framework that instruments (modifies the bytecode at class loading time) programs running on the JVM, with the purpose of capturing method invocation events (start, finish, errors ...) and notifying custom listeners.
Stars: ✭ 39 (-7.14%)
Mutual labels:  instrumentation

OneAgent-SDK-Python-AutoInstrumentation

⚠️ Dynatrace is now able to ingest Opentelemetry traces, consider using OpenTelemetry Python instead of autodynatrace for wider community support. There is a guide here.

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.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].