diff options
| author | Paul Buetow <paul@buetow.org> | 2026-02-24 20:20:42 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-02-24 20:20:42 +0200 |
| commit | 8361fd22d45e4fbf6b24309aaa1b6d49d9010759 (patch) | |
| tree | 1aef478a8bc096acee794802b8dc7e29b32ecdb9 /internal/ior.go | |
| parent | 81735bb46a75dce67a06e383f0703871e23b29d4 (diff) | |
flamegraph: add native svg pipeline and tests
Diffstat (limited to 'internal/ior.go')
| -rw-r--r-- | internal/ior.go | 31 |
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 + } } } |
