vestig 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/config.d.ts +3 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/context/correlation.d.ts +57 -0
- package/dist/context/correlation.d.ts.map +1 -1
- package/dist/context/correlation.js +126 -0
- package/dist/context/correlation.js.map +1 -1
- package/dist/context/index.d.ts +2 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +2 -1
- package/dist/context/index.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +10 -0
- package/dist/logger.js.map +1 -1
- package/dist/runtime.d.ts +1 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +10 -2
- package/dist/runtime.js.map +1 -1
- package/dist/sampling/index.d.ts +3 -0
- package/dist/sampling/index.d.ts.map +1 -0
- package/dist/sampling/index.js +2 -0
- package/dist/sampling/index.js.map +1 -0
- package/dist/sampling/sampler.d.ts +33 -0
- package/dist/sampling/sampler.d.ts.map +1 -0
- package/dist/sampling/sampler.js +152 -0
- package/dist/sampling/sampler.js.map +1 -0
- package/dist/sampling/types.d.ts +58 -0
- package/dist/sampling/types.d.ts.map +1 -0
- package/dist/sampling/types.js +2 -0
- package/dist/sampling/types.js.map +1 -0
- package/dist/tracing/context.d.ts.map +1 -1
- package/dist/tracing/context.js.map +1 -1
- package/dist/tracing/functions.d.ts.map +1 -1
- package/dist/tracing/functions.js +1 -1
- package/dist/tracing/functions.js.map +1 -1
- package/dist/tracing/index.d.ts +1 -1
- package/dist/tracing/index.d.ts.map +1 -1
- package/dist/tracing/index.js.map +1 -1
- package/dist/types.d.ts +36 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -4
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ A modern, runtime-agnostic structured logging library with automatic PII sanitiz
|
|
|
8
8
|
|
|
9
9
|
[](https://github.com/Arakiss/vestig/actions/workflows/ci.yml)
|
|
10
10
|
[](https://www.npmjs.com/package/vestig)
|
|
11
|
-
[](https://github.com/Arakiss/vestig)
|
|
12
12
|
[](https://github.com/Arakiss/vestig)
|
|
13
13
|
[](https://opensource.org/licenses/MIT)
|
|
14
14
|
[](https://www.typescriptlang.org/)
|
|
@@ -246,14 +246,14 @@ Vestig automatically detects and adapts to:
|
|
|
246
246
|
|
|
247
247
|
- **Node.js** - Full features with AsyncLocalStorage
|
|
248
248
|
- **Bun** - Full features with AsyncLocalStorage
|
|
249
|
-
- **Deno** - Full features with AsyncLocalStorage
|
|
249
|
+
- **Deno** - Full features with AsyncLocalStorage (via `node:async_hooks`)
|
|
250
250
|
- **Edge Runtime** - Vercel Edge, Cloudflare Workers
|
|
251
|
-
- **Browser** - Client-side logging with
|
|
251
|
+
- **Browser** - Client-side logging (use with `@vestig/next` for best experience)
|
|
252
252
|
|
|
253
253
|
```typescript
|
|
254
|
-
import { RUNTIME, IS_SERVER,
|
|
254
|
+
import { RUNTIME, IS_SERVER, IS_DENO } from 'vestig'
|
|
255
255
|
|
|
256
|
-
console.log(RUNTIME) // 'node' | 'bun' | 'deno' | 'edge' | 'browser'
|
|
256
|
+
console.log(RUNTIME) // 'node' | 'bun' | 'deno' | 'edge' | 'browser' | 'worker' | 'unknown'
|
|
257
257
|
```
|
|
258
258
|
|
|
259
259
|
## Auto-Production Mode
|
package/dist/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LoggerConfig } from './types';
|
|
1
|
+
import type { ResolvedLoggerConfig, LoggerConfig } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Environment variable names
|
|
4
4
|
*/
|
|
@@ -11,9 +11,9 @@ export declare const ENV_VARS: {
|
|
|
11
11
|
/**
|
|
12
12
|
* Default configuration values
|
|
13
13
|
*/
|
|
14
|
-
export declare function getDefaultConfig():
|
|
14
|
+
export declare function getDefaultConfig(): ResolvedLoggerConfig;
|
|
15
15
|
/**
|
|
16
16
|
* Merge user config with defaults
|
|
17
17
|
*/
|
|
18
|
-
export declare function mergeConfig(userConfig?: LoggerConfig):
|
|
18
|
+
export declare function mergeConfig(userConfig?: LoggerConfig): ResolvedLoggerConfig;
|
|
19
19
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,oBAAoB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEvF;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;CAKX,CAAA;AA4CV;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,oBAAoB,CAavD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,GAAG,oBAAoB,CAa3E"}
|
package/dist/config.js
CHANGED
|
@@ -60,6 +60,7 @@ export function getDefaultConfig() {
|
|
|
60
60
|
sanitizeFields: [],
|
|
61
61
|
context: getEnvContext(),
|
|
62
62
|
namespace: '',
|
|
63
|
+
sampling: undefined,
|
|
63
64
|
};
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
@@ -75,6 +76,7 @@ export function mergeConfig(userConfig) {
|
|
|
75
76
|
sanitizeFields: [...defaults.sanitizeFields, ...(userConfig?.sanitizeFields ?? [])],
|
|
76
77
|
context: { ...defaults.context, ...userConfig?.context },
|
|
77
78
|
namespace: userConfig?.namespace ?? defaults.namespace,
|
|
79
|
+
sampling: userConfig?.sampling ?? defaults.sampling,
|
|
78
80
|
};
|
|
79
81
|
}
|
|
80
82
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,KAAK,EAAE,cAAc;IACrB,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,mBAAmB;IAC/B,QAAQ,EAAE,iBAAiB;CAClB,CAAA;AAEV;;GAEG;AACH,SAAS,MAAM,CAAC,GAAW;IAC1B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IACD,OAAO,SAAS,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAClC,OAAO,OAAO,KAAK,YAAY,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,KAAyB,EAAE,QAAiB;IAC9D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IACxC,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,CAAA;AACvD,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACrB,MAAM,OAAO,GAAe,EAAE,CAAA;IAC9B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,OAAO,CAAA;IAElE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,KAAK,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;YACnE,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;QAC5B,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC/B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAE7B,OAAO;QACN,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACtE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;QAClD,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC1D,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;QACpD,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,aAAa,EAAE;QACxB,SAAS,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,4 +23,61 @@ export declare function parseTraceparent(header: string): {
|
|
|
23
23
|
* Create W3C Trace Context traceparent header
|
|
24
24
|
*/
|
|
25
25
|
export declare function createTraceparent(traceId: string, spanId: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* W3C Trace Context tracestate entry
|
|
28
|
+
*/
|
|
29
|
+
export interface TracestateEntry {
|
|
30
|
+
/** Vendor/tenant key (e.g., 'vestig', 'datadog') */
|
|
31
|
+
key: string;
|
|
32
|
+
/** Value associated with the key */
|
|
33
|
+
value: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Parse W3C Trace Context tracestate header
|
|
37
|
+
*
|
|
38
|
+
* Format: key1=value1,key2=value2,key3=value3
|
|
39
|
+
* Example: vestig=abc123,dd=server:xyz
|
|
40
|
+
*
|
|
41
|
+
* Per the W3C spec:
|
|
42
|
+
* - Keys may be simple (e.g., "vestig") or multi-tenant (e.g., "vendor@tenant")
|
|
43
|
+
* - Values must not contain ',' or '='
|
|
44
|
+
* - Maximum 32 list members
|
|
45
|
+
*
|
|
46
|
+
* @param header - The tracestate header value
|
|
47
|
+
* @returns Array of parsed entries, or empty array if invalid
|
|
48
|
+
*/
|
|
49
|
+
export declare function parseTracestate(header: string): TracestateEntry[];
|
|
50
|
+
/**
|
|
51
|
+
* Create W3C Trace Context tracestate header from entries
|
|
52
|
+
*
|
|
53
|
+
* @param entries - Array of key-value entries
|
|
54
|
+
* @returns Formatted tracestate header value
|
|
55
|
+
*/
|
|
56
|
+
export declare function createTracestate(entries: TracestateEntry[]): string;
|
|
57
|
+
/**
|
|
58
|
+
* Get a value from a tracestate by key
|
|
59
|
+
*
|
|
60
|
+
* @param entries - Parsed tracestate entries
|
|
61
|
+
* @param key - Key to look up
|
|
62
|
+
* @returns Value if found, undefined otherwise
|
|
63
|
+
*/
|
|
64
|
+
export declare function getTracestateValue(entries: TracestateEntry[], key: string): string | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Set or update a value in tracestate entries
|
|
67
|
+
* New entries are prepended (most recently updated first)
|
|
68
|
+
*
|
|
69
|
+
* @param entries - Existing tracestate entries
|
|
70
|
+
* @param key - Key to set
|
|
71
|
+
* @param value - Value to set
|
|
72
|
+
* @returns New array of entries with the updated value
|
|
73
|
+
*/
|
|
74
|
+
export declare function setTracestateValue(entries: TracestateEntry[], key: string, value: string): TracestateEntry[];
|
|
75
|
+
/**
|
|
76
|
+
* Delete a key from tracestate entries
|
|
77
|
+
*
|
|
78
|
+
* @param entries - Existing tracestate entries
|
|
79
|
+
* @param key - Key to delete
|
|
80
|
+
* @returns New array of entries without the key
|
|
81
|
+
*/
|
|
82
|
+
export declare function deleteTracestateKey(entries: TracestateEntry[], key: string): TracestateEntry[];
|
|
26
83
|
//# sourceMappingURL=correlation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlation.d.ts","sourceRoot":"","sources":["../../src/context/correlation.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;IACjD,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACd,GAAG,IAAI,CAQP;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzE"}
|
|
1
|
+
{"version":3,"file":"correlation.d.ts","sourceRoot":"","sources":["../../src/context/correlation.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;IACjD,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACd,GAAG,IAAI,CAQP;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,CAmCjE;AA8BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,CAYnE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,eAAe,EAAE,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACX,eAAe,EAAE,CAMnB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAE9F"}
|
|
@@ -50,4 +50,130 @@ export function parseTraceparent(header) {
|
|
|
50
50
|
export function createTraceparent(traceId, spanId) {
|
|
51
51
|
return `00-${traceId}-${spanId}-01`;
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Parse W3C Trace Context tracestate header
|
|
55
|
+
*
|
|
56
|
+
* Format: key1=value1,key2=value2,key3=value3
|
|
57
|
+
* Example: vestig=abc123,dd=server:xyz
|
|
58
|
+
*
|
|
59
|
+
* Per the W3C spec:
|
|
60
|
+
* - Keys may be simple (e.g., "vestig") or multi-tenant (e.g., "vendor@tenant")
|
|
61
|
+
* - Values must not contain ',' or '='
|
|
62
|
+
* - Maximum 32 list members
|
|
63
|
+
*
|
|
64
|
+
* @param header - The tracestate header value
|
|
65
|
+
* @returns Array of parsed entries, or empty array if invalid
|
|
66
|
+
*/
|
|
67
|
+
export function parseTracestate(header) {
|
|
68
|
+
if (!header || typeof header !== 'string') {
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
const entries = [];
|
|
72
|
+
const parts = header.split(',');
|
|
73
|
+
// W3C spec allows maximum 32 list members
|
|
74
|
+
const maxEntries = 32;
|
|
75
|
+
let count = 0;
|
|
76
|
+
for (const part of parts) {
|
|
77
|
+
if (count >= maxEntries)
|
|
78
|
+
break;
|
|
79
|
+
const trimmed = part.trim();
|
|
80
|
+
if (!trimmed)
|
|
81
|
+
continue;
|
|
82
|
+
const eqIndex = trimmed.indexOf('=');
|
|
83
|
+
if (eqIndex === -1)
|
|
84
|
+
continue;
|
|
85
|
+
const key = trimmed.slice(0, eqIndex).trim();
|
|
86
|
+
const value = trimmed.slice(eqIndex + 1).trim();
|
|
87
|
+
// Validate key format (simple key or vendor@tenant format)
|
|
88
|
+
if (!isValidTracestateKey(key))
|
|
89
|
+
continue;
|
|
90
|
+
// Validate value (no commas or equals signs)
|
|
91
|
+
if (!isValidTracestateValue(value))
|
|
92
|
+
continue;
|
|
93
|
+
entries.push({ key, value });
|
|
94
|
+
count++;
|
|
95
|
+
}
|
|
96
|
+
return entries;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Validate tracestate key format
|
|
100
|
+
* Keys must be: a-z, 0-9, _, -, *, / and optionally @ for multi-tenant
|
|
101
|
+
*/
|
|
102
|
+
function isValidTracestateKey(key) {
|
|
103
|
+
if (!key || key.length > 256)
|
|
104
|
+
return false;
|
|
105
|
+
// Simple key: lowercase letters, digits, underscore, hyphen, asterisk, forward slash
|
|
106
|
+
// Multi-tenant key: vendor@tenant
|
|
107
|
+
const keyRegex = /^[a-z][a-z0-9_\-*\/]*(@[a-z][a-z0-9_\-*\/]*)?$/;
|
|
108
|
+
return keyRegex.test(key);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Validate tracestate value format
|
|
112
|
+
* Values must not contain comma, equals, or control characters
|
|
113
|
+
*/
|
|
114
|
+
function isValidTracestateValue(value) {
|
|
115
|
+
if (!value || value.length > 256)
|
|
116
|
+
return false;
|
|
117
|
+
// No comma, equals, or control characters (0x00-0x1F, 0x7F)
|
|
118
|
+
for (let i = 0; i < value.length; i++) {
|
|
119
|
+
const code = value.charCodeAt(i);
|
|
120
|
+
if (code < 0x20 || code === 0x2c || code === 0x3d || code === 0x7f) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Create W3C Trace Context tracestate header from entries
|
|
128
|
+
*
|
|
129
|
+
* @param entries - Array of key-value entries
|
|
130
|
+
* @returns Formatted tracestate header value
|
|
131
|
+
*/
|
|
132
|
+
export function createTracestate(entries) {
|
|
133
|
+
if (!entries || entries.length === 0) {
|
|
134
|
+
return '';
|
|
135
|
+
}
|
|
136
|
+
// Limit to 32 entries per W3C spec
|
|
137
|
+
const limitedEntries = entries.slice(0, 32);
|
|
138
|
+
return limitedEntries
|
|
139
|
+
.filter((e) => isValidTracestateKey(e.key) && isValidTracestateValue(e.value))
|
|
140
|
+
.map((e) => `${e.key}=${e.value}`)
|
|
141
|
+
.join(',');
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Get a value from a tracestate by key
|
|
145
|
+
*
|
|
146
|
+
* @param entries - Parsed tracestate entries
|
|
147
|
+
* @param key - Key to look up
|
|
148
|
+
* @returns Value if found, undefined otherwise
|
|
149
|
+
*/
|
|
150
|
+
export function getTracestateValue(entries, key) {
|
|
151
|
+
const entry = entries.find((e) => e.key === key);
|
|
152
|
+
return entry?.value;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Set or update a value in tracestate entries
|
|
156
|
+
* New entries are prepended (most recently updated first)
|
|
157
|
+
*
|
|
158
|
+
* @param entries - Existing tracestate entries
|
|
159
|
+
* @param key - Key to set
|
|
160
|
+
* @param value - Value to set
|
|
161
|
+
* @returns New array of entries with the updated value
|
|
162
|
+
*/
|
|
163
|
+
export function setTracestateValue(entries, key, value) {
|
|
164
|
+
// Remove existing entry with same key
|
|
165
|
+
const filtered = entries.filter((e) => e.key !== key);
|
|
166
|
+
// Prepend new entry (W3C spec: most recently updated first)
|
|
167
|
+
return [{ key, value }, ...filtered].slice(0, 32);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Delete a key from tracestate entries
|
|
171
|
+
*
|
|
172
|
+
* @param entries - Existing tracestate entries
|
|
173
|
+
* @param key - Key to delete
|
|
174
|
+
* @returns New array of entries without the key
|
|
175
|
+
*/
|
|
176
|
+
export function deleteTracestateKey(entries, key) {
|
|
177
|
+
return entries.filter((e) => e.key !== key);
|
|
178
|
+
}
|
|
53
179
|
//# sourceMappingURL=correlation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlation.js","sourceRoot":"","sources":["../../src/context/correlation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,SAAS,SAAS,CAAC,MAAc;IAChC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACxC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAA;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC9B,OAAO,SAAS,CAAC,EAAE,CAAC,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO,SAAS,CAAC,EAAE,CAAC,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAChC,OAAO,MAAM,CAAC,UAAU,EAAE,CAAA;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAI9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACnC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,CAAA;IACxC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAClD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAChD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,MAAc;IAChE,OAAO,MAAM,OAAO,IAAI,MAAM,KAAK,CAAA;AACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"correlation.js","sourceRoot":"","sources":["../../src/context/correlation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,SAAS,SAAS,CAAC,MAAc;IAChC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACxC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAA;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC9B,OAAO,SAAS,CAAC,EAAE,CAAC,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO,SAAS,CAAC,EAAE,CAAC,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAChC,OAAO,MAAM,CAAC,UAAU,EAAE,CAAA;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAI9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACnC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,CAAA;IACxC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAClD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAChD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,MAAc;IAChE,OAAO,MAAM,OAAO,IAAI,MAAM,KAAK,CAAA;AACpC,CAAC;AAYD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC7C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAA;IACV,CAAC;IAED,MAAM,OAAO,GAAsB,EAAE,CAAA;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE/B,0CAA0C;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,KAAK,IAAI,UAAU;YAAE,MAAK;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO;YAAE,SAAQ;QAEtB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,OAAO,KAAK,CAAC,CAAC;YAAE,SAAQ;QAE5B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAE/C,2DAA2D;QAC3D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;YAAE,SAAQ;QAExC,6CAA6C;QAC7C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YAAE,SAAQ;QAE5C,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5B,KAAK,EAAE,CAAA;IACR,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACxC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAA;IAC1C,qFAAqF;IACrF,kCAAkC;IAClC,MAAM,QAAQ,GAAG,gDAAgD,CAAA;IACjE,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,KAAa;IAC5C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAA;IAC9C,4DAA4D;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACpE,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IAC1D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAA;IACV,CAAC;IAED,mCAAmC;IACnC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAE3C,OAAO,cAAc;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC7E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;SACjC,IAAI,CAAC,GAAG,CAAC,CAAA;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA0B,EAAE,GAAW;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IAChD,OAAO,KAAK,EAAE,KAAK,CAAA;AACpB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CACjC,OAA0B,EAC1B,GAAW,EACX,KAAa;IAEb,sCAAsC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IAErD,4DAA4D;IAC5D,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA0B,EAAE,GAAW;IAC1E,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;AAC5C,CAAC"}
|
package/dist/context/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { LogContext } from '../types';
|
|
2
2
|
export { generateRequestId, generateSpanId, generateTraceId } from './correlation';
|
|
3
3
|
export { parseTraceparent, createTraceparent } from './correlation';
|
|
4
|
+
export { parseTracestate, createTracestate, getTracestateValue, setTracestateValue, deleteTracestateKey, } from './correlation';
|
|
5
|
+
export type { TracestateEntry } from './correlation';
|
|
4
6
|
/**
|
|
5
7
|
* Get the current context
|
|
6
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG1C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG1C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACnB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAsHpD;;GAEG;AACH,wBAAgB,UAAU,IAAI,UAAU,GAAG,SAAS,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAElE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAmBnF"}
|
package/dist/context/index.js
CHANGED
|
@@ -2,6 +2,7 @@ import { CAPABILITIES, IS_SERVER } from '../runtime';
|
|
|
2
2
|
import { generateRequestId, generateSpanId, generateTraceId } from './correlation';
|
|
3
3
|
export { generateRequestId, generateSpanId, generateTraceId } from './correlation';
|
|
4
4
|
export { parseTraceparent, createTraceparent } from './correlation';
|
|
5
|
+
export { parseTracestate, createTracestate, getTracestateValue, setTracestateValue, deleteTracestateKey, } from './correlation';
|
|
5
6
|
/**
|
|
6
7
|
* Global context manager for environments without AsyncLocalStorage
|
|
7
8
|
*/
|
|
@@ -42,7 +43,7 @@ class GlobalContextManager {
|
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
/**
|
|
45
|
-
* AsyncLocalStorage context manager for Node.js/Bun
|
|
46
|
+
* AsyncLocalStorage context manager for Node.js/Bun/Deno
|
|
46
47
|
*/
|
|
47
48
|
class AsyncLocalStorageContextManager {
|
|
48
49
|
storage = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAElF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export { createLogger, LoggerImpl } from './logger';
|
|
2
|
-
export type { Logger, LoggerConfig, LogLevel, LogEntry, LogMetadata, LogContext, Transport, TransportConfig, BatchTransportConfig, HTTPTransportConfig, FileTransportConfig, DatadogTransportConfig, SerializedError, Runtime, FieldMatcher, SanitizePattern, SanitizeConfig, SanitizePreset, Span, SpanCallback, SpanEvent, SpanOptions, SpanStatus, SpanSyncCallback, } from './types';
|
|
3
|
-
export { RUNTIME, CAPABILITIES, IS_NODE, IS_BUN, IS_EDGE, IS_BROWSER, IS_WORKER, IS_SERVER, } from './runtime';
|
|
2
|
+
export type { Logger, LoggerConfig, ResolvedLoggerConfig, LogLevel, LogEntry, LogMetadata, LogContext, Transport, TransportConfig, BatchTransportConfig, HTTPTransportConfig, FileTransportConfig, DatadogTransportConfig, SerializedError, Runtime, FieldMatcher, SanitizePattern, SanitizeConfig, SanitizePreset, Span, SpanCallback, SpanEvent, SpanOptions, SpanStatus, SpanSyncCallback, Sampler, SamplerConfig, SamplingConfig, ProbabilitySamplerConfig, RateLimitSamplerConfig, NamespaceSamplerConfig, } from './types';
|
|
3
|
+
export { RUNTIME, CAPABILITIES, IS_NODE, IS_BUN, IS_DENO, IS_EDGE, IS_BROWSER, IS_WORKER, IS_SERVER, } from './runtime';
|
|
4
4
|
export type { RuntimeCapabilities } from './runtime';
|
|
5
5
|
export { LOG_LEVELS, shouldLog, parseLogLevel } from './levels';
|
|
6
6
|
export { getDefaultConfig, mergeConfig, ENV_VARS } from './config';
|
|
7
|
-
export { getContext, withContext, withContextAsync, createCorrelationContext, generateRequestId, generateTraceId, generateSpanId, parseTraceparent, createTraceparent, } from './context';
|
|
7
|
+
export { getContext, withContext, withContextAsync, createCorrelationContext, generateRequestId, generateTraceId, generateSpanId, parseTraceparent, createTraceparent, parseTracestate, createTracestate, getTracestateValue, setTracestateValue, deleteTracestateKey, } from './context';
|
|
8
|
+
export type { TracestateEntry } from './context';
|
|
8
9
|
export { serializeError, isError, getErrorMessage } from './utils/error';
|
|
9
10
|
export { Sanitizer, sanitize, createSanitizer, getPreset, mergeConfigs, COMMON_PATTERNS, PRESETS, } from './utils/sanitize';
|
|
10
11
|
export { CircularBuffer } from './utils/buffer';
|
|
@@ -16,6 +17,7 @@ export { HTTPTransport, HTTPTransportError } from './transports/http';
|
|
|
16
17
|
export { FileTransport } from './transports/file';
|
|
17
18
|
export { DatadogTransport, DatadogTransportError } from './transports/datadog';
|
|
18
19
|
export { span, spanSync, startSpan, endSpan, getActiveSpan, withActiveSpan, SpanImpl, clearActiveSpans, getActiveSpanStackDepth, withSpanContext, withSpanContextAsync, } from './tracing';
|
|
20
|
+
export { createSampler, createSamplerFromConfig, createProbabilitySampler, createRateLimitSampler, createNamespaceSampler, createCompositeSampler, } from './sampling';
|
|
19
21
|
/**
|
|
20
22
|
* Default logger instance with auto-configuration
|
|
21
23
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACnD,YAAY,EACX,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,OAAO,EAEP,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EAEd,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACnD,YAAY,EACX,MAAM,EACN,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,OAAO,EAEP,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EAEd,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,gBAAgB,EAEhB,OAAO,EACP,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GACtB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACN,OAAO,EACP,YAAY,EACZ,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,GACT,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAGpD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAG/D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGlE,OAAO,EACN,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAEjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACnB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAGhD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,EACN,SAAS,EACT,QAAQ,EACR,eAAe,EACf,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,GACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAG9E,OAAO,EACN,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAa,EACb,cAAc,EACd,QAAQ,EAER,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,GACpB,MAAM,WAAW,CAAA;AAGlB,OAAO,EACN,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACtB,MAAM,YAAY,CAAA;AAKnB;;GAEG;AACH,eAAO,MAAM,GAAG,0BAAiB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
// Core exports
|
|
2
2
|
export { createLogger, LoggerImpl } from './logger';
|
|
3
3
|
// Runtime detection
|
|
4
|
-
export { RUNTIME, CAPABILITIES, IS_NODE, IS_BUN, IS_EDGE, IS_BROWSER, IS_WORKER, IS_SERVER, } from './runtime';
|
|
4
|
+
export { RUNTIME, CAPABILITIES, IS_NODE, IS_BUN, IS_DENO, IS_EDGE, IS_BROWSER, IS_WORKER, IS_SERVER, } from './runtime';
|
|
5
5
|
// Log levels
|
|
6
6
|
export { LOG_LEVELS, shouldLog, parseLogLevel } from './levels';
|
|
7
7
|
// Configuration
|
|
8
8
|
export { getDefaultConfig, mergeConfig, ENV_VARS } from './config';
|
|
9
9
|
// Context management
|
|
10
|
-
export { getContext, withContext, withContextAsync, createCorrelationContext, generateRequestId, generateTraceId, generateSpanId, parseTraceparent, createTraceparent,
|
|
10
|
+
export { getContext, withContext, withContextAsync, createCorrelationContext, generateRequestId, generateTraceId, generateSpanId, parseTraceparent, createTraceparent,
|
|
11
|
+
// W3C Trace Context tracestate support
|
|
12
|
+
parseTracestate, createTracestate, getTracestateValue, setTracestateValue, deleteTracestateKey, } from './context';
|
|
11
13
|
// Utilities
|
|
12
14
|
export { serializeError, isError, getErrorMessage } from './utils/error';
|
|
13
15
|
export { Sanitizer, sanitize, createSanitizer, getPreset, mergeConfigs, COMMON_PATTERNS, PRESETS, } from './utils/sanitize';
|
|
@@ -22,6 +24,8 @@ export { DatadogTransport, DatadogTransportError } from './transports/datadog';
|
|
|
22
24
|
export { span, spanSync, startSpan, endSpan, getActiveSpan, withActiveSpan, SpanImpl,
|
|
23
25
|
// Context utilities (for advanced use cases)
|
|
24
26
|
clearActiveSpans, getActiveSpanStackDepth, withSpanContext, withSpanContextAsync, } from './tracing';
|
|
27
|
+
// Sampling - factory functions for creating samplers
|
|
28
|
+
export { createSampler, createSamplerFromConfig, createProbabilitySampler, createRateLimitSampler, createNamespaceSampler, createCompositeSampler, } from './sampling';
|
|
25
29
|
// Default logger instance (convenience)
|
|
26
30
|
import { createLogger } from './logger';
|
|
27
31
|
/**
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAsCnD,oBAAoB;AACpB,OAAO,EACN,OAAO,EACP,YAAY,EACZ,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,SAAS,GACT,MAAM,WAAW,CAAA;AAGlB,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE/D,gBAAgB;AAChB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAElE,qBAAqB;AACrB,OAAO,EACN,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB;AACjB,uCAAuC;AACvC,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACnB,MAAM,WAAW,CAAA;AAGlB,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,EACN,SAAS,EACT,QAAQ,EACR,eAAe,EACf,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,GACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAG/C,aAAa;AACb,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE9E,+CAA+C;AAC/C,OAAO,EACN,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAa,EACb,cAAc,EACd,QAAQ;AACR,6CAA6C;AAC7C,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,GACpB,MAAM,WAAW,CAAA;AAElB,qDAAqD;AACrD,OAAO,EACN,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACtB,MAAM,YAAY,CAAA;AAEnB,wCAAwC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAA"}
|
package/dist/logger.d.ts
CHANGED
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAMA,OAAO,EAIN,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAGX,QAAQ,EACR,WAAW,EACX,MAAM,EACN,YAAY,EAEZ,SAAS,EACT,MAAM,SAAS,CAAA;AAsDhB;;GAEG;AACH,qBAAa,UAAW,YAAW,MAAM;IACxC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAuB;gBAE1B,MAAM,CAAC,EAAE,YAAY;IAiBjC;;OAEG;IACH,OAAO,CAAC,GAAG;IAuDX;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IACpD,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IACpD,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IACnD,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IACnD,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK9B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IACpD,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/B;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM;IA2BhE;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B;;OAEG;IACH,QAAQ,IAAI,QAAQ;IAIpB;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAgBxC;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAetC;;OAEG;IACH,aAAa,IAAI,SAAS,SAAS,EAAE;IAIrC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAKnF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC;CAI5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAE1D"}
|
package/dist/logger.js
CHANGED
|
@@ -2,6 +2,7 @@ import { mergeConfig } from './config';
|
|
|
2
2
|
import { getContext } from './context';
|
|
3
3
|
import { LOG_LEVELS, shouldLog } from './levels';
|
|
4
4
|
import { RUNTIME } from './runtime';
|
|
5
|
+
import { createSampler } from './sampling';
|
|
5
6
|
import { ConsoleTransport } from './transports/console';
|
|
6
7
|
import { span as spanFn, spanSync as spanSyncFn, } from './tracing';
|
|
7
8
|
import { isError, serializeError } from './utils/error';
|
|
@@ -62,8 +63,13 @@ export class LoggerImpl {
|
|
|
62
63
|
transports = [];
|
|
63
64
|
children = new Map();
|
|
64
65
|
initialized = false;
|
|
66
|
+
sampler = null;
|
|
65
67
|
constructor(config) {
|
|
66
68
|
this.config = mergeConfig(config);
|
|
69
|
+
// Initialize sampler if configured
|
|
70
|
+
if (this.config.sampling) {
|
|
71
|
+
this.sampler = createSampler(this.config.sampling);
|
|
72
|
+
}
|
|
67
73
|
// Add default console transport
|
|
68
74
|
this.transports.push(new ConsoleTransport({
|
|
69
75
|
structured: this.config.structured,
|
|
@@ -101,6 +107,10 @@ export class LoggerImpl {
|
|
|
101
107
|
const { error: _, ...rest } = entry.metadata;
|
|
102
108
|
entry.metadata = Object.keys(rest).length > 0 ? rest : undefined;
|
|
103
109
|
}
|
|
110
|
+
// Apply sampling if configured
|
|
111
|
+
if (this.sampler && !this.sampler.shouldSample(entry)) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
104
114
|
// Send to all enabled transports
|
|
105
115
|
for (const transport of this.transports) {
|
|
106
116
|
// Check if transport is enabled
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EACN,IAAI,IAAI,MAAM,EACd,QAAQ,IAAI,UAAU,GAKtB,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EACN,IAAI,IAAI,MAAM,EACd,QAAQ,IAAI,UAAU,GAKtB,MAAM,WAAW,CAAA;AAWlB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C;;GAEG;AACH,SAAS,UAAU,CAAC,IAAe;IAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACrC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IAErB,6CAA6C;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAA;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAE1B,6DAA6D;QAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/F,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAgB,EAAE,CAAA;QACrD,CAAC;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAgB,EAAE,CAAA;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,QAAQ,CAAC,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;YACrC,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACpD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;YAC9B,CAAC;QACF,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;IAC7B,CAAC;IAED,8CAA8C;IAC9C,MAAM,QAAQ,GAAgB,EAAE,CAAA;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,QAAQ,CAAC,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;QACrC,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACP,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;QAC1B,CAAC;IACF,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,UAAU;IACd,MAAM,CAAsB;IAC5B,UAAU,GAAgB,EAAE,CAAA;IAC5B,QAAQ,GAA4B,IAAI,GAAG,EAAE,CAAA;IAC7C,WAAW,GAAG,KAAK,CAAA;IACnB,OAAO,GAAmB,IAAI,CAAA;IAEtC,YAAY,MAAqB;QAChC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QAEjC,mCAAmC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACnD,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CACnB,IAAI,gBAAgB,CAAC;YACpB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;SAC/B,CAAC,CACF,CAAA;IACF,CAAC;IAED;;OAEG;IACK,GAAG,CAAC,KAAe,EAAE,IAAe;QAC3C,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAClE,OAAM;QACP,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAE9C,iCAAiC;QACjC,MAAM,YAAY,GAAG,UAAU,EAAE,CAAA;QAEjC,+BAA+B;QAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC7C,CAAC,CAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAiB;YACjE,CAAC,CAAC,QAAQ,CAAA;QAEX,kBAAkB;QAClB,MAAM,KAAK,GAAa;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,OAAO;YACP,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;YACnF,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACxC,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS;YAC7C,KAAK,EAAE,iBAAiB,CAAC,KAA0B;SACnD,CAAA;QAED,kDAAkD;QAClD,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC3B,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAA;YAC5C,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QACjE,CAAC;QAED,+BAA+B;QAC/B,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,OAAM;QACP,CAAC;QAED,iCAAiC;QACjC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,gCAAgC;YAChC,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;gBAAE,SAAQ;YAEhD,yCAAyC;YACzC,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAEjF,sCAAsC;YACtC,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAExE,oBAAoB;YACpB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACF,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,YAAyB;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;QAErE,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAA;QAC7C,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,YAAY,EAAE,CAAA;IAC7C,CAAC;IAKD,KAAK,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACxB,CAAC;IAID,KAAK,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACxB,CAAC;IAID,IAAI,CAAC,GAAG,IAAe;QACtB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACvB,CAAC;IAID,IAAI,CAAC,GAAG,IAAe;QACtB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACvB,CAAC;IAID,KAAK,CAAC,GAAG,IAAe;QACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAiB,EAAE,MAA8B;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;YAC1C,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,EAAE;YACzC,CAAC,CAAC,SAAS,CAAA;QAEZ,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC/C,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,MAAM,CAAA;QACd,CAAC;QAED,0BAA0B;QAC1B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC;YAC5B,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,MAAM;YACT,SAAS,EAAE,aAAa;YACxB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE;SACvD,CAAC,CAAA;QAEF,4BAA4B;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,KAAK,CAAA;IACb,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAe;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,QAAQ;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,MAAM;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,OAAO;QACN,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACV,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAAoB;QAChC,4BAA4B;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,IAAI,kBAAkB,CAAC,CAAA;QAC1E,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAE/B,8CAA8C;QAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChC,OAAO,CAAC,KAAK,CAAC,mCAAmC,SAAS,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAA;YAC1E,CAAC,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAC/D,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,SAAS,EAAE,CAAC;YACf,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnC,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAA;YAC7D,CAAC,CAAC,CAAA;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED;;OAEG;IACH,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAA;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACT,IAAI,IAAI,CAAC,WAAW;YAAE,OAAM;QAE5B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QACzD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACZ,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QAC5D,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,EAAmB,EAAE,OAAqB;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAClF,OAAO,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAI,IAAY,EAAE,EAAuB,EAAE,OAAqB;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAClF,OAAO,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAqB;IACjD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export declare const CAPABILITIES: RuntimeCapabilities;
|
|
|
22
22
|
*/
|
|
23
23
|
export declare const IS_NODE: boolean;
|
|
24
24
|
export declare const IS_BUN: boolean;
|
|
25
|
+
export declare const IS_DENO: boolean;
|
|
25
26
|
export declare const IS_EDGE: boolean;
|
|
26
27
|
export declare const IS_BROWSER: boolean;
|
|
27
28
|
export declare const IS_WORKER: boolean;
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,UAAU,EAAE,OAAO,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CAClB;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,UAAU,EAAE,OAAO,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CAClB;AA8FD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAAyB,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,mBAA0C,CAAA;AAErE;;GAEG;AACH,eAAO,MAAM,OAAO,SAAqB,CAAA;AACzC,eAAO,MAAM,MAAM,SAAoB,CAAA;AACvC,eAAO,MAAM,OAAO,SAAqB,CAAA;AACzC,eAAO,MAAM,OAAO,SAAqB,CAAA;AACzC,eAAO,MAAM,UAAU,SAAwB,CAAA;AAC/C,eAAO,MAAM,SAAS,SAAuB,CAAA;AAC7C,eAAO,MAAM,SAAS,SAA0C,CAAA"}
|
package/dist/runtime.js
CHANGED
|
@@ -19,6 +19,10 @@ function detectRuntime() {
|
|
|
19
19
|
if (typeof globalThis !== 'undefined' && 'Bun' in globalThis) {
|
|
20
20
|
return 'bun';
|
|
21
21
|
}
|
|
22
|
+
// Deno detection (must be before Node.js check since Deno 2.0+ has process global)
|
|
23
|
+
if (typeof globalThis !== 'undefined' && 'Deno' in globalThis) {
|
|
24
|
+
return 'deno';
|
|
25
|
+
}
|
|
22
26
|
// Edge runtime detection
|
|
23
27
|
if (typeof globalThis !== 'undefined') {
|
|
24
28
|
// Vercel Edge Runtime
|
|
@@ -64,8 +68,11 @@ function detectRuntime() {
|
|
|
64
68
|
*/
|
|
65
69
|
function detectCapabilities() {
|
|
66
70
|
const hasProc = typeof globalThis.process !== 'undefined';
|
|
71
|
+
// Deno 2.0+ has process global for Node.js compatibility
|
|
72
|
+
// Deno has AsyncLocalStorage via node:async_hooks (since v1.34+)
|
|
73
|
+
const hasALS = (hasProc && (RUNTIME === 'node' || RUNTIME === 'bun')) || RUNTIME === 'deno';
|
|
67
74
|
return {
|
|
68
|
-
hasAsyncLocalStorage:
|
|
75
|
+
hasAsyncLocalStorage: hasALS,
|
|
69
76
|
hasProcess: hasProc,
|
|
70
77
|
hasPerformance: typeof performance !== 'undefined',
|
|
71
78
|
hasConsole: typeof console !== 'undefined',
|
|
@@ -85,8 +92,9 @@ export const CAPABILITIES = detectCapabilities();
|
|
|
85
92
|
*/
|
|
86
93
|
export const IS_NODE = RUNTIME === 'node';
|
|
87
94
|
export const IS_BUN = RUNTIME === 'bun';
|
|
95
|
+
export const IS_DENO = RUNTIME === 'deno';
|
|
88
96
|
export const IS_EDGE = RUNTIME === 'edge';
|
|
89
97
|
export const IS_BROWSER = RUNTIME === 'browser';
|
|
90
98
|
export const IS_WORKER = RUNTIME === 'worker';
|
|
91
|
-
export const IS_SERVER = IS_NODE || IS_BUN || IS_EDGE;
|
|
99
|
+
export const IS_SERVER = IS_NODE || IS_BUN || IS_DENO || IS_EDGE;
|
|
92
100
|
//# sourceMappingURL=runtime.js.map
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,SAAS,cAAc;IACtB,IAAI,CAAC;QACJ,8CAA8C;QAC9C,MAAM,CAAC,GAAG,UAAU,CAAC,OAAqC,CAAA;QAC1D,OAAO,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACrB,mCAAmC;IACnC,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAA;IACb,CAAC;IAED,yBAAyB;IACzB,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QACvC,sBAAsB;QACtB,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;YACjC,OAAO,MAAM,CAAA;QACd,CAAC;QACD,mDAAmD;QACnD,IAAI,CAAC;YACJ,MAAM,CAAC,GAAG,UAAU,CAAC,OAAqC,CAAA;YAC1D,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,KAAK,MAAM,EAAE,CAAC;gBACrC,OAAO,MAAM,CAAA;YACd,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,2CAA2C;QAC5C,CAAC;QACD,iEAAiE;QACjE,IACC,QAAQ,IAAI,UAAU;YACtB,OAAQ,UAAsC,CAAC,OAAO,KAAK,UAAU;YACrE,OAAQ,UAAsC,CAAC,QAAQ,KAAK,UAAU;YACtE,OAAO,MAAM,KAAK,WAAW;YAC7B,CAAC,cAAc,EAAE,EAChB,CAAC;YACF,OAAO,MAAM,CAAA;QACd,CAAC;IACF,CAAC;IAED,oBAAoB;IACpB,IAAI,cAAc,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QACvD,OAAO,MAAM,CAAA;IACd,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACtE,OAAO,SAAS,CAAA;IACjB,CAAC;IAED,uBAAuB;IACvB,IACC,OAAO,IAAI,KAAK,WAAW;QAC3B,OAAQ,IAA2C,CAAC,aAAa,KAAK,UAAU,EAC/E,CAAC;QACF,OAAO,QAAQ,CAAA;IAChB,CAAC;IAED,OAAO,SAAS,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB;IAC1B,MAAM,OAAO,GAAG,OAAO,UAAU,CAAC,OAAO,KAAK,WAAW,CAAA;IACzD,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { NamespaceSamplerConfig, ProbabilitySamplerConfig, RateLimitSamplerConfig, Sampler, SamplerConfig, SamplerFn, SamplingConfig, } from './types';
|
|
2
|
+
export { createCompositeSampler, createNamespaceSampler, createProbabilitySampler, createRateLimitSampler, createSampler, createSamplerFromConfig, } from './sampler';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sampling/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,SAAS,EACT,cAAc,GACd,MAAM,SAAS,CAAA;AAEhB,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,uBAAuB,GACvB,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sampling/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,uBAAuB,GACvB,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { LogLevel } from '../types';
|
|
2
|
+
import type { NamespaceSamplerConfig, ProbabilitySamplerConfig, RateLimitSamplerConfig, Sampler, SamplerConfig, SamplingConfig } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Create a probability-based sampler
|
|
5
|
+
* Randomly samples logs based on configured probability
|
|
6
|
+
*/
|
|
7
|
+
export declare function createProbabilitySampler(config: ProbabilitySamplerConfig | number): Sampler;
|
|
8
|
+
/**
|
|
9
|
+
* Create a rate-limiting sampler
|
|
10
|
+
* Limits logs to a maximum rate per time window
|
|
11
|
+
*/
|
|
12
|
+
export declare function createRateLimitSampler(config: RateLimitSamplerConfig): Sampler;
|
|
13
|
+
/**
|
|
14
|
+
* Create a namespace-based sampler
|
|
15
|
+
* Applies different sampling rules based on log namespace
|
|
16
|
+
*/
|
|
17
|
+
export declare function createNamespaceSampler(config: NamespaceSamplerConfig): Sampler;
|
|
18
|
+
/**
|
|
19
|
+
* Create a composite sampler that wraps another with bypass rules
|
|
20
|
+
*/
|
|
21
|
+
export declare function createCompositeSampler(innerSampler: Sampler, options?: {
|
|
22
|
+
alwaysSampleErrors?: boolean;
|
|
23
|
+
bypassLevel?: LogLevel;
|
|
24
|
+
}): Sampler;
|
|
25
|
+
/**
|
|
26
|
+
* Create a sampler from a configuration object
|
|
27
|
+
*/
|
|
28
|
+
export declare function createSamplerFromConfig(config: SamplerConfig): Sampler;
|
|
29
|
+
/**
|
|
30
|
+
* Create a full sampler from SamplingConfig
|
|
31
|
+
*/
|
|
32
|
+
export declare function createSampler(config: SamplingConfig): Sampler | null;
|
|
33
|
+
//# sourceMappingURL=sampler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sampler.d.ts","sourceRoot":"","sources":["../../src/sampling/sampler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,QAAQ,EAAE,MAAM,UAAU,CAAA;AAElD,OAAO,KAAK,EACX,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,cAAc,EACd,MAAM,SAAS,CAAA;AAEhB;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,GAAG,OAAO,CAa3F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CA2B9E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAkD9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACrC,YAAY,EAAE,OAAO,EACrB,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,QAAQ,CAAA;CAAO,GACpE,OAAO,CAwBT;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAqBtE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,GAAG,IAAI,CAgBpE"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { shouldLog } from '../levels';
|
|
2
|
+
/**
|
|
3
|
+
* Create a probability-based sampler
|
|
4
|
+
* Randomly samples logs based on configured probability
|
|
5
|
+
*/
|
|
6
|
+
export function createProbabilitySampler(config) {
|
|
7
|
+
const probability = Math.max(0, Math.min(1, typeof config === 'number' ? config : config.probability));
|
|
8
|
+
function shouldSample(_entry) {
|
|
9
|
+
if (probability >= 1)
|
|
10
|
+
return true;
|
|
11
|
+
if (probability <= 0)
|
|
12
|
+
return false;
|
|
13
|
+
return Math.random() < probability;
|
|
14
|
+
}
|
|
15
|
+
return { shouldSample };
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a rate-limiting sampler
|
|
19
|
+
* Limits logs to a maximum rate per time window
|
|
20
|
+
*/
|
|
21
|
+
export function createRateLimitSampler(config) {
|
|
22
|
+
const windowMs = config.windowMs ?? 1000;
|
|
23
|
+
const maxPerWindow = config.maxPerSecond * (windowMs / 1000);
|
|
24
|
+
let currentWindow = 0;
|
|
25
|
+
let count = 0;
|
|
26
|
+
function shouldSample(_entry) {
|
|
27
|
+
const now = Date.now();
|
|
28
|
+
const window = Math.floor(now / windowMs);
|
|
29
|
+
// Reset counter on new window
|
|
30
|
+
if (window !== currentWindow) {
|
|
31
|
+
currentWindow = window;
|
|
32
|
+
count = 0;
|
|
33
|
+
}
|
|
34
|
+
// Check if we're under the limit
|
|
35
|
+
if (count < maxPerWindow) {
|
|
36
|
+
count++;
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return { shouldSample };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Create a namespace-based sampler
|
|
45
|
+
* Applies different sampling rules based on log namespace
|
|
46
|
+
*/
|
|
47
|
+
export function createNamespaceSampler(config) {
|
|
48
|
+
const defaultSampler = config.default ? createSamplerFromConfig(config.default) : null;
|
|
49
|
+
const exactSamplers = new Map();
|
|
50
|
+
const patterns = [];
|
|
51
|
+
if (config.namespaces) {
|
|
52
|
+
for (const [namespace, samplerConfig] of Object.entries(config.namespaces)) {
|
|
53
|
+
const sampler = createSamplerFromConfig(samplerConfig);
|
|
54
|
+
if (namespace.includes('*')) {
|
|
55
|
+
// Convert wildcard pattern to regex
|
|
56
|
+
const pattern = new RegExp('^' + namespace.replace(/\./g, '\\.').replace(/\*/g, '.*') + '$');
|
|
57
|
+
patterns.push({ pattern, sampler });
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
exactSamplers.set(namespace, sampler);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function shouldSample(entry) {
|
|
65
|
+
const namespace = entry.namespace || '';
|
|
66
|
+
// Check exact match first
|
|
67
|
+
const exactSampler = exactSamplers.get(namespace);
|
|
68
|
+
if (exactSampler) {
|
|
69
|
+
return exactSampler.shouldSample(entry);
|
|
70
|
+
}
|
|
71
|
+
// Check wildcard patterns
|
|
72
|
+
for (const { pattern, sampler } of patterns) {
|
|
73
|
+
if (pattern.test(namespace)) {
|
|
74
|
+
return sampler.shouldSample(entry);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Fall back to default
|
|
78
|
+
return defaultSampler ? defaultSampler.shouldSample(entry) : true;
|
|
79
|
+
}
|
|
80
|
+
function destroy() {
|
|
81
|
+
for (const sampler of exactSamplers.values()) {
|
|
82
|
+
sampler.destroy?.();
|
|
83
|
+
}
|
|
84
|
+
for (const { sampler } of patterns) {
|
|
85
|
+
sampler.destroy?.();
|
|
86
|
+
}
|
|
87
|
+
defaultSampler?.destroy?.();
|
|
88
|
+
}
|
|
89
|
+
return { shouldSample, destroy };
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Create a composite sampler that wraps another with bypass rules
|
|
93
|
+
*/
|
|
94
|
+
export function createCompositeSampler(innerSampler, options = {}) {
|
|
95
|
+
const alwaysSampleErrors = options.alwaysSampleErrors ?? true;
|
|
96
|
+
const bypassLevel = options.bypassLevel ?? 'error';
|
|
97
|
+
function shouldSample(entry) {
|
|
98
|
+
// Bypass sampling for entries with errors
|
|
99
|
+
if (alwaysSampleErrors && entry.error) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
// Bypass sampling for entries at or above bypass level
|
|
103
|
+
if (shouldLog(entry.level, bypassLevel)) {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
// Delegate to inner sampler
|
|
107
|
+
return innerSampler.shouldSample(entry);
|
|
108
|
+
}
|
|
109
|
+
function destroy() {
|
|
110
|
+
innerSampler.destroy?.();
|
|
111
|
+
}
|
|
112
|
+
return { shouldSample, destroy };
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Create a sampler from a configuration object
|
|
116
|
+
*/
|
|
117
|
+
export function createSamplerFromConfig(config) {
|
|
118
|
+
// Number shorthand for probability
|
|
119
|
+
if (typeof config === 'number') {
|
|
120
|
+
return createProbabilitySampler(config);
|
|
121
|
+
}
|
|
122
|
+
// Check for specific config types
|
|
123
|
+
if ('probability' in config) {
|
|
124
|
+
return createProbabilitySampler(config);
|
|
125
|
+
}
|
|
126
|
+
if ('maxPerSecond' in config) {
|
|
127
|
+
return createRateLimitSampler(config);
|
|
128
|
+
}
|
|
129
|
+
if ('default' in config || 'namespaces' in config) {
|
|
130
|
+
return createNamespaceSampler(config);
|
|
131
|
+
}
|
|
132
|
+
// Default to always sample
|
|
133
|
+
return createProbabilitySampler(1);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Create a full sampler from SamplingConfig
|
|
137
|
+
*/
|
|
138
|
+
export function createSampler(config) {
|
|
139
|
+
if (!config.enabled) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
// Check for undefined/null, not falsy (0 is a valid probability)
|
|
143
|
+
if (config.sampler === undefined || config.sampler === null) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
const innerSampler = createSamplerFromConfig(config.sampler);
|
|
147
|
+
return createCompositeSampler(innerSampler, {
|
|
148
|
+
alwaysSampleErrors: config.alwaysSampleErrors ?? true,
|
|
149
|
+
bypassLevel: config.bypassLevel ?? 'error',
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=sampler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sampler.js","sourceRoot":"","sources":["../../src/sampling/sampler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { LogEntry, LogLevel } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Sampler function signature
|
|
4
|
+
* Returns true if the log entry should be included, false to drop
|
|
5
|
+
*/
|
|
6
|
+
export type SamplerFn = (entry: LogEntry) => boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for probability-based sampling
|
|
9
|
+
*/
|
|
10
|
+
export interface ProbabilitySamplerConfig {
|
|
11
|
+
/** Sampling probability (0-1). 1 = 100%, 0.1 = 10% */
|
|
12
|
+
probability: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for rate-limiting sampling
|
|
16
|
+
*/
|
|
17
|
+
export interface RateLimitSamplerConfig {
|
|
18
|
+
/** Maximum logs per second */
|
|
19
|
+
maxPerSecond: number;
|
|
20
|
+
/** Bucket size in milliseconds (default: 1000) */
|
|
21
|
+
windowMs?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Configuration for namespace-based sampling
|
|
25
|
+
*/
|
|
26
|
+
export interface NamespaceSamplerConfig {
|
|
27
|
+
/** Default sampling config for all namespaces */
|
|
28
|
+
default?: SamplerConfig;
|
|
29
|
+
/** Namespace-specific overrides (supports wildcards like 'api.*') */
|
|
30
|
+
namespaces?: Record<string, SamplerConfig>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Combined sampler configuration
|
|
34
|
+
*/
|
|
35
|
+
export type SamplerConfig = number | ProbabilitySamplerConfig | RateLimitSamplerConfig | NamespaceSamplerConfig;
|
|
36
|
+
/**
|
|
37
|
+
* Full sampling configuration for the logger
|
|
38
|
+
*/
|
|
39
|
+
export interface SamplingConfig {
|
|
40
|
+
/** Enable/disable sampling (default: false) */
|
|
41
|
+
enabled?: boolean;
|
|
42
|
+
/** Sampler configuration */
|
|
43
|
+
sampler?: SamplerConfig;
|
|
44
|
+
/** Always sample errors regardless of sampler (default: true) */
|
|
45
|
+
alwaysSampleErrors?: boolean;
|
|
46
|
+
/** Minimum log level to bypass sampling (default: 'error') */
|
|
47
|
+
bypassLevel?: LogLevel;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Sampler instance interface
|
|
51
|
+
*/
|
|
52
|
+
export interface Sampler {
|
|
53
|
+
/** Check if a log entry should be sampled (included) */
|
|
54
|
+
shouldSample(entry: LogEntry): boolean;
|
|
55
|
+
/** Optional cleanup method */
|
|
56
|
+
destroy?(): void;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sampling/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAElD;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,iDAAiD;IACjD,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GACtB,MAAM,GACN,wBAAwB,GACxB,sBAAsB,GACtB,sBAAsB,CAAA;AAEzB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,QAAQ,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACvB,wDAAwD;IACxD,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAA;IACtC,8BAA8B;IAC9B,OAAO,CAAC,IAAI,IAAI,CAAA;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sampling/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tracing/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAWnC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAEzC;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,IAAI,GAAG,SAAS,CAE1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,IAAI,IAAI,GAAG,SAAS,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAU7D;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tracing/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAWnC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAEzC;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,IAAI,GAAG,SAAS,CAE1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,IAAI,IAAI,GAAG,SAAS,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAU7D;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAU1F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tracing/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC;;;;;;GAMG;AACH,IAAI,eAAe,GAAW,EAAE,CAAA;AAEhC;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAU;IAClC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO;IACtB,OAAO,eAAe,CAAC,GAAG,EAAE,CAAA;AAC7B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa;IAC5B,OAAO,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC/B,eAAe,GAAG,EAAE,CAAA;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACtC,OAAO,eAAe,CAAC,MAAM,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAI,IAAU,EAAE,EAAW;IACzD,gDAAgD;IAChD,OAAO,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE;QACvE,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,IAAI,CAAC;YACJ,OAAO,EAAE,EAAE,CAAA;QACZ,CAAC;gBAAS,CAAC;YACV,OAAO,EAAE,CAAA;QACV,CAAC;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tracing/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC;;;;;;GAMG;AACH,IAAI,eAAe,GAAW,EAAE,CAAA;AAEhC;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAU;IAClC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO;IACtB,OAAO,eAAe,CAAC,GAAG,EAAE,CAAA;AAC7B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa;IAC5B,OAAO,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC/B,eAAe,GAAG,EAAE,CAAA;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACtC,OAAO,eAAe,CAAC,MAAM,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAI,IAAU,EAAE,EAAW;IACzD,gDAAgD;IAChD,OAAO,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE;QACvE,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,IAAI,CAAC;YACJ,OAAO,EAAE,EAAE,CAAA;QACZ,CAAC;gBAAS,CAAC;YACV,OAAO,EAAE,CAAA;QACV,CAAC;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAI,IAAU,EAAE,EAAoB;IAC7E,gDAAgD;IAChD,OAAO,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE;QAC7E,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,IAAI,CAAC;YACJ,OAAO,MAAM,EAAE,EAAE,CAAA;QAClB,CAAC;gBAAS,CAAC;YACV,OAAO,EAAE,CAAA;QACV,CAAC;IACF,CAAC,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/tracing/functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/tracing/functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAKhF,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,IAAI,CAAC,CAAC,EAC3B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAkBZ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,CAiB3F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAInE;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAG7C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI,CAK7D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SpanImpl } from './span';
|
|
2
|
-
import { getActiveSpan, pushSpan, popSpan, withSpanContext, withSpanContextAsync
|
|
2
|
+
import { getActiveSpan, pushSpan, popSpan, withSpanContext, withSpanContextAsync } from './context';
|
|
3
3
|
// Re-export for convenience
|
|
4
4
|
export { getActiveSpan } from './context';
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/tracing/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/tracing/functions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEnG,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACzB,IAAY,EACZ,EAAmB,EACnB,OAAqB;IAErB,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAErC,OAAO,oBAAoB,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;QACzC,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1B,sDAAsD;YACtD,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC1B,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;YACD,OAAO,MAAM,CAAA;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC5E,MAAM,KAAK,CAAA;QACZ,CAAC;gBAAS,CAAC;YACV,CAAC,CAAC,GAAG,EAAE,CAAA;QACR,CAAC;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CAAI,IAAY,EAAE,EAAuB,EAAE,OAAqB;IACvF,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAErC,OAAO,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE;QAC9B,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YACpB,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC1B,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;YACD,OAAO,MAAM,CAAA;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC5E,MAAM,KAAK,CAAA;QACZ,CAAC;gBAAS,CAAC;YACV,CAAC,CAAC,GAAG,EAAE,CAAA;QACR,CAAC;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,OAAqB;IAC5D,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACrC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACX,OAAO,CAAC,CAAA;AACT,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,SAAe;IACtC,SAAS,CAAC,GAAG,EAAE,CAAA;IACf,OAAO,EAAE,CAAA;AACV,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,EAAwB;IACtD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,IAAI,MAAM,EAAE,CAAC;QACZ,EAAE,CAAC,MAAM,CAAC,CAAA;IACX,CAAC;AACF,CAAC"}
|
package/dist/tracing/index.d.ts
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
* }
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
|
-
export type { Span, SpanEvent, SpanOptions, SpanStatus, SpanCallback, SpanSyncCallback } from './types';
|
|
33
|
+
export type { Span, SpanEvent, SpanOptions, SpanStatus, SpanCallback, SpanSyncCallback, } from './types';
|
|
34
34
|
export { SpanImpl } from './span';
|
|
35
35
|
export { span, spanSync, startSpan, endSpan, getActiveSpan, withActiveSpan, } from './functions';
|
|
36
36
|
export { clearActiveSpans, getActiveSpanStackDepth, withSpanContext, withSpanContextAsync, } from './context';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,YAAY,EACX,IAAI,EACJ,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,gBAAgB,GAChB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGjC,OAAO,EACN,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAa,EACb,cAAc,GACd,MAAM,aAAa,CAAA;AAGpB,OAAO,EACN,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,GACpB,MAAM,WAAW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAYH,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,YAAY;AACZ,OAAO,EACN,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAa,EACb,cAAc,GACd,MAAM,aAAa,CAAA;AAEpB,6CAA6C;AAC7C,OAAO,EACN,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,GACpB,MAAM,WAAW,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error';
|
|
|
5
5
|
/**
|
|
6
6
|
* Runtime environment detection
|
|
7
7
|
*/
|
|
8
|
-
export type Runtime = 'node' | 'bun' | 'edge' | 'browser' | 'worker' | 'unknown';
|
|
8
|
+
export type Runtime = 'node' | 'bun' | 'deno' | 'edge' | 'browser' | 'worker' | 'unknown';
|
|
9
9
|
/**
|
|
10
10
|
* Metadata attached to log entries
|
|
11
11
|
*/
|
|
@@ -86,6 +86,7 @@ export interface SanitizeConfig {
|
|
|
86
86
|
* Available sanitization presets
|
|
87
87
|
*/
|
|
88
88
|
export type SanitizePreset = 'none' | 'minimal' | 'default' | 'gdpr' | 'hipaa' | 'pci-dss';
|
|
89
|
+
export type { NamespaceSamplerConfig, ProbabilitySamplerConfig, RateLimitSamplerConfig, Sampler, SamplerConfig, SamplingConfig, } from './sampling/types';
|
|
89
90
|
/**
|
|
90
91
|
* Logger configuration options
|
|
91
92
|
*/
|
|
@@ -104,7 +105,41 @@ export interface LoggerConfig {
|
|
|
104
105
|
context?: LogContext;
|
|
105
106
|
/** Logger namespace for child loggers */
|
|
106
107
|
namespace?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Sampling configuration to reduce log volume in production.
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* // Sample 10% of logs
|
|
114
|
+
* createLogger({ sampling: { enabled: true, sampler: 0.1 } })
|
|
115
|
+
*
|
|
116
|
+
* // Rate limit to 100 logs/second
|
|
117
|
+
* createLogger({ sampling: { enabled: true, sampler: { maxPerSecond: 100 } } })
|
|
118
|
+
*
|
|
119
|
+
* // Different rates per namespace
|
|
120
|
+
* createLogger({
|
|
121
|
+
* sampling: {
|
|
122
|
+
* enabled: true,
|
|
123
|
+
* sampler: {
|
|
124
|
+
* default: { probability: 0.1 },
|
|
125
|
+
* namespaces: {
|
|
126
|
+
* 'auth.*': 1, // 100% for auth
|
|
127
|
+
* 'db.*': { maxPerSecond: 50 }
|
|
128
|
+
* }
|
|
129
|
+
* }
|
|
130
|
+
* }
|
|
131
|
+
* })
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
sampling?: import('./sampling/types').SamplingConfig;
|
|
107
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Resolved logger configuration with all required fields populated.
|
|
138
|
+
* Note: `sampling` remains optional as it's disabled by default.
|
|
139
|
+
*/
|
|
140
|
+
export type ResolvedLoggerConfig = Required<Omit<LoggerConfig, 'sampling'>> & {
|
|
141
|
+
sampling?: import('./sampling/types').SamplingConfig;
|
|
142
|
+
};
|
|
108
143
|
/**
|
|
109
144
|
* Base transport configuration
|
|
110
145
|
*/
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAEpE;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vestig",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Leave a trace. A modern, runtime-agnostic structured logging library with automatic PII sanitization and context propagation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
"import": "./dist/context/index.js"
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
|
-
"files": [
|
|
19
|
-
"dist"
|
|
20
|
-
],
|
|
18
|
+
"files": ["dist"],
|
|
21
19
|
"sideEffects": false,
|
|
22
20
|
"scripts": {
|
|
23
21
|
"build": "tsc",
|