Prometheus Textfile Tooling
Project description
promtext-cli
promtext-cli is a tool for creating prometheus text files from a simple cli command.
It is intended for use with cronjob scripts (e.g. backups).
Features:
- supports merging new metrics into existing files
- metrics will be updated (same labelset or no labels given), or appended to existing metrics as new timeseries
- currently only supports gauge metrics
Usage
promtext -h
usage: main.py [-h] [--docs DOCS] [--label KEY=VALUE] [-v] filename metric value
Prometheus textfile helper
positional arguments:
filename Path to existing or new prometheus textfile, will be updated
metric metric name (new or updated)
value metric value
options:
-h, --help show this help message and exit
--docs DOCS metric documentation
--label KEY=VALUE label key=value pairs
-v, --verbose
Examples
tmp/backup.prom before:
# HELP backup_last_start
# TYPE backup_last_start gauge
backup_last_start{backup="example_1"} 1.721923501e+09
# HELP backup_last_end
# TYPE backup_last_end gauge
backup_last_end{backup="example_1"} 1.721989156e+09
# HELP backup_last_exit
# TYPE backup_last_exit gauge
backup_last_exit{backup="example_1"} 2.0
Updating existing timeseries: promtext tmp/backup.prom backup_last_start 0 --label backup=example_1:
# HELP backup_last_start
# TYPE backup_last_start gauge
backup_last_start{backup="example_1"} 0.0
# HELP backup_last_end
# TYPE backup_last_end gauge
backup_last_end{backup="example_1"} 1.721989156e+09
# HELP backup_last_exit
# TYPE backup_last_exit gauge
backup_last_exit{backup="example_1"} 2.0
Adding a new label: promtext tmp/backup.prom backup_last_start 0 --label backup=example_2
# HELP backup_last_start
# TYPE backup_last_start gauge
backup_last_start{backup="example_1"} 0.0
backup_last_start{backup="example_2"} 0.0
# HELP backup_last_end
# TYPE backup_last_end gauge
backup_last_end{backup="example_1"} 1.721989156e+09
# HELP backup_last_exit
# TYPE backup_last_exit gauge
backup_last_exit{backup="example_1"} 2.0
Adding a new metric: promtext tmp/backup.prom some_other_state 0 --label new_label=foo_bar
# HELP backup_last_start
# TYPE backup_last_start gauge
backup_last_start{backup="example_1"} 0.0
backup_last_start{backup="example_2"} 0.0
# HELP backup_last_end
# TYPE backup_last_end gauge
backup_last_end{backup="example_1"} 1.721989156e+09
# HELP backup_last_exit
# TYPE backup_last_exit gauge
backup_last_exit{backup="example_1"} 2.0
# HELP some_other_state metric appended by promtext-cli
# TYPE some_other_state gauge
some_other_state{new_label="foo_bar"} 0.0
However, changing the label keys does not work:
promtext tmp/backup.prom some_other_state 0 --label foo_bar=foo_bar
ERROR:promtext_cli.main:labelnames for metric some_other_state not compatible, cannot update! Old: ['new_label'], New: ['foo_bar']
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file promtext_cli-0.1.2.dev94.tar.gz.
File metadata
- Download URL: promtext_cli-0.1.2.dev94.tar.gz
- Upload date:
- Size: 31.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alpine Linux","version":"3.23.4","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15b4fc1b6c8e85af4a8650a99357bc8b34cb8121896e82e39d94c05d037ed8e5
|
|
| MD5 |
cbfdc5e29ceec2cdf2148ef21643dc87
|
|
| BLAKE2b-256 |
001797a778696ffb1d4bdd660646b38cc7f0d12d64a9a0e7bcd29117f85726c0
|
File details
Details for the file promtext_cli-0.1.2.dev94-py3-none-any.whl.
File metadata
- Download URL: promtext_cli-0.1.2.dev94-py3-none-any.whl
- Upload date:
- Size: 4.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alpine Linux","version":"3.23.4","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3220dd4b0ac04f37db54105c6970b0de24082de6165d3524e104a7da0f1fcec7
|
|
| MD5 |
6dfd0629b10e7ce5b158c2e34e1ddb65
|
|
| BLAKE2b-256 |
792b23808681e8cc67e52c080185891cb27b239ab5c05e2c7024374181e65ef8
|