fix sleep time default, add debug flag

This commit is contained in:
2025-10-21 12:10:25 +02:00
parent 7a15530855
commit 03e1deb89c
3 changed files with 12 additions and 4 deletions

View File

@@ -23,6 +23,7 @@ Options:
-s --sleeptime <int> Time to sleep between checks (default: 5s) -s --sleeptime <int> Time to sleep between checks (default: 5s)
-l --label <label=value> Add label to exported metric -l --label <label=value> Add label to exported metric
-i --internals Also add labels about resource usage -i --internals Also add labels about resource usage
-d --debug Enable debug log level
-h --help Show help -h --help Show help
-v --version Show program version` -v --version Show program version`
) )
@@ -32,10 +33,11 @@ type Config struct {
Showversion bool `koanf:"version"` // -v Showversion bool `koanf:"version"` // -v
Showhelp bool `koanf:"help"` // -h Showhelp bool `koanf:"help"` // -h
Internals bool `koanf:"internals"` // -i Internals bool `koanf:"internals"` // -i
Debug bool `koanf:"debug"` // -d
Label []string `koanf:"label"` // -v Label []string `koanf:"label"` // -v
Timeout int `koanf:"timeout"` // -t Timeout int `koanf:"timeout"` // -t
Port int `koanf:"port"` // -p Port int `koanf:"port"` // -p
Sleeptime int `koanf:"sleep"` // -s Sleeptime int `koanf:"sleeptime"` // -s
File string File string
Labels []Label Labels []Label
@@ -56,6 +58,7 @@ func InitConfig(output io.Writer) (*Config, error) {
// parse commandline flags // parse commandline flags
flagset.BoolP("version", "v", false, "show program version") flagset.BoolP("version", "v", false, "show program version")
flagset.BoolP("help", "h", false, "show help") flagset.BoolP("help", "h", false, "show help")
flagset.BoolP("debug", "d", false, "enable debug logs")
flagset.BoolP("internals", "i", false, "add internal metrics") flagset.BoolP("internals", "i", false, "add internal metrics")
flagset.StringArrayP("label", "l", nil, "additional labels") flagset.StringArrayP("label", "l", nil, "additional labels")
flagset.IntP("timeout", "t", 1, "timeout for file operation in seconds") flagset.IntP("timeout", "t", 1, "timeout for file operation in seconds")

View File

@@ -7,14 +7,18 @@ import (
"github.com/lmittmann/tint" "github.com/lmittmann/tint"
) )
func setLogger(output io.Writer) { func setLogger(output io.Writer, debug bool) {
logLevel := &slog.LevelVar{} logLevel := &slog.LevelVar{}
opts := &tint.Options{ opts := &tint.Options{
Level: logLevel, Level: logLevel,
AddSource: false, AddSource: false,
} }
logLevel.Set(slog.LevelDebug) if debug {
logLevel.Set(slog.LevelDebug)
} else {
logLevel.Set(slog.LevelInfo)
}
handler := tint.NewHandler(output, opts) handler := tint.NewHandler(output, opts)
logger := slog.New(handler) logger := slog.New(handler)

View File

@@ -21,7 +21,7 @@ func Run() {
metrics := NewMetrics(conf) metrics := NewMetrics(conf)
alloc := NewAlloc() alloc := NewAlloc()
setLogger(os.Stdout) setLogger(os.Stdout, conf.Debug)
go func() { go func() {
for { for {
@@ -32,6 +32,7 @@ func Run() {
// ns => s // ns => s
now := time.Now() now := time.Now()
elapsed := float64(now.Sub(start).Nanoseconds()) / 10000000000 elapsed := float64(now.Sub(start).Nanoseconds()) / 10000000000
slog.Debug("elapsed time", "elapsed", elapsed, "result", result)
metrics.Set(result, elapsed) metrics.Set(result, elapsed)