UNPKG

@embrace-io/web-sdk

Version:
49 lines 2.67 kB
import { LogSeverity } from "../../api-logs/manager/types.cjs"; import "../../api-logs/index.cjs"; import { AttributeValue, DiagLogger } from "@opentelemetry/api"; import { ReadableSpan } from "@opentelemetry/sdk-trace"; //#region src/managers/EmbraceLimitManager/types.d.ts interface EmbraceLimitManagerArgs { diag?: DiagLogger; maxAllowed: Record<MaxLimitedType, number>; maxLength: Record<LengthLimitedType, number>; maxAttributes: Record<AttributeLimitedType, number>; } type LogLimitedType = 'error_log' | 'warning_log' | 'info_log'; type MaxLimitedType = LogLimitedType | 'exception' | 'span' | 'network_request' | 'breadcrumb' | 'session_property' | 'user_timing_mark' | 'user_timing_measure' | 'element_timing' | 'server_timing' | 'soft_navigation'; type LengthLimitedType = LogLimitedType | 'exception' | 'breadcrumb' | 'session_property_key' | 'session_property_value' | 'log_attribute_key' | 'log_attribute_value' | 'exception_attribute_key' | 'exception_attribute_value'; type AttributeLimitedType = LogLimitedType | 'exception'; type LimitedType = MaxLimitedType | LengthLimitedType | AttributeLimitedType; type LimitOperation = 'drop' | 'truncate_string' | 'truncate_attributes'; type LimitedBreadcrumb = { name: string; }; type LimitedLog = { message: string; attributes: Record<string, AttributeValue | undefined>; }; type LimitedException = { message: string; attributes: Record<string, AttributeValue | undefined>; }; type LimitedUserSessionProperty = { key: string; value: string; }; interface LimitManagerInternal { dropReadableSpan: (span: ReadableSpan) => boolean; limitLog: (message: string, severity: LogSeverity, attributes: Record<string, AttributeValue | undefined>) => LimitedLog | 'dropped'; limitException: (message: string, attributes: Record<string, AttributeValue | undefined>) => LimitedException | 'dropped'; limitUserSessionProperty: (key: string, value: string) => LimitedUserSessionProperty | 'dropped'; limitBreadcrumb: (name: string) => LimitedBreadcrumb | 'dropped'; limitUserTimingEntry: (entryType: 'mark' | 'measure') => boolean; limitElementTimingEntry: () => boolean; limitServerTimingEntry: () => boolean; limitSoftNavigationEntry: () => boolean; reset: () => void; getDiagnosticCounts: () => Record<string, number>; truncateString: (type: LengthLimitedType, body: string) => string; } //#endregion export { AttributeLimitedType, EmbraceLimitManagerArgs, LengthLimitedType, LimitManagerInternal, LimitOperation, LimitedBreadcrumb, LimitedException, LimitedLog, LimitedType, LimitedUserSessionProperty, LogLimitedType, MaxLimitedType }; //# sourceMappingURL=types.d.cts.map