FILE / ScuroNeko/mtg

main.go

Исходный файл и его история в репозитории.
FILE cfb5fe66be19a8afbfcde010bae927c8dfe2670a
Files
mtg/main.go
T
2026-03-20 10:54:30 +01:00

41 lines
1.1 KiB
Go

// mtg is just a command-line application that starts a proxy.
//
// Application logic is how to read a config and configure mtglib.Proxy.
// So, probably you need to read the documentation for mtglib package
// first.
//
// mtglib is a core of the application. The rest of the packages provide
// some default implementations for the interfaces, defined in mtglib.
package main
import (
"github.com/9seconds/mtg/v2/internal/cli"
"github.com/alecthomas/kong"
)
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(),
})
ctx.FatalIfErrorf(ctx.Run(cli, version))
}