summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-06 17:32:24 +0200
committerPaul Buetow <paul@buetow.org>2026-03-06 17:32:24 +0200
commit1561987330cb898f5ff64383a9c78e7e6559f118 (patch)
tree69a823e8f98dce572566c97e6879c11c9d591bda
parent96225fb6159212a8851043a08d781aba721b4e78 (diff)
parent110a193e04b81abb8d8e159abd73f9f6ed1acd7e (diff)
Merge branch 'feat/bubbletea-v2-migration'
-rw-r--r--AGENTS.md2
-rw-r--r--Magefile.go75
-rw-r--r--README.md57
-rw-r--r--docs/tui-flamegraph-plan.md450
-rwxr-xr-xflamegraph.testbin0 -> 12360000 bytes
-rw-r--r--go.mod31
-rw-r--r--go.sum68
-rw-r--r--integrationtests/cmd/ioworkload/scenario_rename.go4
-rw-r--r--integrationtests/expectations.go3
-rw-r--r--integrationtests/expectations_test.go3
-rw-r--r--integrationtests/parse.go1
-rw-r--r--integrationtests/parse_test.go62
-rw-r--r--internal/bench_components_test.go25
-rw-r--r--internal/bench_pipeline_test.go2
-rw-r--r--internal/benchutil/doc.go2
-rw-r--r--internal/bpfsetup.go4
-rw-r--r--internal/collapse/fields.go39
-rw-r--r--internal/doc.go2
-rw-r--r--internal/event/doc.go2
-rw-r--r--internal/event/event.go6
-rw-r--r--internal/event/pair.go7
-rw-r--r--internal/event/pair_test.go3
-rw-r--r--internal/eventfilter.go26
-rw-r--r--internal/eventloop.go418
-rw-r--r--internal/eventloop_commresolver_test.go202
-rw-r--r--internal/eventloop_constructor_test.go41
-rw-r--r--internal/eventloop_error_handling_test.go6
-rw-r--r--internal/eventloop_filter_test.go28
-rw-r--r--internal/eventloop_seed_test.go4
-rw-r--r--internal/eventloop_test.go66
-rw-r--r--internal/export/snapshot_csv.go108
-rw-r--r--internal/file/doc.go2
-rw-r--r--internal/file/file.go33
-rw-r--r--internal/file/file_test.go141
-rw-r--r--internal/file/flags.go11
-rw-r--r--internal/file/flags_test.go40
-rw-r--r--internal/flags/doc.go2
-rw-r--r--internal/flags/flags.go210
-rw-r--r--internal/flags/flags_test.go84
-rw-r--r--internal/flamegraph/counter.go13
-rw-r--r--internal/flamegraph/doc.go2
-rw-r--r--internal/flamegraph/iordata.go90
-rw-r--r--internal/flamegraph/iordata_test.go57
-rw-r--r--internal/flamegraph/iordatacollector.go64
-rw-r--r--internal/flamegraph/layout.go78
-rw-r--r--internal/flamegraph/layout_test.go77
-rw-r--r--internal/flamegraph/livehtml.go841
-rw-r--r--internal/flamegraph/livehtml_browser_test.go314
-rw-r--r--internal/flamegraph/livehtml_interaction_test.go615
-rw-r--r--internal/flamegraph/liveserver.go314
-rw-r--r--internal/flamegraph/liveserver_open_test.go179
-rw-r--r--internal/flamegraph/liveserver_test.go380
-rw-r--r--internal/flamegraph/livetrie.go155
-rw-r--r--internal/flamegraph/livetrie_test.go187
-rw-r--r--internal/flamegraph/nativejson.go86
-rw-r--r--internal/flamegraph/nativejson_test.go75
-rw-r--r--internal/flamegraph/nativesvg.go97
-rw-r--r--internal/flamegraph/nativesvg_test.go60
-rw-r--r--internal/flamegraph/svgwriter.go151
-rw-r--r--internal/flamegraph/svgwriter_js.go212
-rw-r--r--internal/flamegraph/svgwriter_jscode.go214
-rw-r--r--internal/flamegraph/svgwriter_test.go112
-rw-r--r--internal/flamegraph/testfixture.go120
-rw-r--r--internal/flamegraph/trie.go15
-rw-r--r--internal/flamegraph/trie_insert.go22
-rw-r--r--internal/flamegraph/webserver.go199
-rw-r--r--internal/flamegraph/webserver_autoreload_test.go37
-rw-r--r--internal/flamegraph/webserver_timeout_test.go43
-rw-r--r--internal/flamegraph/worker.go33
-rw-r--r--internal/generate/doc.go2
-rw-r--r--internal/generate/typesgo.go4
-rw-r--r--internal/generate/typesgo_test.go2
-rw-r--r--internal/ior.go525
-rw-r--r--internal/ior_mode_test.go361
-rw-r--r--internal/ior_test.go108
-rw-r--r--internal/probemanager/doc.go2
-rw-r--r--internal/probemanager/manager.go9
-rw-r--r--internal/statsengine/bench_test.go3
-rw-r--r--internal/statsengine/doc.go2
-rw-r--r--internal/statsengine/engine.go5
-rw-r--r--internal/statsengine/engine_test.go7
-rw-r--r--internal/statsengine/filerank.go3
-rw-r--r--internal/statsengine/filerank_test.go5
-rw-r--r--internal/statsengine/process.go3
-rw-r--r--internal/statsengine/process_test.go5
-rw-r--r--internal/statsengine/snapshot.go3
-rw-r--r--internal/statsengine/syscall.go5
-rw-r--r--internal/statsengine/syscall_test.go5
-rw-r--r--internal/tracepoints/doc.go2
-rw-r--r--internal/tui/common/doc.go2
-rw-r--r--internal/tui/common/keys.go17
-rw-r--r--internal/tui/common/keys_test.go24
-rw-r--r--internal/tui/common/styles.go128
-rw-r--r--internal/tui/common/styles_test.go39
-rw-r--r--internal/tui/common/viewport.go26
-rw-r--r--internal/tui/common/viewport_test.go76
-rw-r--r--internal/tui/dashboard/doc.go2
-rw-r--r--internal/tui/dashboard/files.go5
-rw-r--r--internal/tui/dashboard/histogram.go14
-rw-r--r--internal/tui/dashboard/histogram_test.go2
-rw-r--r--internal/tui/dashboard/layout.go4
-rw-r--r--internal/tui/dashboard/model.go218
-rw-r--r--internal/tui/dashboard/model_test.go234
-rw-r--r--internal/tui/dashboard/overview.go45
-rw-r--r--internal/tui/dashboard/overview_test.go33
-rw-r--r--internal/tui/dashboard/processes.go5
-rw-r--r--internal/tui/dashboard/sparkline.go85
-rw-r--r--internal/tui/dashboard/sparkline_test.go82
-rw-r--r--internal/tui/dashboard/syscalls.go5
-rw-r--r--internal/tui/dashboard/tabs.go12
-rw-r--r--internal/tui/dashboard/tabs_test.go15
-rw-r--r--internal/tui/doc.go2
-rw-r--r--internal/tui/eventstream/doc.go2
-rw-r--r--internal/tui/eventstream/exportmodal.go17
-rw-r--r--internal/tui/eventstream/filtermodal.go19
-rw-r--r--internal/tui/eventstream/filtermodal_test.go50
-rw-r--r--internal/tui/eventstream/model.go164
-rw-r--r--internal/tui/eventstream/render.go5
-rw-r--r--internal/tui/eventstream/render_test.go2
-rw-r--r--internal/tui/eventstream/searchmodal.go17
-rw-r--r--internal/tui/eventstream/streamevent.go3
-rw-r--r--internal/tui/eventstream/streamevent_test.go3
-rw-r--r--internal/tui/export/doc.go2
-rw-r--r--internal/tui/export/model.go6
-rw-r--r--internal/tui/export/model_test.go6
-rw-r--r--internal/tui/flamegraph/animation.go145
-rw-r--r--internal/tui/flamegraph/animation_test.go50
-rw-r--r--internal/tui/flamegraph/bench_test.go401
-rw-r--r--internal/tui/flamegraph/controls.go173
-rw-r--r--internal/tui/flamegraph/doc.go2
-rw-r--r--internal/tui/flamegraph/model.go1027
-rw-r--r--internal/tui/flamegraph/model_test.go987
-rw-r--r--internal/tui/flamegraph/renderer.go708
-rw-r--r--internal/tui/flamegraph/renderer_test.go368
-rw-r--r--internal/tui/flamegraph/search.go141
-rw-r--r--internal/tui/flamegraph/stress_race_disabled_test.go7
-rw-r--r--internal/tui/flamegraph/stress_race_enabled_test.go7
-rw-r--r--internal/tui/flamegraph/stress_test.go236
-rw-r--r--internal/tui/flamegraph/testdata_fixture_test.go39