Instrument
Instrument
This decorator is used to apply instrumentation to a class. It is intended to be used in conjunction with an InstrumentationStrategy which defines how the instrumentation should be applied.
In order for the instrumentation to be applied, the VENDURE_ENABLE_INSTRUMENTATION environment
variable (exported from the @vendure/core package as ENABLE_INSTRUMENTATION_ENV_VAR) must be set to true.
This is done to avoid the overhead of instrumentation in environments where it is not needed.
You should not decorate GraphQL resolvers & REST controllers with this decorator. Those will
already be instrumented, and adding the @Instrument() decorator will potentially
interfere with other NestJS decorators on your resolver methods.
For more information on how instrumentation is used, see docs on the TelemetryPlugin.
Example
import { Instrument } from '@vendure/core';
import { Injectable } from '@nestjs/common';
@Injectable()
@Instrument()
export class MyService {
// Calls to this method will be instrumented
myMethod() {
// ...
}
}
function Instrument(): ClassDecorator