Telemetry changes¶
PyTango’s telemetry support was substantially reworked in 10.3.0 to match the telemetry implementation in cppTango 10.3.0. The full details and worked examples live in the telemetry how-to guide; this section only summarises what you may need to change.
Renamed environment variables¶
The telemetry environment variables now match cppTango 10.3.0. The old names are ignored for configuration, as they are in cppTango. PyTango 10.3.0 and 10.3.1 emit deprecation warnings, but the warnings were removed in PyTango 10.3.2.
Old name (ignored) |
New name |
|---|---|
|
|
|
|
|
|
|
|
Update your environment to the new names. See the telemetry how-to guide for a complete example.
Runtime configuration¶
Device telemetry can now be reconfigured at runtime instead of being treated as an import-time-only setup on the Python side. PyTango recreates or replaces its Python tracer providers when the cppTango runtime configuration changes. Note that for pure client scripts, the telemetry configuration is still based on the environment variables at import time. See the runtime configuration how-to.
Missing OpenTelemetry Python dependencies now warn only when telemetry is actually requested, rather than at import time.
Topics replace kernel tracing¶
cppTango telemetry has switched to “topics”. The
tango.server.Device.set_kernel_tracing_enabled() and
tango.server.Device.is_kernel_tracing_enabled() methods have been removed —
they should not have been available from within a device. To include the kernel
(BaseDevice) spans, clients now enable the telemetry topic "all" instead. See
telemetry topics.