Skip to content

Commit

Permalink
Add log for request start (#1096)
Browse files Browse the repository at this point in the history
* add log at request start

* update tests
  • Loading branch information
wbrowne authored Sep 26, 2024
1 parent b9c3613 commit 5b4c6d3
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 11 deletions.
7 changes: 5 additions & 2 deletions backend/adapter_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,11 @@ func tracingWrapper(next handlerWrapperFunc) handlerWrapperFunc {
func logWrapper(next handlerWrapperFunc) handlerWrapperFunc {
return func(ctx context.Context) (RequestStatus, error) {
start := time.Now()

ctxLogger := Logger.FromContext(ctx)
logFunc := ctxLogger.Debug
logFunc("Plugin Request Started")

status, err := next(ctx)

logParams := []any{
Expand All @@ -133,8 +138,6 @@ func logWrapper(next handlerWrapperFunc) handlerWrapperFunc {

logParams = append(logParams, "statusSource", string(errorSourceFromContext(ctx)))

ctxLogger := Logger.FromContext(ctx)
logFunc := ctxLogger.Debug
if status > RequestStatusCancelled {
logFunc = ctxLogger.Error
}
Expand Down
6 changes: 3 additions & 3 deletions backend/log.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,21 @@ var NewLoggerWith = func(args ...interface{}) log.Logger {
}

func withContextualLogAttributes(ctx context.Context, pCtx PluginContext) context.Context {
args := []any{"pluginID", pCtx.PluginID}
args := []any{"pluginId", pCtx.PluginID}

endpoint := EndpointFromContext(ctx)
if !endpoint.IsEmpty() {
args = append(args, "endpoint", string(endpoint))
}

if tid := trace.SpanContextFromContext(ctx).TraceID(); tid.IsValid() {
args = append(args, "traceID", tid.String())
args = append(args, "traceId", tid.String())
}
if pCtx.DataSourceInstanceSettings != nil {
args = append(
args,
"dsName", pCtx.DataSourceInstanceSettings.Name,
"dsUID", pCtx.DataSourceInstanceSettings.UID,
"dsUid", pCtx.DataSourceInstanceSettings.UID,
)
if pCtx.User != nil {
args = append(args, "uname", pCtx.User.Name)
Expand Down
12 changes: 6 additions & 6 deletions backend/log_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func TestContextualLogger(t *testing.T) {
t.Run("DataSDKAdapter", func(t *testing.T) {
run := make(chan struct{}, 1)
a := newDataSDKAdapter(QueryDataHandlerFunc(func(ctx context.Context, _ *QueryDataRequest) (*QueryDataResponse, error) {
checkCtxLogger(ctx, t, map[string]any{"endpoint": "queryData", "pluginID": pluginID})
checkCtxLogger(ctx, t, map[string]any{"endpoint": "queryData", "pluginId": pluginID})
run <- struct{}{}
return NewQueryDataResponse(), nil
}))
Expand All @@ -51,7 +51,7 @@ func TestContextualLogger(t *testing.T) {
t.Run("DiagnosticsSDKAdapter", func(t *testing.T) {
run := make(chan struct{}, 1)
a := newDiagnosticsSDKAdapter(prometheus.DefaultGatherer, CheckHealthHandlerFunc(func(ctx context.Context, _ *CheckHealthRequest) (*CheckHealthResult, error) {
checkCtxLogger(ctx, t, map[string]any{"endpoint": "checkHealth", "pluginID": pluginID})
checkCtxLogger(ctx, t, map[string]any{"endpoint": "checkHealth", "pluginId": pluginID})
run <- struct{}{}
return &CheckHealthResult{}, nil
}))
Expand All @@ -65,7 +65,7 @@ func TestContextualLogger(t *testing.T) {
t.Run("ResourceSDKAdapter", func(t *testing.T) {
run := make(chan struct{}, 1)
a := newResourceSDKAdapter(CallResourceHandlerFunc(func(ctx context.Context, _ *CallResourceRequest, _ CallResourceResponseSender) error {
checkCtxLogger(ctx, t, map[string]any{"endpoint": "callResource", "pluginID": pluginID})
checkCtxLogger(ctx, t, map[string]any{"endpoint": "callResource", "pluginId": pluginID})
run <- struct{}{}
return nil
}))
Expand All @@ -82,17 +82,17 @@ func TestContextualLogger(t *testing.T) {
runStreamRun := make(chan struct{}, 1)
a := newStreamSDKAdapter(&streamAdapter{
subscribeStreamFunc: func(ctx context.Context, _ *SubscribeStreamRequest) (*SubscribeStreamResponse, error) {
checkCtxLogger(ctx, t, map[string]any{"endpoint": "subscribeStream", "pluginID": pluginID})
checkCtxLogger(ctx, t, map[string]any{"endpoint": "subscribeStream", "pluginId": pluginID})
subscribeStreamRun <- struct{}{}
return &SubscribeStreamResponse{}, nil
},
publishStreamFunc: func(ctx context.Context, _ *PublishStreamRequest) (*PublishStreamResponse, error) {
checkCtxLogger(ctx, t, map[string]any{"endpoint": "publishStream", "pluginID": pluginID})
checkCtxLogger(ctx, t, map[string]any{"endpoint": "publishStream", "pluginId": pluginID})
publishStreamRun <- struct{}{}
return &PublishStreamResponse{}, nil
},
runStreamFunc: func(ctx context.Context, _ *RunStreamRequest, _ *StreamSender) error {
checkCtxLogger(ctx, t, map[string]any{"endpoint": "runStream", "pluginID": pluginID})
checkCtxLogger(ctx, t, map[string]any{"endpoint": "runStream", "pluginId": pluginID})
runStreamRun <- struct{}{}
return nil
},
Expand Down

0 comments on commit 5b4c6d3

Please sign in to comment.