Skip to content

Commit

Permalink
feat(koa): add layer type to request hook context (#1226)
Browse files Browse the repository at this point in the history
Co-authored-by: Amir Blum <[email protected]>
  • Loading branch information
unflxw and Amir Blum authored Oct 18, 2022
1 parent d291d3d commit 6300733
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 @@ -196,7 +196,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 @@ -601,6 +601,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 @@ -634,6 +635,10 @@ describe('Koa Instrumentation', () => {
requestHandlerSpan?.attributes['app.env'],
'development'
);
assert.strictEqual(
requestHandlerSpan?.attributes['koa.layer'],
'router'
);
}
);
});
Expand Down

0 comments on commit 6300733

Please sign in to comment.