From 12759c56082abcc6b0eb70b5a5981e9ca61faa08 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 14 Apr 2025 23:13:45 +0300 Subject: add -version flag and ASCII banner --- internal/flags/flags.go | 7 +++++++ internal/flags/version.go | 13 +++++++++++++ internal/ior.go | 1 + 3 files changed, 21 insertions(+) create mode 100644 internal/flags/version.go diff --git a/internal/flags/flags.go b/internal/flags/flags.go index fc41062..fda921d 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -68,6 +68,8 @@ func Parse() { } func parse() { + version := flag.Bool("version", false, "Print version") + flag.IntVar(&singleton.PidFilter, "pid", -1, "Filter for processes ID") flag.IntVar(&singleton.TidFilter, "tid", -1, "Filter for thread ID") flag.IntVar(&singleton.EventMapSize, "mapSize", 4096*16, "BPF FD event ring buffer map size") @@ -95,6 +97,11 @@ func parse() { os.Getenv("HOME")+"/git/FlameGraph/flamegraph.pl", "Path to the flamegraph tool (e.g. flamegraph.pl or inferno-flamegraph)") flag.Parse() + if *version { + PrintVersion() + os.Exit(0) + } + singleton.TracepointsToAttach = extractTracepointFlags(*tracepointsToAttach) singleton.TracepointsToExclude = extractTracepointFlags(*tracepointsToExclude) diff --git a/internal/flags/version.go b/internal/flags/version.go new file mode 100644 index 0000000..1cb2dfd --- /dev/null +++ b/internal/flags/version.go @@ -0,0 +1,13 @@ +package flags + +const version = `v0.0.0` + +const asciiBanner = ` ___   _____    ___ _     _    +|_ _| / / _ \  | _ (_)___| |_  + | | / / (_) | |   / / _ \  _| +|___/_/ \___/  |_|_\_\___/\__| NG + ` + version + +func PrintVersion() { + println(asciiBanner) +} diff --git a/internal/ior.go b/internal/ior.go index e9f394f..98fb39c 100644 --- a/internal/ior.go +++ b/internal/ior.go @@ -45,6 +45,7 @@ func attachTracepoints(bpfModule *bpf.Module) error { } func Run() error { + flags.PrintVersion() iorFile := flags.Get().IorDataFile var noTraceRun bool -- cgit v1.2.3