From ff92d6886f2a881aa2778e148de38cc6fae08330 Mon Sep 17 00:00:00 2001 From: Cyber MacGeddon Date: Sat, 3 May 2025 10:29:22 +0100 Subject: [PATCH] New flow command --- ...{tg-processor-state => tg-show-flow-state} | 27 ++++++++++++++----- trustgraph-cli/setup.py | 5 ++-- 2 files changed, 23 insertions(+), 9 deletions(-) rename trustgraph-cli/scripts/{tg-processor-state => tg-show-flow-state} (55%) diff --git a/trustgraph-cli/scripts/tg-processor-state b/trustgraph-cli/scripts/tg-show-flow-state similarity index 55% rename from trustgraph-cli/scripts/tg-processor-state rename to trustgraph-cli/scripts/tg-show-flow-state index 7f142174..c31a8e97 100755 --- a/trustgraph-cli/scripts/tg-processor-state +++ b/trustgraph-cli/scripts/tg-show-flow-state @@ -6,35 +6,48 @@ Dump out TrustGraph processor states. import requests import argparse +import json default_metrics_url = "http://localhost:8088/api/metrics" -def dump_status(url): +def dump_status(url, flow_id): - url = f"{url}/query?query=processor_info" + url = f"{url}/query" - resp = requests.get(url) + expr = f"consumer_state=\"running\",flow=\"{flow_id}\"" + + params = { + "query": "consumer_state{" + expr + "}" + } + + resp = requests.get(url, params=params) obj = resp.json() tbl = [ [ m["metric"]["job"], - "\U0001f49a" + "\U0001f49a" if int(m["value"][1]) > 0 else "\U0000274c" ] for m in obj["data"]["result"] ] for row in tbl: - print(f" {row[0]:30} {row[1]}") + print(f"- {row[0]:30} {row[1]}") def main(): parser = argparse.ArgumentParser( - prog='tg-processor-state', + prog='tg-show-flow-state', description=__doc__, ) + parser.add_argument( + '-f', '--flow-id', + default="0000", + help=f'Flow ID (default: 0000)' + ) + parser.add_argument( '-m', '--metrics-url', default=default_metrics_url, @@ -45,7 +58,7 @@ def main(): try: - dump_status(args.metrics_url) + dump_status(args.metrics_url, args.flow_id) except Exception as e: diff --git a/trustgraph-cli/setup.py b/trustgraph-cli/setup.py index 47258648..5e50d06c 100644 --- a/trustgraph-cli/setup.py +++ b/trustgraph-cli/setup.py @@ -44,8 +44,8 @@ setuptools.setup( "websockets", ], scripts=[ - "scripts/tg-dump-msgpack", "scripts/tg-delete-flow-class", + "scripts/tg-dump-msgpack", "scripts/tg-get-flow-class", "scripts/tg-graph-show", "scripts/tg-graph-to-turtle", @@ -61,7 +61,6 @@ setuptools.setup( "scripts/tg-load-pdf", "scripts/tg-load-text", "scripts/tg-load-turtle", - "scripts/tg-processor-state", "scripts/tg-put-flow-class", "scripts/tg-save-doc-embeds", "scripts/tg-save-kg-core", @@ -69,7 +68,9 @@ setuptools.setup( "scripts/tg-set-token-costs", "scripts/tg-show-config", "scripts/tg-show-flow-classes", + "scripts/tg-show-flow-state", "scripts/tg-show-flows", + "scripts/tg-show-processor-state", "scripts/tg-show-prompts", "scripts/tg-show-token-costs", "scripts/tg-show-tools",