OpenTelemetry instrumentation for Pixeltable
Translates Pixeltable's instrumentation hooks into OpenTelemetry spans and metrics. Instrumentation is opt-in: Pixeltable itself never imports OpenTelemetry or activates telemetry on its own.
pip install opentelemetry-instrumentation-pixeltable
# or, to also pull in the OpenTelemetry SDK and OTLP exporters that init() needs:
pip install 'pixeltable[otel]'
Attach to an existing OpenTelemetry SDK
When your application already owns an OpenTelemetry SDK, attach Pixeltable to it:
from opentelemetry.instrumentation.pixeltable import PixeltableInstrumentor
PixeltableInstrumentor().instrument() # uses the global providers
# or: PixeltableInstrumentor().instrument(tracer_provider=my_tp, meter_provider=my_mp)
The standard opentelemetry-instrument CLI discovers and activates it automatically via its entry point.
Let Pixeltable configure the SDK
To build providers and an OTLP exporter from Pixeltable's [otel] config (or the standard
OTEL_EXPORTER_OTLP_* environment variables), call init() once at startup (requires the
pixeltable[otel] extra):
import opentelemetry.instrumentation.pixeltable as pxt_otel
pxt_otel.init(endpoint='http://localhost:4318')
Configuration is read from the database's [[pixeltable.database]] entry (db_exporter_otlp_endpoint,
db_exporter_otlp_protocol), then the standard OTEL_EXPORTER_OTLP_* environment variables, then the [otel]
section of Pixeltable's config (~/.pixeltable/config.toml).
Per-provider LLM spans
This package emits Pixeltable's own operation, execution, and UDF spans. It does not capture per-provider token usage or cost. To add rich provider spans (OpenAI, Anthropic, etc.), install a dedicated GenAI instrumentor alongside this one:
from opentelemetry.instrumentation.openai_v2 import OpenAIInstrumentor
from opentelemetry.instrumentation.pixeltable import PixeltableInstrumentor
PixeltableInstrumentor().instrument()
OpenAIInstrumentor().instrument()
Because Pixeltable establishes the ambient OpenTelemetry context for every UDF call (including across its
thread pools and async scheduler), the provider instrumentor's spans nest correctly under Pixeltable's
udf.<name> span. Prefer the bare opentelemetry-instrumentation-* packages (or OpenInference), which
attach to the global provider; avoid all-in-one initializers that install their own TracerProvider and
would clobber the one configured here.
Metadata
Release files for opentelemetry-instrumentation-pixeltable 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| opentelemetry_instrumentation_pixeltable-0.1.0.tar.gz | 18.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opentelemetry_instrumentation_pixeltable-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.7 kB
Release files / opentelemetry_instrumentation_pixeltable-0.1.0.tar.gz
| Download URL | opentelemetry_instrumentation_pixeltable-0.1.0.tar.gz |
|---|---|
| Size | 18.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d00d899506c87576c7918a4481754c1feb48599931c48bc6834c1919f684c71a
|
|
BLAKE2b-256 checksum How to use checksums |
a51ebe407323340f5f747684bc7e727e07e8a1a967605148dbce13a7feb19fa9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / opentelemetry_instrumentation_pixeltable-0.1.0-py3-none-any.whl
| Download URL | opentelemetry_instrumentation_pixeltable-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6fb41d932984ed2cc875b279ae4d2885853814d3ada063bbe038e3a45fec6509
|
|
BLAKE2b-256 checksum How to use checksums |
9eff20451a4c70a11d4d3336892155a4962d6acae0646f7730fb2395e7401b33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for opentelemetry-instrumentation-pixeltable 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.