diff --git a/templates/project/providers/otel/config.go.tpl b/templates/project/providers/otel/config.go.tpl index cac6ae7..afd2782 100644 --- a/templates/project/providers/otel/config.go.tpl +++ b/templates/project/providers/otel/config.go.tpl @@ -1,35 +1,9 @@ package otel -import ( - "git.ipao.vip/rogeecn/atom/container" - "git.ipao.vip/rogeecn/atom/utils/opt" -) - -const DefaultPrefix = "OTEL" - -func DefaultProvider() container.ProviderContainer { - return container.ProviderContainer{ - Provider: Provide, - Options: []opt.Option{ - opt.Prefix(DefaultPrefix), - }, - } -} - -type Config struct { - ServiceName string - Version string - Env string - - EndpointGRPC string - EndpointHTTP string - Token string -} -package otel - import ( "os" + "git.ipao.vip/rogeecn/atom" "git.ipao.vip/rogeecn/atom/container" "git.ipao.vip/rogeecn/atom/utils/opt" ) @@ -41,6 +15,7 @@ func DefaultProvider() container.ProviderContainer { Provider: Provide, Options: []opt.Option{ opt.Prefix(DefaultPrefix), + opt.Group(atom.GroupInitialName), }, } } diff --git a/templates/project/providers/otel/provider.go.tpl b/templates/project/providers/otel/provider.go.tpl index 47e8931..0c61489 100644 --- a/templates/project/providers/otel/provider.go.tpl +++ b/templates/project/providers/otel/provider.go.tpl @@ -6,6 +6,7 @@ import ( "time" "git.ipao.vip/rogeecn/atom/container" + "git.ipao.vip/rogeecn/atom/contracts" "git.ipao.vip/rogeecn/atom/utils/opt" "github.com/pkg/errors" @@ -27,6 +28,11 @@ import ( "google.golang.org/grpc/encoding/gzip" ) +var ( + Tracer trace.Tracer + Meter metric.Meter +) + func Provide(opts ...opt.Option) error { o := opt.New(opts...) var config Config @@ -34,7 +40,7 @@ func Provide(opts ...opt.Option) error { return err } config.format() - return container.Container.Provide(func(ctx context.Context) (*OTEL, error) { + return container.Container.Provide(func(ctx context.Context) (contracts.Initial, error) { o := &OTEL{ config: &config, } @@ -51,8 +57,8 @@ func Provide(opts ...opt.Option) error { return o, errors.Wrapf(err, "Failed to create OpenTelemetry tracer provider") } - o.Tracer = otel.Tracer(config.ServiceName) - o.Meter = otel.Meter(config.ServiceName) + Tracer = otel.Tracer(config.ServiceName) + Meter = otel.Meter(config.ServiceName) return o, nil }, o.DiOptions()...) @@ -61,9 +67,6 @@ func Provide(opts ...opt.Option) error { type OTEL struct { config *Config - Tracer trace.Tracer - Meter metric.Meter - resource *resource.Resource }