From 09cbb954f972272413cb0a9e6c167923ea6d515d Mon Sep 17 00:00:00 2001 From: Cyber MacGeddon Date: Sat, 3 May 2025 10:38:31 +0100 Subject: [PATCH] tg-show-flow-state shows classes too --- trustgraph-cli/scripts/tg-show-flow-state | 35 +++++++++++++++++++---- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/trustgraph-cli/scripts/tg-show-flow-state b/trustgraph-cli/scripts/tg-show-flow-state index c31a8e97..c9a8035a 100755 --- a/trustgraph-cli/scripts/tg-show-flow-state +++ b/trustgraph-cli/scripts/tg-show-flow-state @@ -6,15 +6,34 @@ Dump out TrustGraph processor states. import requests import argparse -import json +from trustgraph.api import Api +import os default_metrics_url = "http://localhost:8088/api/metrics" +default_url = os.getenv("TRUSTGRAPH_URL", 'http://localhost:8088/') -def dump_status(url, flow_id): +def dump_status(metrics_url, api_url, flow_id): - url = f"{url}/query" + api = Api(api_url) - expr = f"consumer_state=\"running\",flow=\"{flow_id}\"" + flow = api.flow_get(flow_id) + class_name = flow["class-name"] + + print() + print(f"Flow {flow_id}") + show_processors(metrics_url, flow_id) + + print() + print(f"Class {class_name}") + show_processors(metrics_url, class_name) + + print() + +def show_processors(metrics_url, flow_label): + + url = f"{metrics_url}/query" + + expr = f"consumer_state=\"running\",flow=\"{flow_label}\"" params = { "query": "consumer_state{" + expr + "}" @@ -48,6 +67,12 @@ def main(): help=f'Flow ID (default: 0000)' ) + parser.add_argument( + '-u', '--api-url', + default=default_url, + help=f'API URL (default: {default_url})', + ) + parser.add_argument( '-m', '--metrics-url', default=default_metrics_url, @@ -58,7 +83,7 @@ def main(): try: - dump_status(args.metrics_url, args.flow_id) + dump_status(args.metrics_url, args.api_url, args.flow_id) except Exception as e: