diff --git a/proxy/src/control/destination/background.rs b/proxy/src/control/destination/background.rs index 635ac18fb..3e4689ad8 100644 --- a/proxy/src/control/destination/background.rs +++ b/proxy/src/control/destination/background.rs @@ -550,9 +550,14 @@ fn pb_to_addr_meta( set_labels: &HashMap, ) -> Option<(SocketAddr, Metadata)> { let addr = pb.addr.and_then(pb_to_sock_addr)?; - let label_iter = set_labels.iter().chain(pb.metric_labels.iter()); + + let mut labels = set_labels.iter() + .chain(pb.metric_labels.iter()) + .collect::>(); + labels.sort_by(|(k0, _), (k1, _)| k0.cmp(k1)); + let meta = Metadata { - metric_labels: DstLabels::new(label_iter), + metric_labels: DstLabels::new(labels.into_iter()), }; Some((addr, meta)) }