summaryrefslogtreecommitdiff
path: root/internal/ior.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-24 20:20:42 +0200
committerPaul Buetow <paul@buetow.org>2026-02-24 20:20:42 +0200
commit8361fd22d45e4fbf6b24309aaa1b6d49d9010759 (patch)
tree1aef478a8bc096acee794802b8dc7e29b32ecdb9 /internal/ior.go
parent81735bb46a75dce67a06e383f0703871e23b29d4 (diff)
flamegraph: add native svg pipeline and tests
Diffstat (limited to 'internal/ior.go')
-rw-r--r--internal/ior.go31
1 files changed, 19 insertions, 12 deletions
diff --git a/internal/ior.go b/internal/ior.go
index e46796b..ee1f988 100644
--- a/internal/ior.go
+++ b/internal/ior.go
@@ -99,18 +99,25 @@ func Run() error {
if iorFile != "" {
noTraceRun = true
- collapsed := flamegraph.NewCollapsed(iorFile, cfg.CollapsedFields, cfg.CountField)
- collapsedFile, err := collapsed.Write(iorFile)
- if err != nil {
- return err
- }
-
- tool, err := flamegraph.NewTool(collapsedFile)
- if err != nil {
- return err
- }
- if err := tool.WriteSVG(); err != nil {
- return err
+ if cfg.FlamegraphTool != "" {
+ collapsed := flamegraph.NewCollapsed(iorFile, cfg.CollapsedFields, cfg.CountField)
+ collapsedFile, err := collapsed.Write(iorFile)
+ if err != nil {
+ return err
+ }
+
+ tool, err := flamegraph.NewTool(collapsedFile)
+ if err != nil {
+ return err
+ }
+ if err := tool.WriteSVG(); err != nil {
+ return err
+ }
+ } else {
+ native := flamegraph.NewNativeSVG(cfg.CollapsedFields, cfg.CountField)
+ if err := native.WriteSVGFromFile(iorFile); err != nil {
+ return err
+ }
}
}