mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 08:26:21 +02:00
59 lines
1.1 KiB
Python
Executable file
59 lines
1.1 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
"""
|
|
Dump out TrustGraph processor states.
|
|
"""
|
|
|
|
import requests
|
|
import argparse
|
|
import tabulate
|
|
|
|
default_prometheus_url = "http://localhost:9090"
|
|
|
|
def dump_status(prom):
|
|
|
|
url = f"{prom}/api/v1/query?query=processor_state%7Bprocessor_state%3D%22running%22%7D"
|
|
|
|
resp = requests.get(url)
|
|
|
|
obj = resp.json()
|
|
|
|
tbl = [
|
|
[
|
|
m["metric"]["job"],
|
|
"running" if int(m["value"][1]) > 0 else "down"
|
|
]
|
|
for m in obj["data"]["result"]
|
|
]
|
|
|
|
print(tabulate.tabulate(
|
|
tbl, tablefmt="pretty", headers=["processor", "state"],
|
|
stralign="left"
|
|
))
|
|
|
|
|
|
def main():
|
|
|
|
parser = argparse.ArgumentParser(
|
|
prog='tg-processor-state',
|
|
description=__doc__,
|
|
)
|
|
|
|
parser.add_argument(
|
|
'-p', '--prometheus-url',
|
|
default=default_prometheus_url,
|
|
help=f'Prometheus URL (default: {default_prometheus_url})',
|
|
)
|
|
|
|
args = parser.parse_args()
|
|
|
|
try:
|
|
|
|
dump_status(args.prometheus_url)
|
|
|
|
except Exception as e:
|
|
|
|
print("Exception:", e, flush=True)
|
|
|
|
main()
|
|
|