diff options
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 + } } } |
