From cf65e3f93e0565dda8f124b21b2c44b3a3ecaff5 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 24 Feb 2026 21:52:33 +0200 Subject: stability: remove unlink attach sleep and tighten svg/tui helpers --- internal/flamegraph/nativesvg.go | 11 ++++++----- internal/tui/common/keys.go | 12 ++++++++---- 2 files changed, 14 insertions(+), 9 deletions(-) (limited to 'internal') diff --git a/internal/flamegraph/nativesvg.go b/internal/flamegraph/nativesvg.go index 26fc1e8..831ffed 100644 --- a/internal/flamegraph/nativesvg.go +++ b/internal/flamegraph/nativesvg.go @@ -3,10 +3,9 @@ package flamegraph import ( "fmt" "io" + "iter" "os" "strings" - - "iter" ) type NativeSVG struct { @@ -54,19 +53,21 @@ func (n NativeSVG) WriteSVGFromFile(iorDataFile string) (outFile string, err err func (n NativeSVG) WriteSVGFromIter(records iter.Seq[IterRecord], w io.Writer) error { tr := newTrie() + var framesBuf []string for record := range records { - frames, err := n.recordFrames(record) + frames, err := n.recordFrames(record, framesBuf) if err != nil { return err } + framesBuf = frames tr.add(frames, record.Cnt.ValueByName(n.countField)) } tr.computeTotals() return WriteSVG(w, tr, n.config) } -func (n NativeSVG) recordFrames(record IterRecord) ([]string, error) { - var frames []string +func (n NativeSVG) recordFrames(record IterRecord, framesBuf []string) ([]string, error) { + frames := framesBuf[:0] for _, fieldName := range n.fields { value, err := record.StringByName(fieldName) if err != nil { diff --git a/internal/tui/common/keys.go b/internal/tui/common/keys.go index 1111def..805a74a 100644 --- a/internal/tui/common/keys.go +++ b/internal/tui/common/keys.go @@ -65,10 +65,10 @@ func (k KeyMap) DashboardFullHelp() [][]key.Binding { {k.One, k.Two, k.Three, k.Four, k.Five, k.Six}, controls, { - key.NewBinding(key.WithKeys("left/right"), key.WithHelp("left/right", "tab")), - key.NewBinding(key.WithKeys("h/l"), key.WithHelp("h/l", "tab")), - key.NewBinding(key.WithKeys("j/k"), key.WithHelp("j/k", "scroll")), - key.NewBinding(key.WithKeys("up/down"), key.WithHelp("up/down", "scroll")), + helpTextBinding("left/right", "tab"), + helpTextBinding("h/l", "tab"), + helpTextBinding("j/k", "scroll"), + helpTextBinding("up/down", "scroll"), }, } } @@ -77,3 +77,7 @@ func (k KeyMap) DashboardFullHelp() [][]key.Binding { func (k KeyMap) PickerShortHelp() []key.Binding { return []key.Binding{k.Enter, k.Refresh, k.Esc} } + +func helpTextBinding(keyText, desc string) key.Binding { + return key.NewBinding(key.WithHelp(keyText, desc)) +} -- cgit v1.2.3