INNER CODE UNIT · Python
_normalize_metadata_map
pab1it0/prometheus-mcp-server · src/prometheus_mcp_server/server.py:531
def _normalize_metadata_map(raw_data: Any) -> Dict[str, List[Dict[str, Any]]]:
"""Normalize diverse metadata response shapes into {metric_name: [entries]}."""
if isinstance(raw_data, dict):
if "metadata" in raw_data:
return _normalize_metadata_map(raw_data["metadata"])
if "data" in raw_data:
return _normalize_metadata_map(raw_data["data"])
normalized: Dict[str, List[Dict[str, Any]]] = {}
for metric_name, entries in raw_data.items():
if not isinstance(metric_name, str):
continue
coerced_entries = _coerce_metadata_entries(entries)
if coerced_entries:
normalized[metric_name] = coerced_entries
if normalized:
return normalized