fn collect_metric_names(expr: &Expr, metric_names: &mut HashSet<String>)
Recursively collect all metric names from a PromQL expression