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.4.0.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

lb_telemetry-0.4.0-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lb-telemetry-0.4.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.4.0.tar.gz
Algorithm Hash digest
SHA256 782ae2633309ab34e156e6484986275dfc503376ebd3b1cbd69b4946c21c08e8
MD5 52921a469d053d75e23a2fedb951d263
BLAKE2b-256 8a93989589bfb10cadad98c16b82c20ba803fee098c52764de661b87fe41382c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lb_telemetry-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 17.6 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c8948867d9791f82a4bb5ce8c1e283f0cc5b9c93b0fdf58b1588999ed75f1a94
MD5 6bde10d8ade4d665523f8f75233c6d37
BLAKE2b-256 94be9328b85cd6efee8c0cce2d19c1c39973184099b4fc64d4bd4643d4fb46d9

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