@fiberplane/hono-otel
Version:
Hono middleware to forward OpenTelemetry traces to a local instance of @fiberplane/studio
49 lines (48 loc) • 1.7 kB
TypeScript
/**
* Runtime mode of the client library.
* - "local" mode will send the kitchen sink with every trace: env vars, request bodies, etc.
* - "production" mode will attempt to redact sensitive data, and not send request bodies, env vars, etc.
*/
export type FpMode = "local" | "production";
/**
* The type for the configuration object passed to `instrument`,
* all properties should be optional.
*
* @public
*/
export type FpConfigOptions = Partial<FpConfig & {
monitor: Partial<FpConfig["monitor"]>;
mode?: FpMode;
}>;
/**
* The type for the configuration object we use to configure the instrumentation
* Different from @FpConfigOptions because all properties are required
*
* @internal
*/
export type FpConfig = {
/**
* Headers whose values should always be redacted
* These are merged with {@link DEFAULT_REDACTED_HEADERS}
*
* @NOTE - Headers are not redacted when FIBERPLANE_ENVIRONMENT is set to "local"
*/
redactedHeaders: Array<string>;
/**
* Query params whose values should always be redacted
* These are merged with {@link DEFAULT_REDACTED_QUERY_PARAMS}
*
* @NOTE - Query params are not redacted when FIBERPLANE_ENVIRONMENT is set to "local"
*/
redactedQueryParams: Array<string>;
monitor: {
/** Send data to FPX about each `fetch` call made during a handler's lifetime */
fetch: boolean;
/** Send data to FPX about each `console.*` call made during a handler's lifetime */
logging: boolean;
/** Proxy Cloudflare bindings to add instrumentation */
cfBindings: boolean;
};
/** Enable library debug logging */
libraryDebugMode: boolean;
};