57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
|
// Copyright (C) 2021 Storj Labs, Inc.
|
||
|
// See LICENSE for copying information.
|
||
|
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"flag"
|
||
|
"fmt"
|
||
|
"os"
|
||
|
|
||
|
"go.uber.org/zap"
|
||
|
"go.uber.org/zap/zapcore"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
var bench Bench
|
||
|
bench.BindFlags(flag.CommandLine)
|
||
|
flag.Parse()
|
||
|
if err := bench.VerifyFlags(); err != nil {
|
||
|
fmt.Fprintln(os.Stderr, err)
|
||
|
os.Exit(1)
|
||
|
}
|
||
|
|
||
|
ctx := context.Background()
|
||
|
|
||
|
log, err := zap.Config{
|
||
|
Encoding: "console",
|
||
|
Level: zap.NewAtomicLevelAt(zapcore.DebugLevel),
|
||
|
OutputPaths: []string{"stdout"},
|
||
|
ErrorOutputPaths: []string{"stdout"},
|
||
|
EncoderConfig: zapcore.EncoderConfig{
|
||
|
LevelKey: "L",
|
||
|
NameKey: "N",
|
||
|
TimeKey: "T",
|
||
|
CallerKey: "C",
|
||
|
MessageKey: "M",
|
||
|
StacktraceKey: "S",
|
||
|
LineEnding: zapcore.DefaultLineEnding,
|
||
|
EncodeLevel: zapcore.CapitalLevelEncoder,
|
||
|
EncodeTime: zapcore.ISO8601TimeEncoder,
|
||
|
EncodeDuration: zapcore.StringDurationEncoder,
|
||
|
EncodeCaller: zapcore.ShortCallerEncoder,
|
||
|
},
|
||
|
}.Build()
|
||
|
if err != nil {
|
||
|
fmt.Fprintln(os.Stderr, err)
|
||
|
os.Exit(1)
|
||
|
}
|
||
|
|
||
|
if err := bench.Run(ctx, log); err != nil {
|
||
|
_ = log.Sync()
|
||
|
fmt.Fprintln(os.Stderr, err)
|
||
|
os.Exit(1)
|
||
|
}
|
||
|
}
|