TelemetryPluginOptions
TelemetryPluginOptions
Configuration options for the TelemetryPlugin.
Signature
interface TelemetryPluginOptions {
    loggerOptions?: OtelLoggerOptions;
    methodHooks?: Array<MethodHookConfig<any>>;
}
loggerOptions
property
The options for the OtelLogger.
For example, to also include logging to the console, you can use the following:
import { LogLevel } from '@vendure/core';
import { TelemetryPlugin } from '@vendure/telemetry-plugin';
TelemetryPlugin.init({
    loggerOptions: {
        console: LogLevel.Verbose,
    },
});
methodHooks
property
experimental
Array<MethodHookConfig<any>>Status: Developer Preview
This API may change in a future release.
Method hooks allow you to add extra telemetry actions to specific methods. To define hooks on a method, use the registerMethodHooks function.
Example
import { TelemetryPlugin, registerMethodHooks } from '@vendure/telemetry-plugin';
TelemetryPlugin.init({
  methodHooks: [
    registerMethodHooks(ProductService, {
      // Define some hooks for the `findOne` method
      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);
        },
      },
    }),
  ],
});