Back to Vendure

RegisterMethodHooks

docs/docs/reference/core-plugins/telemetry-plugin/register-method-hooks.mdx

3.7.31.3 KB
Original Source
<GenerationInfo sourceFile="packages/telemetry-plugin/src/service/method-hooks.service.ts" sourceLine="60" packageName="@vendure/telemetry-plugin" since="3.3.0" />

Allows you to register hooks for a specific method of an instrumented class. These hooks allow extra telemetry actions to be performed on the method.

They can then be passed to the TelemetryPlugin via the TelemetryPluginOptions.

Example

typescript
const productServiceHooks = registerMethodHooks(ProductService, {
    findOne: {
        // This will be called before the method is executed
        pre: ({ args: [ctx, productId], span }) => {
            span.setAttribute('productId', productId);
        },
        // This will be called after the method is executed
        post: ({ result, span }) => {
            span.setAttribute('found', !!result);
        },
    },
});
ts
function registerMethodHooks<T>(target: Type<T>, hooks: MethodHooksForType<T>): MethodHookConfig<T>

Parameters

target

<MemberInfo kind="parameter" type={Type<T>} />

hooks

<MemberInfo kind="parameter" type={MethodHooksForType<T>} />