chore(vendor): import pi 0.85.1
Imported as a linear vendor commit so forge rebases do not replay the upstream root tree. git-subtree-dir: third_party/pi git-subtree-split: d981de1229ef899957bbe968bc8dcda02a21f477
This commit is contained in:
20
third_party/pi/packages/telemetry/src/noop.ts
vendored
Normal file
20
third_party/pi/packages/telemetry/src/noop.ts
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import type { SpanOptions, TelemetryContext, TelemetrySpan } from "./index.ts";
|
||||
|
||||
function startNoopSpan<T>(_options: SpanOptions, callback: (span: TelemetrySpan) => T | Promise<T>): Promise<T> {
|
||||
try {
|
||||
return Promise.resolve(callback(noopTelemetrySpan));
|
||||
} catch (error) {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
}
|
||||
|
||||
const noopTelemetrySpan: TelemetrySpan = {
|
||||
startSpan: startNoopSpan,
|
||||
addEvent: () => {},
|
||||
setAttributes: () => {},
|
||||
setStatus: () => {},
|
||||
};
|
||||
Object.freeze(noopTelemetrySpan);
|
||||
|
||||
/** Shared telemetry context used when an application does not provide one. */
|
||||
export const NOOP_TELEMETRY_CONTEXT: TelemetryContext = noopTelemetrySpan;
|
||||
Reference in New Issue
Block a user