Skip to main content

A utility for logging telemetry data from LHCb packages to MONIT

Project description

lb-telemetry

A utility for logging telemetry data about LHCb packages to MONIT. Usage data graphs specific to each package can be viewed on the MONIT Grafana.

The package is not user-callable. It is intended to be imported and called by other LHCb packages such as PIDCalib2.

Setup

Installing from PyPI

The package is available on PyPI. It can be installed on any computer via pip by running (preferably in a virtual environment):

pip install lb-telemetry

Usage

Adding to a package

from lb_telemetry import Logger

# Time execution (optional)
start_time = time.perf_counter()
do_some_task()
exec_time = time.perf_counter() - start_time

telemetry = {
    "exec_time": exec_time,
    "version": VERSION,
    "some_field": "field_value",
    "some_tag": "tag_value",
}

Logger().log_to_monit(
    "NameOfThisPackage",  # Or other readable identifier
    telemetry,
    tags=["version", "some_tag"],  # `exec_time` and `some_field` interpreted as fields
)

Running the CLI

The default value for --table is 'CLI'.

lb-telemetry send '{"test_field": "test_value"}' --include-host-info

Tags can be specified by:

lb-telemetry send '{"field1": 0, "tag1": 5, "tag2": 2}' --table some_table --tags tag1 tag2

Viewing the telemetry

Logged telemetry is usually visible in under a minute and can be accessed via this Grafana dashboard. Request permission to edit the dashboard from an LHCb Grafana org admin if necessary. Then create a new row on the dashboard for your package and add the desired graphs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lb-telemetry-0.5.0.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

lb_telemetry-0.5.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file lb-telemetry-0.5.0.tar.gz.

File metadata

  • Download URL: lb-telemetry-0.5.0.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.15

File hashes

Hashes for lb-telemetry-0.5.0.tar.gz
Algorithm Hash digest
SHA256 e73bc117d72f77fd2b8ad9b4483dddb9f07e90f95c4ca21c70b7123282aa59f6
MD5 89b306f3c430fabd47283ee7f8ac7b07
BLAKE2b-256 7a1a6871b914472b125e488b806a3d8913c4902a9828449813a097c89c00b137

See more details on using hashes here.

File details

Details for the file lb_telemetry-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: lb_telemetry-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.15

File hashes

Hashes for lb_telemetry-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45c2ef5a5bdb98446f0a57b71742ef76b0a3add44e58ab059761ccc5d6fd1bbf
MD5 c625baa648a795b8b67b871e123427e5
BLAKE2b-256 ba24c65fe1aef4e0681cb17ca136eb0f3e20a47d3941a306bc9d636938029ca5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page