fix: sort unstable HTTP result in label values query (#3920)

* fix: sort unstable HTTP result in label values query

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

* chore: Update src/servers/src/http/prometheus.rs

---------

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
Co-authored-by: Yingwen <realevenyag@gmail.com>
This commit is contained in:
Ruihang Xia
2024-05-11 19:33:01 +08:00
committed by GitHub
parent 27e376e892
commit 590aedd466

View File

@@ -704,10 +704,9 @@ pub async fn label_values_query(
);
}
};
return PrometheusJsonResponse::success(PrometheusResponse::LabelValues(
field_columns.into_iter().collect(),
));
let mut field_columns = field_columns.into_iter().collect::<Vec<_>>();
field_columns.sort_unstable();
return PrometheusJsonResponse::success(PrometheusResponse::LabelValues(field_columns));
}
let queries = params.matches.0;
@@ -754,14 +753,7 @@ pub async fn label_values_query(
.collect();
let mut label_values: Vec<_> = label_values.into_iter().collect();
// sort result for consistent output in tests
#[cfg(test)]
{
label_values.sort_unstable();
}
label_values.sort();
label_values.sort_unstable();
let mut resp = PrometheusJsonResponse::success(PrometheusResponse::LabelValues(label_values));
resp.resp_metrics = merge_map;
resp