Skip to content

Commit

Permalink
feat(koa): add layer type to request hook context
Browse files Browse the repository at this point in the history
  • Loading branch information
unflxw committed Oct 11, 2022
1 parent b406b1d commit 2cda169
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,11 @@ export class KoaInstrumentation extends InstrumentationBase<typeof koa> {
if (this.getConfig().requestHook) {
safeExecuteInTheMiddle(
() =>
this.getConfig().requestHook!(span, { context, middlewareLayer }),
this.getConfig().requestHook!(span, {
context,
middlewareLayer,
layerType,
}),
e => {
if (e) {
api.diag.error('koa instrumentation: request hook failed', e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ export type KoaContext = ParameterizedContext<DefaultState, RouterParamContext>;
export type KoaRequestInfo = {
context: KoaContext;
middlewareLayer: KoaMiddleware;
layerType: KoaLayerType;
};

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,7 @@ describe('Koa Instrumentation', () => {
const requestHook = sinon.spy((span: Span, info: KoaRequestInfo) => {
span.setAttribute('http.method', info.context.request.method);
span.setAttribute('app.env', info.context.app.env);
span.setAttribute('koa.layer', info.layerType);
});

plugin.setConfig({
Expand Down Expand Up @@ -564,6 +565,10 @@ describe('Koa Instrumentation', () => {
requestHandlerSpan?.attributes['app.env'],
'development'
);
assert.strictEqual(
requestHandlerSpan?.attributes['koa.layer'],
'router'
);
}
);
});
Expand Down

0 comments on commit 2cda169

Please sign in to comment.