summaryrefslogtreecommitdiff
path: root/internal/tui/dashboard
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-13 07:23:24 +0200
committerPaul Buetow <paul@buetow.org>2026-03-13 07:23:24 +0200
commita83156ac084fdaf97e6cefc76ea3ddfd3f6a993a (patch)
tree6f586234e616d57ed0a938c98fa3b0aef9e20f6b /internal/tui/dashboard
parentc9d22e32dc9d8d0447beb4ffa78f47a03d0cddc4 (diff)
feat: add tui parquet recording controls
Diffstat (limited to 'internal/tui/dashboard')
-rw-r--r--internal/tui/dashboard/model.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/internal/tui/dashboard/model.go b/internal/tui/dashboard/model.go
index 72290e6..850a483 100644
--- a/internal/tui/dashboard/model.go
+++ b/internal/tui/dashboard/model.go
@@ -68,6 +68,7 @@ type Model struct {
keys common.KeyMap
globalFilter globalfilter.Filter
filterStack []string
+ recordingStatus string
pidFilter int
syscallsOffset int
syscallsCol int
@@ -936,6 +937,11 @@ func (m *Model) SetFilterStack(stack []string) {
m.streamModel.SetFilterStack(stack)
}
+// SetRecordingStatus updates the visible recording state summary rendered in the dashboard chrome.
+func (m *Model) SetRecordingStatus(status string) {
+ m.recordingStatus = status
+}
+
// SetLiveTrie updates the live trie source used by the flamegraph tab.
func (m *Model) SetLiveTrie(liveTrie flamegraphtui.LiveTrieSource) {
m.liveTrie = liveTrie
@@ -1012,9 +1018,16 @@ func (m Model) View() tea.View {
func (m Model) filterSummary() string {
summary := "filter: " + m.globalFilter.Summary()
if len(m.filterStack) == 0 {
+ if m.recordingStatus == "" {
+ return summary
+ }
+ return summary + " | " + m.recordingStatus
+ }
+ summary += " | stack: " + strings.Join(m.filterStack, " | ")
+ if m.recordingStatus == "" {
return summary
}
- return summary + " | stack: " + strings.Join(m.filterStack, " | ")
+ return summary + " | " + m.recordingStatus
}
func (m Model) renderActiveContent(width, activeHeight int, streamModel *eventstream.Model, flameModel *flamegraphtui.Model) string {