(self)
| 2567 | self.canvas.draw_idle() |
| 2568 | |
| 2569 | def _plot_current(self) -> None: |
| 2570 | try: |
| 2571 | start_ms = int(self.start_var.get()) |
| 2572 | end_ms = int(self.end_var.get()) |
| 2573 | except ValueError: |
| 2574 | self.messagebox.showerror("Invalid window", "Start and end must be integers") |
| 2575 | return |
| 2576 | |
| 2577 | selected_metrics = self._selected_metrics() |
| 2578 | if not selected_metrics: |
| 2579 | self.messagebox.showerror("Invalid metrics", "Select at least one metric") |
| 2580 | return |
| 2581 | |
| 2582 | self._submit_job( |
| 2583 | "plot", |
| 2584 | lambda: { |
| 2585 | "overview": self._build_overview_response(selected_metrics), |
| 2586 | "detail": self.engine.query_bundle( |
| 2587 | thread_ids=self._selected_threads(), |
| 2588 | function_ids=self._selected_functions(), |
| 2589 | start_ms=start_ms, |
| 2590 | end_ms=end_ms, |
| 2591 | metrics=selected_metrics, |
| 2592 | scope=self.scope_var.get(), |
| 2593 | resolution=600, |
| 2594 | ), |
| 2595 | }, |
| 2596 | self._render_plot_bundle, |
| 2597 | ) |
| 2598 | |
| 2599 | def _render_plot_bundle(self, payload: dict[str, Any]) -> None: |
| 2600 | self._render_overview(payload["overview"]) |
no test coverage detected