{"version":3,"file":"OTelPerformanceManager.cjs","names":[],"sources":["../../../src/utils/PerformanceManager/OTelPerformanceManager.ts"],"sourcesContent":["import type { HrTime } from '@opentelemetry/api';\nimport { hrTimeToMilliseconds, millisToHrTime } from '@opentelemetry/core';\nimport type { PerformanceClock, PerformanceManager } from './types.ts';\n\nexport class OTelPerformanceManager implements PerformanceManager {\n  private readonly _clock: PerformanceClock;\n\n  public constructor(clock: PerformanceClock = window.performance) {\n    this._clock = clock;\n  }\n\n  public epochMillisFromOriginOffset = (originOffset: number) =>\n    this._clock.timeOrigin + originOffset;\n\n  public getNowHRTime = () => millisToHrTime(this.getNowMillis());\n\n  public getNowMillis = () =>\n    this.epochMillisFromOriginOffset(this._clock.now()); // otperformance.now() returns milliseconds since timeOrigin, timeOrigin is the time from epoch to the start of the page load\n\n  public millisSinceHRTime = (time: HrTime) =>\n    this.getNowMillis() - hrTimeToMilliseconds(time);\n\n  // Returns milliseconds elapsed since the SDK's zero time (currently navigation\n  // start). When soft-navigation support is added, this method will subtract the\n  // reset point so timings remain relative to the soft navigation.\n  public millisFromZeroTime = (originOffset: number) => originOffset;\n}\n"],"mappings":";;;;AAIA,IAAa,yBAAb,MAAkE;CAChE;CAEA,YAAmB,QAA0B,OAAO,aAAa;AAC/D,OAAK,SAAS;;CAGhB,+BAAsC,iBACpC,KAAK,OAAO,aAAa;CAE3B,sBAAO,GAAA,oBAAA,gBAAoC,KAAK,cAAc,CAAC;CAE/D,qBACE,KAAK,4BAA4B,KAAK,OAAO,KAAK,CAAC;CAErD,qBAA4B,SAC1B,KAAK,cAAc,IAAA,GAAA,oBAAA,sBAAwB,KAAK;CAKlD,sBAA6B,iBAAyB"}