UNPKG

@lokalise/fastify-extras

Version:

Opinionated set of fastify plugins, commonly used in Lokalise

36 lines (35 loc) 1.82 kB
import type { TransactionObservabilityManager } from '@lokalise/node-core'; import type { FastifyPluginCallback } from 'fastify'; declare module 'fastify' { interface FastifyInstance { datadogTransactionManager: DatadogTransactionManager; } } export interface DatadogTransactionManagerOptions { isEnabled: boolean; } export declare class DatadogTransactionManager implements TransactionObservabilityManager { private readonly isEnabled; private readonly spanMap; constructor(isEnabled: boolean); static createDisabled(): DatadogTransactionManager; /** * @param transactionName - used for grouping similar transactions together * @param uniqueTransactionKey - used for identifying specific ongoing transaction. Must be reasonably unique to reduce possibility of collisions */ start(transactionName: string, uniqueTransactionKey: string): void; /** * @param transactionName - used for grouping similar transactions together * @param uniqueTransactionKey - used for identifying specific ongoing transaction. Must be reasonably unique to reduce possibility of collisions * @param transactionGroup - group is used for grouping related transactions with different names */ startWithGroup(transactionName: string, uniqueTransactionKey: string, transactionGroup: string): void; stop(uniqueTransactionKey: string): void; addCustomAttribute(attrName: string, attrValue: string | number | boolean): void; addCustomAttributes(uniqueTransactionKey: string, atts: { [p: string]: string | number | boolean; }): void; setUserID(userId: string): void; setControllerName(name: string, action: string): void; } export declare const datadogTransactionManagerPlugin: FastifyPluginCallback<DatadogTransactionManagerOptions>;