@embrace-io/web-sdk
Version:
33 lines • 1.75 kB
TypeScript
import { LogSeverity } from "../../api-logs/manager/types.js";
import "../../api-logs/index.js";
import { EmbraceLimitManagerArgs, LengthLimitedType, LimitManagerInternal, LimitedBreadcrumb, LimitedException, LimitedLog, LimitedUserSessionProperty } from "./types.js";
import { AttributeValue } from "@opentelemetry/api";
import { ReadableSpan } from "@opentelemetry/sdk-trace";
//#region src/managers/EmbraceLimitManager/EmbraceLimitManager.d.ts
declare class EmbraceLimitManager implements LimitManagerInternal {
private readonly _diag;
private _diagnosticCounts;
private _currentCount;
private readonly _maxAllowed;
private readonly _maxLength;
private readonly _maxAttributes;
constructor({ diag: diagParam, maxAllowed, maxLength, maxAttributes }: EmbraceLimitManagerArgs);
private _dropIfMaxReached;
truncateString(type: LengthLimitedType, body: string): string;
private _truncateAttributes;
limitUserTimingEntry(entryType: 'mark' | 'measure'): boolean;
limitElementTimingEntry(): boolean;
limitServerTimingEntry(): boolean;
limitSoftNavigationEntry(): boolean;
limitBreadcrumb(name: string): LimitedBreadcrumb | 'dropped';
limitException(message: string, attributes: Record<string, AttributeValue | undefined>): LimitedException | 'dropped';
limitLog(message: string, severity: LogSeverity, attributes: Record<string, AttributeValue | undefined>): LimitedLog | 'dropped';
limitUserSessionProperty(key: string, value: string): LimitedUserSessionProperty | 'dropped';
dropReadableSpan(span: ReadableSpan): boolean;
reset(): void;
private _incrDiagnosticCount;
getDiagnosticCounts(): Record<string, number>;
}
//#endregion
export { EmbraceLimitManager };
//# sourceMappingURL=EmbraceLimitManager.d.ts.map