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

Method query_bundle

tools/fastgrind.py:1067–1118  ·  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,
        metric: str = "malloc",
        metrics: Sequence[str] | None = None,
        scope: str = "inclusive",
        resolution: int | None = None,
    )

Source from the content-addressed store, hash-verified

1065 return output_path
1066
1067 def query_bundle(
1068 self,
1069 thread_ids: Sequence[int] | None = None,
1070 function_ids: Sequence[int] | None = None,
1071 start_ms: int | None = None,
1072 end_ms: int | None = None,
1073 metric: str = "malloc",
1074 metrics: Sequence[str] | None = None,
1075 scope: str = "inclusive",
1076 resolution: int | None = None,
1077 ) -> dict[str, Any]:
1078 selected_threads = self._normalize_thread_ids(thread_ids)
1079 start_tick, end_tick = self._normalize_window(start_ms, end_ms)
1080 selected_metrics = self._normalize_metrics(metrics, default=metric)
1081 series = self.query_multi_series(
1082 thread_ids=selected_threads,
1083 function_ids=function_ids,
1084 start_ms=start_tick,
1085 end_ms=end_tick,
1086 metrics=selected_metrics,
1087 scope=scope,
1088 split="auto",
1089 resolution=resolution,
1090 )
1091 primary_metric = self._primary_metric(selected_metrics)
1092 detail_metric = self.detail_metric(selected_metrics, default=metric)
1093 top = self.top_functions(
1094 start_ms=start_tick,
1095 end_ms=end_tick,
1096 thread_ids=selected_threads,
1097 limit=15,
1098 metric=detail_metric,
1099 scope="exclusive",
1100 )
1101 focus_thread = selected_threads[0] if selected_threads else (self._all_thread_ids[0] if self._all_thread_ids else None)
1102 stack_tree = self.stack_tree(focus_thread, start_tick, end_tick, metric=detail_metric) if focus_thread else None
1103 return {
1104 "series": series,
1105 "top": top,
1106 "focus_thread": focus_thread,
1107 "stack_tree": stack_tree,
1108 "context": self.describe_detail_context(
1109 start_ms=start_tick,
1110 end_ms=end_tick,
1111 thread_ids=selected_threads,
1112 focus_thread=focus_thread,
1113 ),
1114 "selected_metrics": [_metric_display_name(metric_name) for metric_name in selected_metrics],
1115 "primary_metric": primary_metric,
1116 "detail_metric": detail_metric,
1117 "detail_metric_display": _metric_display_name(detail_metric),
1118 }
1119
1120 def query_multi_series(
1121 self,

Callers 1

_plot_currentMethod · 0.80

Calls 10

_normalize_thread_idsMethod · 0.95
_normalize_windowMethod · 0.95
_normalize_metricsMethod · 0.95
query_multi_seriesMethod · 0.95
_primary_metricMethod · 0.95
detail_metricMethod · 0.95
top_functionsMethod · 0.95
stack_treeMethod · 0.95
_metric_display_nameFunction · 0.85

Tested by

no test coverage detected