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.
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() {
// ...
}
}
Signature
function Instrument(): ClassDecorator