fix: issues
This commit is contained in:
@@ -1,35 +1,9 @@
|
|||||||
package otel
|
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 (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
|
"git.ipao.vip/rogeecn/atom"
|
||||||
"git.ipao.vip/rogeecn/atom/container"
|
"git.ipao.vip/rogeecn/atom/container"
|
||||||
"git.ipao.vip/rogeecn/atom/utils/opt"
|
"git.ipao.vip/rogeecn/atom/utils/opt"
|
||||||
)
|
)
|
||||||
@@ -41,6 +15,7 @@ func DefaultProvider() container.ProviderContainer {
|
|||||||
Provider: Provide,
|
Provider: Provide,
|
||||||
Options: []opt.Option{
|
Options: []opt.Option{
|
||||||
opt.Prefix(DefaultPrefix),
|
opt.Prefix(DefaultPrefix),
|
||||||
|
opt.Group(atom.GroupInitialName),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.ipao.vip/rogeecn/atom/container"
|
"git.ipao.vip/rogeecn/atom/container"
|
||||||
|
"git.ipao.vip/rogeecn/atom/contracts"
|
||||||
"git.ipao.vip/rogeecn/atom/utils/opt"
|
"git.ipao.vip/rogeecn/atom/utils/opt"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
@@ -27,6 +28,11 @@ import (
|
|||||||
"google.golang.org/grpc/encoding/gzip"
|
"google.golang.org/grpc/encoding/gzip"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
Tracer trace.Tracer
|
||||||
|
Meter metric.Meter
|
||||||
|
)
|
||||||
|
|
||||||
func Provide(opts ...opt.Option) error {
|
func Provide(opts ...opt.Option) error {
|
||||||
o := opt.New(opts...)
|
o := opt.New(opts...)
|
||||||
var config Config
|
var config Config
|
||||||
@@ -34,7 +40,7 @@ func Provide(opts ...opt.Option) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
config.format()
|
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{
|
o := &OTEL{
|
||||||
config: &config,
|
config: &config,
|
||||||
}
|
}
|
||||||
@@ -51,8 +57,8 @@ func Provide(opts ...opt.Option) error {
|
|||||||
return o, errors.Wrapf(err, "Failed to create OpenTelemetry tracer provider")
|
return o, errors.Wrapf(err, "Failed to create OpenTelemetry tracer provider")
|
||||||
}
|
}
|
||||||
|
|
||||||
o.Tracer = otel.Tracer(config.ServiceName)
|
Tracer = otel.Tracer(config.ServiceName)
|
||||||
o.Meter = otel.Meter(config.ServiceName)
|
Meter = otel.Meter(config.ServiceName)
|
||||||
|
|
||||||
return o, nil
|
return o, nil
|
||||||
}, o.DiOptions()...)
|
}, o.DiOptions()...)
|
||||||
@@ -61,9 +67,6 @@ func Provide(opts ...opt.Option) error {
|
|||||||
type OTEL struct {
|
type OTEL struct {
|
||||||
config *Config
|
config *Config
|
||||||
|
|
||||||
Tracer trace.Tracer
|
|
||||||
Meter metric.Meter
|
|
||||||
|
|
||||||
resource *resource.Resource
|
resource *resource.Resource
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user