Surface Argo's spec.metrics.prometheus[] (gauge / counter / histogram, optional when) as an attr, e.g. #[workflow(metrics = [{ name = "...", value = "...", ... }])], per-workflow or per-template.
Design challenge: the metric value is an Argo expression over workflow/template state, not a Rust value, so the attr can't just take a literal/arg. Needs care on how to express the expression safely. User-flagged; "may be difficult."
Surface Argo's
spec.metrics.prometheus[](gauge / counter / histogram, optionalwhen) as an attr, e.g.#[workflow(metrics = [{ name = "...", value = "...", ... }])], per-workflow or per-template.Design challenge: the metric
valueis an Argo expression over workflow/template state, not a Rust value, so the attr can't just take a literal/arg. Needs care on how to express the expression safely. User-flagged; "may be difficult."