(
client: &mut AuthedClient,
query: &PrometheusSqlQuery<'_>,
metrics_registry: &MetricsRegistry,
metrics_by_name: &mut BTreeMap<String, GenericGaugeVec<AtomicF64>>,
)
| 222 | } |
| 223 | |
| 224 | async fn handle_promsql_query( |
| 225 | client: &mut AuthedClient, |
| 226 | query: &PrometheusSqlQuery<'_>, |
| 227 | metrics_registry: &MetricsRegistry, |
| 228 | metrics_by_name: &mut BTreeMap<String, GenericGaugeVec<AtomicF64>>, |
| 229 | ) { |
| 230 | if !query.per_replica { |
| 231 | execute_promsql_query(client, query, metrics_registry, metrics_by_name, None).await; |
| 232 | return; |
| 233 | } |
| 234 | |
| 235 | let catalog = client.client.catalog_snapshot("handle_promsql_query").await; |
| 236 | let clusters: Vec<&Cluster> = catalog.clusters().collect(); |
| 237 | |
| 238 | for cluster in clusters { |
| 239 | for replica in cluster.replicas() { |
| 240 | execute_promsql_query( |
| 241 | client, |
| 242 | query, |
| 243 | metrics_registry, |
| 244 | metrics_by_name, |
| 245 | Some((cluster, replica)), |
| 246 | ) |
| 247 | .await; |
| 248 | } |
| 249 | } |
| 250 | } |
| 251 | |
| 252 | pub async fn handle_promsql( |
| 253 | mut client: AuthedClient, |
no test coverage detected