Compare commits
6 Commits
3eebfb5b11
...
v3.10.83
| Author | SHA1 | Date | |
|---|---|---|---|
| 1a9236caad | |||
| 6c68d39081 | |||
| 35e62fbeb0 | |||
| 00b3ceb468 | |||
| 7dc8f088c9 | |||
| c65afcea1b |
@@ -373,6 +373,10 @@ func (m *memoryEvent) SetError(err error) {
|
||||
m.err = err
|
||||
}
|
||||
|
||||
func (m *memoryEvent) Context() context.Context {
|
||||
return m.opts.Context
|
||||
}
|
||||
|
||||
func (m *memorySubscriber) Options() broker.SubscribeOptions {
|
||||
return m.opts
|
||||
}
|
||||
|
||||
@@ -44,6 +44,20 @@ var (
|
||||
ErrGatewayTimeout = &Error{Code: 504}
|
||||
)
|
||||
|
||||
const ProblemContentType = "application/problem+json"
|
||||
|
||||
type Problem struct {
|
||||
Type string `json:"type,omitempty"`
|
||||
Title string `json:"title,omitempty"`
|
||||
Detail string `json:"detail,omitempty"`
|
||||
Instance string `json:"instance,omitempty"`
|
||||
Errors []struct {
|
||||
Title string `json:"title,omitempty"`
|
||||
Detail string `json:"detail,omitempty"`
|
||||
} `json:"errors,omitempty"`
|
||||
Status int `json:"status,omitempty"`
|
||||
}
|
||||
|
||||
// Error type
|
||||
type Error struct {
|
||||
// ID holds error id or service, usually someting like my_service or id
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Package logger provides a log interface
|
||||
package logger // import "go.unistack.org/micro/v3/logger"
|
||||
package logger
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
@@ -74,7 +74,7 @@ func NewOptions(opts ...Option) Options {
|
||||
return options
|
||||
}
|
||||
|
||||
// WithContextAttrFuncs appends default funcs for the context arrts filler
|
||||
// WithContextAttrFuncs appends default funcs for the context attrs filler
|
||||
func WithContextAttrFuncs(fncs ...ContextAttrFunc) Option {
|
||||
return func(o *Options) {
|
||||
o.ContextAttrFuncs = append(o.ContextAttrFuncs, fncs...)
|
||||
@@ -137,6 +137,13 @@ func WithName(n string) Option {
|
||||
}
|
||||
}
|
||||
|
||||
// WithMeter sets the meter
|
||||
func WithMeter(m meter.Meter) Option {
|
||||
return func(o *Options) {
|
||||
o.Meter = m
|
||||
}
|
||||
}
|
||||
|
||||
// WithTimeFunc sets the func to obtain current time
|
||||
func WithTimeFunc(fn func() time.Time) Option {
|
||||
return func(o *Options) {
|
||||
|
||||
@@ -305,6 +305,10 @@ func (t *tunEvent) SetError(err error) {
|
||||
t.err = err
|
||||
}
|
||||
|
||||
func (t *tunEvent) Context() context.Context {
|
||||
return context.TODO()
|
||||
}
|
||||
|
||||
// NewBroker returns new tunnel broker
|
||||
func NewBroker(opts ...broker.Option) (broker.Broker, error) {
|
||||
options := broker.NewOptions(opts...)
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
package semconv
|
||||
|
||||
var (
|
||||
// CacheRequestDurationSeconds specifies meter metric name
|
||||
CacheRequestDurationSeconds = "cache_request_duration_seconds"
|
||||
// ClientRequestLatencyMicroseconds specifies meter metric name
|
||||
CacheRequestLatencyMicroseconds = "cache_request_latency_microseconds"
|
||||
// CacheRequestTotal specifies meter metric name
|
||||
CacheRequestTotal = "cache_request_total"
|
||||
// CacheRequestInflight specifies meter metric name
|
||||
CacheRequestInflight = "cache_request_inflight"
|
||||
)
|
||||
12
semconv/store.go
Normal file
12
semconv/store.go
Normal file
@@ -0,0 +1,12 @@
|
||||
package semconv
|
||||
|
||||
var (
|
||||
// StoreRequestDurationSeconds specifies meter metric name
|
||||
StoreRequestDurationSeconds = "store_request_duration_seconds"
|
||||
// ClientRequestLatencyMicroseconds specifies meter metric name
|
||||
StoreRequestLatencyMicroseconds = "store_request_latency_microseconds"
|
||||
// StoreRequestTotal specifies meter metric name
|
||||
StoreRequestTotal = "store_request_total"
|
||||
// StoreRequestInflight specifies meter metric name
|
||||
StoreRequestInflight = "store_request_inflight"
|
||||
)
|
||||
@@ -140,6 +140,8 @@ type Options struct {
|
||||
Logger logger.Logger
|
||||
// Name of the tracer
|
||||
Name string
|
||||
// ContextAttrFuncs contains funcs that provides tracing
|
||||
ContextAttrFuncs []ContextAttrFunc
|
||||
}
|
||||
|
||||
// Option func signature
|
||||
@@ -176,8 +178,9 @@ func NewSpanOptions(opts ...SpanOption) SpanOptions {
|
||||
// NewOptions returns default options
|
||||
func NewOptions(opts ...Option) Options {
|
||||
options := Options{
|
||||
Logger: logger.DefaultLogger,
|
||||
Context: context.Background(),
|
||||
Logger: logger.DefaultLogger,
|
||||
Context: context.Background(),
|
||||
ContextAttrFuncs: DefaultContextAttrFuncs,
|
||||
}
|
||||
for _, o := range opts {
|
||||
o(&options)
|
||||
|
||||
@@ -21,8 +21,11 @@ var (
|
||||
"HealthService.Ready",
|
||||
"HealthService.Version",
|
||||
}
|
||||
DefaultContextAttrFuncs []ContextAttrFunc
|
||||
)
|
||||
|
||||
type ContextAttrFunc func(ctx context.Context) []interface{}
|
||||
|
||||
func init() {
|
||||
logger.DefaultContextAttrFuncs = append(logger.DefaultContextAttrFuncs,
|
||||
func(ctx context.Context) []interface{} {
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package pool
|
||||
|
||||
import "sync"
|
||||
import (
|
||||
"bytes"
|
||||
"sync"
|
||||
)
|
||||
|
||||
type Pool[T any] struct {
|
||||
p *sync.Pool
|
||||
@@ -23,3 +26,11 @@ func (p Pool[T]) Get() T {
|
||||
func (p Pool[T]) Put(t T) {
|
||||
p.p.Put(t)
|
||||
}
|
||||
|
||||
func NewBytePool(size int) Pool[T] {
|
||||
return NewPool(func() []byte { return make([]byte, size) })
|
||||
}
|
||||
|
||||
func NewBytesPool() Pool[T] {
|
||||
return NewPool(func() *bytes.Buffer { return bytes.NewBuffer(nil) })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user