mcp status

This commit is contained in:
larssand
2026-07-02 20:52:04 +02:00
parent 75ebaaf307
commit 825bd0247a
3 changed files with 17 additions and 2 deletions

View File

@@ -215,6 +215,7 @@ def build_status(
"events_fetched": len(events),
"raw_events_fetched": len(events),
"aggregate_events": aggregate_events_total,
"poll_completed_at": int(time.time()),
"fetch_mode": "aggregate" if use_aggregate else "raw",
"range_seconds": range_seconds,
"max_events_per_stream": max_events_per_stream,
@@ -482,6 +483,7 @@ def write_status(status: dict[str, object], output: str) -> None:
def write_refreshing_status(output: str, *, cache_path: str | None = None) -> None:
output_path = Path(output)
now = int(time.time())
try:
current = json.loads(output_path.read_text(encoding="utf-8")) if output_path.exists() else {}
except (json.JSONDecodeError, OSError):
@@ -495,8 +497,9 @@ def write_refreshing_status(output: str, *, cache_path: str | None = None) -> No
current = cached
used_cache = True
previous_mcp = current.get("capabilities", {}).get("graylog_mcp", {}) if isinstance(current.get("capabilities"), dict) else {}
previous_completed_at = previous_mcp.get("poll_completed_at", current.get("generated_at", 0)) if isinstance(previous_mcp, dict) else current.get("generated_at", 0)
current.setdefault("status_schema", 2)
current["generated_at"] = int(time.time())
current["generated_at"] = now
current["stale"] = False
current["stale_reason"] = ""
capabilities = current.setdefault("capabilities", {})
@@ -518,6 +521,8 @@ def write_refreshing_status(output: str, *, cache_path: str | None = None) -> No
"events_fetched": previous_events,
"raw_events_fetched": previous_raw_events,
"aggregate_events": previous_aggregate_events,
"poll_started_at": now,
"previous_poll_completed_at": previous_completed_at,
"fetch_mode": previous_fetch_mode,
"coverage_status": previous_coverage_status or "refreshing",
}