Skip to main content

Telemetry

PyROS aimed telemetry client. This library gives definition of telemetry concepts:

  • stream (logger, stream definition): TelemetryLogger, TelemetryStreamDefinition...
  • client: TelemetryClient
  • storage: TelemetryStorage,

and implementaions.

Stream

Stream represents concept of well formed data (fixed len byte record) logged by source app, service or program; that contains data of interest. Stream can be defined using subclass of TelemetryStreamDefinition:

  • MQTTLocalPipeTelemetryLogger provides all-in-one client to start logging your data to local server over local unix pipe (it is expected server to be already running locally). It uses MQTT to negotiate creation of stream from given definition.

  • In telemetry-server package check SocketTelemetryServer class which allows you to get instance of TelemetryLogger to start logging to locally running TCP server.

Example:

logger = MQTTLocalPipeTelemetryLogger('test-stream', host="172.24.1.185", port=1883)
logger.add_byte('some-status')
logger.add_double('x-coordinate')
logger.add_double('y-coordinate')
logger.init()

# ...

logger.log(1, 55, 0.0, 0.0)  # first argument is timestamp
logger.log(1.23, 0, 2.1, 0.0)
logger.log(1.90, 0, 2.2, 1.0)

Client

Client provides way of accessing telemetry data. For instance:

client = MQTTTelemetryClient(host=host, port=port, topic=topic)

test_stream = None
test_stream_data = None

def receive_stream_def(received_stream):
    global test_stream
    test_stream = received_stream

def receive_test_stream_data(received_records):
    global test_stream_data
    test_stream_data = received_records


client.getStreamDefinition('test-stream', process_stream_def)

while test_stream is None:
    time.sleep(0.01)

# second argument is start timestamp, third end timestamp and last callback method to deliver data
client.retrieve(test_stream, 0, time.time(), receive_test_stream_data)

Client functions operate with callbacks. Methods would request data but result is delivered asynchronously.

Storage

Storage is mostly used internally by client and server implementations

Metadata

Release files for pyros-telemetry 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyros-telemetry 1.0.1
File Size Uploaded Provenance Actions
pyros-telemetry-1.0.1.tar.gz 17.1 kB Without provenance Details for pyros-telemetry-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pyros-telemetry 1.0.1
File Interpreter ABI Platform Actions
pyros_telemetry-1.0.1-py3-none-any.whl Python 3 none any Details for pyros_telemetry-1.0.1-py3-none-any.whl

Total release size: 40.2 kB

Release files / pyros-telemetry-1.0.1.tar.gz

Download URL pyros-telemetry-1.0.1.tar.gz
Size 17.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4ce2bc153fea2d580561109f0b9af52ace761772fb058a911bcf84614b4dd1cf
BLAKE2b-256 checksum
How to use checksums
1aff4e21b211fffe92109f9623ccf7cb4c558fe7d4db69d057a6c591bebc3710
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.1

Release files / pyros_telemetry-1.0.1-py3-none-any.whl

Download URL pyros_telemetry-1.0.1-py3-none-any.whl
Size 23.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
971c2c1ca788f31c6f07753c992e4d6f7de09b1853c2de2b1bf5ce7a72b10beb
BLAKE2b-256 checksum
How to use checksums
86ecaca40009a3af62c11ecc28589a07c610b1bfbd9422b06f1b80177033fcda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.1

Security for pyros-telemetry 1.0.1

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page