Skip to content

Commit aa0d27a

Browse files
apollo_dashboard: reorder infra row panels per request types
1 parent f8264c7 commit aa0d27a

File tree

1 file changed

+22
-10
lines changed

1 file changed

+22
-10
lines changed

crates/apollo_dashboard/src/dashboard.rs

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,14 @@ fn get_infra_server_panels(
629629
get_request_type_panels(&labeled_metrics, "server")
630630
}
631631

632-
pub(crate) fn get_component_infra_row(row_name: &'static str, metrics: &InfraMetrics) -> Row {
632+
pub(crate) fn get_component_infra_row(row_name: impl ToString, metrics: &InfraMetrics) -> Row {
633+
let mut panels: Vec<Panel> = Vec::new();
634+
// Add the general infra panels.
635+
panels.extend(UnlabeledPanels::from(metrics.get_local_client_metrics()).0);
636+
panels.extend(UnlabeledPanels::from(metrics.get_remote_client_metrics()).0);
637+
panels.extend(UnlabeledPanels::from(metrics.get_local_server_metrics()).0);
638+
panels.extend(UnlabeledPanels::from(metrics.get_remote_server_metrics()).0);
639+
633640
let labeled_client_panels = get_infra_client_panels(
634641
metrics.get_local_client_metrics(),
635642
metrics.get_remote_client_metrics(),
@@ -638,16 +645,21 @@ pub(crate) fn get_component_infra_row(row_name: &'static str, metrics: &InfraMet
638645
metrics.get_local_server_metrics(),
639646
metrics.get_remote_server_metrics(),
640647
);
648+
assert!(
649+
labeled_client_panels.len() == labeled_server_panels.len(),
650+
"Number of labeled client and server panels must be equal, as there's a single panel per \
651+
request type."
652+
);
653+
// Add the client and server panels for each request type, next to each other.
654+
for (request_type_client_panel, request_type_server_panel) in
655+
labeled_client_panels.into_iter().zip(labeled_server_panels.into_iter())
656+
{
657+
panels.push(request_type_client_panel);
658+
panels.push(request_type_server_panel);
659+
}
641660

642-
let mut panels: Vec<Panel> = Vec::new();
643-
panels.extend(UnlabeledPanels::from(metrics.get_local_client_metrics()).0);
644-
panels.extend(UnlabeledPanels::from(metrics.get_remote_client_metrics()).0);
645-
panels.extend(UnlabeledPanels::from(metrics.get_local_server_metrics()).0);
646-
panels.extend(UnlabeledPanels::from(metrics.get_remote_server_metrics()).0);
647-
panels.extend(labeled_client_panels);
648-
panels.extend(labeled_server_panels);
649-
650-
let modified_row_name = format!("{} {INFRA_ROW_TITLE_SUFFIX}", row_name);
661+
// Annotate the row name with infra row the suffix.
662+
let modified_row_name = format!("{} {INFRA_ROW_TITLE_SUFFIX}", row_name.to_string());
651663
Row::new(modified_row_name, panels)
652664
}
653665

0 commit comments

Comments
 (0)