mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-08 10:08:42 +08:00
Cherry-pick from master pr: #41358 Related to #41357 Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
This commit is contained in:
parent
daa48f6806
commit
f2a5542996
@ -14,7 +14,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
logLevelRPCMetaKey = "log_level"
|
logLevelRPCMetaKeyLegacy = "log_level"
|
||||||
|
logLevelRPCMetaKey = "log-level"
|
||||||
|
clientRequestIDKeyLegacy = "client-request-id"
|
||||||
clientRequestIDKey = "client_request_id"
|
clientRequestIDKey = "client_request_id"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -37,7 +39,7 @@ func withLevelAndTrace(ctx context.Context) context.Context {
|
|||||||
newctx := ctx
|
newctx := ctx
|
||||||
var traceID trace.TraceID
|
var traceID trace.TraceID
|
||||||
if md, ok := metadata.FromIncomingContext(ctx); ok {
|
if md, ok := metadata.FromIncomingContext(ctx); ok {
|
||||||
levels := md.Get(logLevelRPCMetaKey)
|
levels := GetMetadata(md, logLevelRPCMetaKey, logLevelRPCMetaKeyLegacy)
|
||||||
// get log level
|
// get log level
|
||||||
if len(levels) >= 1 {
|
if len(levels) >= 1 {
|
||||||
level := zapcore.DebugLevel
|
level := zapcore.DebugLevel
|
||||||
@ -63,12 +65,12 @@ func withLevelAndTrace(ctx context.Context) context.Context {
|
|||||||
newctx = metadata.AppendToOutgoingContext(newctx, logLevelRPCMetaKey, level.String())
|
newctx = metadata.AppendToOutgoingContext(newctx, logLevelRPCMetaKey, level.String())
|
||||||
}
|
}
|
||||||
// client request id
|
// client request id
|
||||||
requestID := md.Get(clientRequestIDKey)
|
requestID := GetMetadata(md, clientRequestIDKey, clientRequestIDKeyLegacy)
|
||||||
if len(requestID) >= 1 {
|
if len(requestID) >= 1 {
|
||||||
// inject traceid in order to pass client request id
|
// inject traceid in order to pass client request id
|
||||||
newctx = metadata.AppendToOutgoingContext(newctx, clientRequestIDKey, requestID[0])
|
newctx = metadata.AppendToOutgoingContext(newctx, clientRequestIDKey, requestID[0])
|
||||||
var err error
|
var err error
|
||||||
// if client_request_id is a valid traceID, use traceID path
|
// if client-request-id is a valid traceID, use traceID path
|
||||||
traceID, err = trace.TraceIDFromHex(requestID[0])
|
traceID, err = trace.TraceIDFromHex(requestID[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// set request id to custom field
|
// set request id to custom field
|
||||||
@ -85,3 +87,13 @@ func withLevelAndTrace(ctx context.Context) context.Context {
|
|||||||
}
|
}
|
||||||
return newctx
|
return newctx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetMetadata(md metadata.MD, keys ...string) []string {
|
||||||
|
var result []string
|
||||||
|
for _, key := range keys {
|
||||||
|
if values := md.Get(key); len(values) > 0 {
|
||||||
|
result = append(result, values...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user