From 4fbabfda2a8d90c71a9788a4f55548677a115053 Mon Sep 17 00:00:00 2001 From: 9seconds Date: Thu, 19 Mar 2026 23:16:00 +0100 Subject: [PATCH] Add PGO --- .gitattributes | 3 +++ default.pgo | Bin 0 -> 21497 bytes main.go | 17 +++++++++++++++++ run_profile.go | 7 +++++++ run_profile_tag_prof.go | 27 +++++++++++++++++++++++++++ 5 files changed, 54 insertions(+) create mode 100644 .gitattributes create mode 100644 default.pgo create mode 100644 run_profile.go create mode 100644 run_profile_tag_prof.go diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..0cc8d77967 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +# git config merge.theirs.name "Always accept theirs" +# git config merge.theirs.driver "cp %B %A" +default.pgo binary merge=theirs diff --git a/default.pgo b/default.pgo new file mode 100644 index 0000000000000000000000000000000000000000..c6a64540ffdb75315fbd5e5be11a5b5bec2688e8 GIT binary patch literal 21497 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 literal 0 HcmV?d00001 diff --git a/main.go b/main.go index 1f3a7d5303..9583b23348 100644 --- a/main.go +++ b/main.go @@ -14,6 +14,23 @@ import ( ) func main() { + // this runs profiling server. To enable it, build with prof tag + // $ go build -tags prof + // + // Then you can pass a port using MTG_PROF_PORT environment variable. + // Default is 6000 + // $ MTG_PROF_PORT=6000 mtg run config.toml + // + // It will run a webserver with profiling data on + // localhost:${MTG_PROF_PORT:-6000}. + // + // To collect PGO do following: + // $ curl -o default.pgo 'http://localhost:6000/debug/pprof/profile?seconds=300' + // + // See also https://pkg.go.dev/net/http/pprof + // https://go.dev/blog/pprof + runProfile() + cli := &cli.CLI{} ctx := kong.Parse(cli, kong.Vars{ "version": getVersion(), diff --git a/run_profile.go b/run_profile.go new file mode 100644 index 0000000000..06b7ab81a0 --- /dev/null +++ b/run_profile.go @@ -0,0 +1,7 @@ +//go:build !prof + +package main + +func runProfile() { + +} diff --git a/run_profile_tag_prof.go b/run_profile_tag_prof.go new file mode 100644 index 0000000000..63ca2d8c5d --- /dev/null +++ b/run_profile_tag_prof.go @@ -0,0 +1,27 @@ +//go:build prof + +package main + +import ( + "fmt" + "net" + "net/http" + _ "net/http/pprof" //nolint: gosec + "os" +) + +const DefaultProfPort = "6000" + +func runProfile() { + port := os.Getenv("MTG_PROF_PORT") + if port == "" { + port = DefaultProfPort + } + + listener, err := net.Listen("tcp", net.JoinHostPort("127.0.0.1", port)) + if err != nil { + panic(err) + } + + go http.Serve(listener, nil) +}