mirror of
https://github.com/Penguin-71630/meme-bot-frontend-dc.git
synced 2026-03-12 12:30:15 +08:00
- Introduce tracing - Introduce cobra / viper framework - Introduce resty client - Seperate files in api/ and bot/ - Trim unused functions
48 lines
865 B
Go
48 lines
865 B
Go
package tracing
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/spf13/viper"
|
|
"github.com/uptrace/opentelemetry-go-extra/otelzap"
|
|
"github.com/uptrace/uptrace-go/uptrace"
|
|
"go.opentelemetry.io/otel"
|
|
"go.opentelemetry.io/otel/trace"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
var (
|
|
Tracer trace.Tracer
|
|
Logger *otelzap.Logger
|
|
|
|
version string = "v0.0.1"
|
|
)
|
|
|
|
func InitTracer(appname string) {
|
|
Tracer = otel.Tracer(appname)
|
|
|
|
var l *zap.Logger
|
|
var err error
|
|
if viper.GetBool("zap-production") {
|
|
l, err = zap.NewProduction()
|
|
} else {
|
|
l, err = zap.NewDevelopment()
|
|
}
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
Logger = otelzap.New(l)
|
|
}
|
|
|
|
func InitUptrace(appname string) {
|
|
uptrace.ConfigureOpentelemetry(
|
|
uptrace.WithDSN(viper.GetString("uptrace-dsn")),
|
|
uptrace.WithServiceName(appname),
|
|
uptrace.WithServiceVersion(version),
|
|
)
|
|
}
|
|
|
|
func DeferUptrace(ctx context.Context) {
|
|
uptrace.Shutdown(ctx)
|
|
}
|