From f86699a94bdde7d973ba5d6fa3e7ca4ab2f234fb Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 8 May 2026 19:43:33 +0300 Subject: add duration metric, tolerate missing tracepoints, ship el8 build - Bubbles, treemap, icicle, and the live flamegraph 'b' cycle now include syscall duration (sum) as a third metric alongside events and bytes. Statsengine snapshots expose TotalLatencyNs to support this. - AttachAll takes an optional warn callback. Production passes one so older kernels that lack newer tracepoints log a warning and keep going instead of aborting startup. - Dockerfile.el8 + scripts/build-with-docker-el8.sh + mage buildDockerEl8 produce ior.el8, a static binary built against Rocky Linux 8 glibc for RHEL/Rocky/Alma 8 hosts. - README.md documents installing mage and the new el8 target. --- internal/tui/flamegraph/model_test.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'internal/tui/flamegraph/model_test.go') diff --git a/internal/tui/flamegraph/model_test.go b/internal/tui/flamegraph/model_test.go index c2626cd..e864e88 100644 --- a/internal/tui/flamegraph/model_test.go +++ b/internal/tui/flamegraph/model_test.go @@ -987,12 +987,20 @@ func TestControlMetricToggleReconfiguresLiveTrieCountField(t *testing.T) { } m = pressFlameKey(t, m, tea.KeyPressMsg{Code: []rune{'b'}[0], Text: "b"}) - if got, want := m.countField, "count"; got != want { + if got, want := m.countField, "duration"; got != want { t.Fatalf("expected model count field %q after second toggle, got %q", want, got) } - if got, want := liveTrie.CountField(), "count"; got != want { + if got, want := liveTrie.CountField(), "duration"; got != want { t.Fatalf("expected live trie count field %q after second toggle, got %q", want, got) } + + m = pressFlameKey(t, m, tea.KeyPressMsg{Code: []rune{'b'}[0], Text: "b"}) + if got, want := m.countField, "count"; got != want { + t.Fatalf("expected model count field %q after third toggle, got %q", want, got) + } + if got, want := liveTrie.CountField(), "count"; got != want { + t.Fatalf("expected live trie count field %q after third toggle, got %q", want, got) + } } func TestNewModelAlignsPresetIndexToLiveTrieFields(t *testing.T) { -- cgit v1.2.3