opentelemetry-python-contrib
opentelemetry.io
opentelemetry-python-contrib | opentelemetry.io | |
---|---|---|
3 | 1 | |
627 | 470 | |
6.2% | 1.9% | |
9.4 | 9.9 | |
6 days ago | 7 days ago | |
Python | JavaScript | |
Apache License 2.0 | Creative Commons Attribution 4.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
opentelemetry-python-contrib
-
OpenTelemetry for Python: The Hard Way
In my last blog post, I showed y’all how to instrument Python code with OpenTelemetry (OTel), à la auto-instrumentation. You may also recall from that post that I recommended using the Python auto-instrumentation binary even for non-auto-instrumented libraries, because it abstracts all that pesky OTel config stuff so nicely. When you use it, along with any applicable Python auto-instrumentation libraries (installed courtesy of opentelemetry-bootstrap), it takes care of context propagation across related services for you.
-
Auto-Instrumentation Is Magic: Using OpenTelemetry Python with Lightstep
More specifically, auto-instrumentation uses shims or bytecode instrumentation agents to intercept your code at runtime or at compile-time to add tracing and metrics instrumentation to the libraries and frameworks you depend on. The beauty of auto-instrumentation is that it requires a minimum amount of effort. Sit back, relax, and enjoy the show. A number of popular Python libraries are auto-instrumented, including Flask and Django. You can find the full list here.
-
Do i really want to mess with OpenTelemetry, or just hook straight into Datadog
And sure, there's gaps and those are awful when you get to them. But writing minimal tracing integration is pretty easy. This is the full source of the psycopg2 instrumentation. https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-psycopg2/src/opentelemetry/instrumentation/psycopg2/__init__.py
opentelemetry.io
-
OpenTelemetry for Python: The Hard Way
Note: Although the OpenTelemetry documentation does provide some insight into how to do manual context propagation in Python, the documentation needs a little work. I’m actually part of the OpenTelemetry Comms SIG, so I am using this as motivation to improve the docs around this topic…stay tuned for updates to the OTel docs too! 😎
What are some alternatives?
vector - A high-performance observability data pipeline.
aws-otel-js - AWS Distro for OpenTelemetry JavaScript SDK
debug-toolkit - A modern code-injection framework for Python. Like Pyrasite but Kubernetes-aware.
opentelemetry-examples - Example code and resources for working with OpenTelemetry, provided by Lightstep
opentelemetry-python - OpenTelemetry Python API and SDK
CPython - The Python programming language
MongoDB - The MongoDB Database
thanos - Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.
opentelemetry-specification - Specifications for OpenTelemetry
qryn - qryn is a polyglot, high-performance observability framework for ClickHouse. Ingest, store and analyze logs, metrics and telemetry traces from any agent supporting Loki, Prometheus, OTLP, Tempo, Elastic, InfluxDB and many more formats and query transparently using Grafana or any other compatible client.