MCPcopy Create free account
hub / github.com/adny-code/fastgrind / query_multi_series

Method query_multi_series

tools/fastgrind.py:1120–1175  ·  view source on GitHub ↗
(
        self,
        thread_ids: Sequence[int] | None = None,
        function_ids: Sequence[int] | None = None,
        start_ms: int | None = None,
        end_ms: int | None = None,
        metrics: Sequence[str] | None = None,
        scope: str = "inclusive",
        split: str = "auto",
        resolution: int | None = None,
    )

Source from the content-addressed store, hash-verified

1118 }
1119
1120 def query_multi_series(
1121 self,
1122 thread_ids: Sequence[int] | None = None,
1123 function_ids: Sequence[int] | None = None,
1124 start_ms: int | None = None,
1125 end_ms: int | None = None,
1126 metrics: Sequence[str] | None = None,
1127 scope: str = "inclusive",
1128 split: str = "auto",
1129 resolution: int | None = None,
1130 ) -> SeriesResponse:
1131 selected_metrics = self._normalize_metrics(metrics)
1132 if len(selected_metrics) == 1:
1133 return self.query_series(
1134 thread_ids=thread_ids,
1135 function_ids=function_ids,
1136 start_ms=start_ms,
1137 end_ms=end_ms,
1138 metric=selected_metrics[0],
1139 scope=scope,
1140 split=split,
1141 resolution=resolution,
1142 )
1143
1144 responses = [
1145 self.query_series(
1146 thread_ids=thread_ids,
1147 function_ids=function_ids,
1148 start_ms=start_ms,
1149 end_ms=end_ms,
1150 metric=metric_name,
1151 scope=scope,
1152 split=split,
1153 resolution=resolution,
1154 )
1155 for metric_name in selected_metrics
1156 ]
1157
1158 merged_series: dict[str, list[float]] = {}
1159 for metric_name, response in zip(selected_metrics, responses):
1160 display_metric_name = _metric_display_name(metric_name)
1161 for label, values in response.series.items():
1162 merged_label = (
1163 display_metric_name
1164 if label == "Total" and len(response.series) == 1
1165 else f"{display_metric_name}::{label}"
1166 )
1167 merged_series[merged_label] = values
1168
1169 return SeriesResponse(
1170 ticks=responses[0].ticks,
1171 series=merged_series,
1172 metric="memory",
1173 scope=responses[0].scope,
1174 split=responses[0].split,
1175 )
1176
1177 def describe_detail_context(

Callers 4

export_html_snapshotMethod · 0.95
query_bundleMethod · 0.95
_dispatchMethod · 0.80

Calls 4

_normalize_metricsMethod · 0.95
query_seriesMethod · 0.95
_metric_display_nameFunction · 0.85
SeriesResponseClass · 0.85

Tested by

no test coverage detected