@manifest-cyber/observability-ts 0.2.6 → 0.2.7
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/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +42 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +77 -0
- package/dist/init.js.map +1 -0
- package/dist/tracing/types.d.ts +12 -0
- package/dist/tracing/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -55,5 +55,7 @@ export { injectTraceContext, extractTraceContext, getTraceparent, parseTracepare
|
|
|
55
55
|
export type { Span, Tracer, Context, SpanAttributes } from '@opentelemetry/api';
|
|
56
56
|
export { SpanStatusCode, SpanKind } from '@opentelemetry/api';
|
|
57
57
|
export type { ServiceMetricsConfig, MetricLabels, DurationMetricOptions, Logger, } from './types';
|
|
58
|
-
export type { TracingConfig, ExporterConfig, SamplingConfig, SpanOptions, TracedResult, HttpSpanAttributes, DbSpanAttributes, MessagingSpanAttributes, } from './tracing/types';
|
|
58
|
+
export type { TracingConfig, ExporterConfig, SamplingConfig, SpanOptions, TracedResult, HttpSpanAttributes, DbSpanAttributes, MessagingSpanAttributes, TraceContext, } from './tracing/types';
|
|
59
|
+
export { initObservability } from './init';
|
|
60
|
+
export type { InitObservabilityConfig, InitObservabilityResult } from './init';
|
|
59
61
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAOH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,OAAO,EACP,gBAAgB,EAAE,mCAAmC;AACrD,WAAW,EACX,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EACL,KAAK,EACL,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvE,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9D,YAAY,EACV,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,MAAM,GACP,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAOH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,OAAO,EACP,gBAAgB,EAAE,mCAAmC;AACrD,WAAW,EACX,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EACL,KAAK,EACL,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvE,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9D,YAAY,EACV,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,MAAM,GACP,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,YAAY,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
-
exports.SpanKind = exports.SpanStatusCode = exports.withExtractedContextAsync = exports.withExtractedContext = exports.extractMessageTraceContext = exports.createMessageTraceContext = exports.createContextFromTraceparent = exports.parseTraceparent = exports.getTraceparent = exports.extractTraceContext = exports.injectTraceContext = exports.withActiveSpanAsync = exports.withActiveSpan = exports.recordException = exports.setSpanAttributes = exports.addSpanEvent = exports.getCurrentSpanId = exports.getCurrentTraceId = exports.getCurrentSpan = exports.withSpanResult = exports.withSpan = exports.createSpan = exports.getTracer = exports.shutdownTracing = exports.getTracerProvider = exports.isTracingInitialized = exports.initTracing = exports.trackOperation = exports.instrumentAsync = exports.MetricsContext = exports.Timer = exports.ENV_KEY_SERVICE_NAME = exports.MetricNames = exports.DURATION_BUCKETS = exports.BUCKETS = exports.createGauge = exports.createHistogram = exports.createCounter = exports.startMetricsServer = exports.resetRegistry = exports.getRegistry = void 0;
|
|
46
|
+
exports.initObservability = exports.SpanKind = exports.SpanStatusCode = exports.withExtractedContextAsync = exports.withExtractedContext = exports.extractMessageTraceContext = exports.createMessageTraceContext = exports.createContextFromTraceparent = exports.parseTraceparent = exports.getTraceparent = exports.extractTraceContext = exports.injectTraceContext = exports.withActiveSpanAsync = exports.withActiveSpan = exports.recordException = exports.setSpanAttributes = exports.addSpanEvent = exports.getCurrentSpanId = exports.getCurrentTraceId = exports.getCurrentSpan = exports.withSpanResult = exports.withSpan = exports.createSpan = exports.getTracer = exports.shutdownTracing = exports.getTracerProvider = exports.isTracingInitialized = exports.initTracing = exports.trackOperation = exports.instrumentAsync = exports.MetricsContext = exports.Timer = exports.ENV_KEY_SERVICE_NAME = exports.MetricNames = exports.DURATION_BUCKETS = exports.BUCKETS = exports.createGauge = exports.createHistogram = exports.createCounter = exports.startMetricsServer = exports.resetRegistry = exports.getRegistry = void 0;
|
|
47
47
|
// ====================
|
|
48
48
|
// METRICS EXPORTS
|
|
49
49
|
// ====================
|
|
@@ -106,4 +106,9 @@ Object.defineProperty(exports, "withExtractedContextAsync", { enumerable: true,
|
|
|
106
106
|
var api_1 = require("@opentelemetry/api");
|
|
107
107
|
Object.defineProperty(exports, "SpanStatusCode", { enumerable: true, get: function () { return api_1.SpanStatusCode; } });
|
|
108
108
|
Object.defineProperty(exports, "SpanKind", { enumerable: true, get: function () { return api_1.SpanKind; } });
|
|
109
|
+
// ====================
|
|
110
|
+
// INITIALIZATION HELPERS
|
|
111
|
+
// ====================
|
|
112
|
+
var init_1 = require("./init");
|
|
113
|
+
Object.defineProperty(exports, "initObservability", { enumerable: true, get: function () { return init_1.initObservability; } });
|
|
109
114
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;;;AAEH,uBAAuB;AACvB,kBAAkB;AAClB,uBAAuB;AAEvB,sBAAsB;AACtB,+CAAgE;AAAvD,uGAAA,WAAW,OAAA;AAAE,yGAAA,aAAa,OAAA;AAEnC,eAAe;AACf,2CAAsD;AAA7C,4GAAA,kBAAkB,OAAA;AAG3B,kBAAkB;AAClB,+CAQ4B;AAP1B,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,uGAAA,WAAW,OAAA;AACX,mGAAA,OAAO,OAAA;AACP,4GAAA,gBAAgB,OAAA;AAChB,uGAAA,WAAW,OAAA;AACX,gHAAA,oBAAoB,OAAA;AAItB,0BAA0B;AAC1B,6DAKmC;AAJjC,wGAAA,KAAK,OAAA;AACL,iHAAA,cAAc,OAAA;AACd,kHAAA,eAAe,OAAA;AACf,iHAAA,cAAc,OAAA;AAMhB,uBAAuB;AACvB,kBAAkB;AAClB,uBAAuB;AAEvB,2BAA2B;AAC3B,yCAKyB;AAJvB,oGAAA,WAAW,OAAA;AACX,6GAAA,oBAAoB,OAAA;AACpB,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AAGjB,kBAAkB;AAClB,yCAayB;AAZvB,kGAAA,SAAS,OAAA;AACT,mGAAA,UAAU,OAAA;AACV,iGAAA,QAAQ,OAAA;AACR,uGAAA,cAAc,OAAA;AACd,uGAAA,cAAc,OAAA;AACd,0GAAA,iBAAiB,OAAA;AACjB,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,uGAAA,cAAc,OAAA;AACd,4GAAA,mBAAmB,OAAA;AAGrB,sBAAsB;AACtB,6CAU2B;AATzB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AACnB,yGAAA,cAAc,OAAA;AACd,2GAAA,gBAAgB,OAAA;AAChB,uHAAA,4BAA4B,OAAA;AAC5B,oHAAA,yBAAyB,OAAA;AACzB,qHAAA,0BAA0B,OAAA;AAC1B,+GAAA,oBAAoB,OAAA;AACpB,oHAAA,yBAAyB,OAAA;AAK3B,0CAA8D;AAArD,qGAAA,cAAc,OAAA;AAAE,+FAAA,QAAQ,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;;;AAEH,uBAAuB;AACvB,kBAAkB;AAClB,uBAAuB;AAEvB,sBAAsB;AACtB,+CAAgE;AAAvD,uGAAA,WAAW,OAAA;AAAE,yGAAA,aAAa,OAAA;AAEnC,eAAe;AACf,2CAAsD;AAA7C,4GAAA,kBAAkB,OAAA;AAG3B,kBAAkB;AAClB,+CAQ4B;AAP1B,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,uGAAA,WAAW,OAAA;AACX,mGAAA,OAAO,OAAA;AACP,4GAAA,gBAAgB,OAAA;AAChB,uGAAA,WAAW,OAAA;AACX,gHAAA,oBAAoB,OAAA;AAItB,0BAA0B;AAC1B,6DAKmC;AAJjC,wGAAA,KAAK,OAAA;AACL,iHAAA,cAAc,OAAA;AACd,kHAAA,eAAe,OAAA;AACf,iHAAA,cAAc,OAAA;AAMhB,uBAAuB;AACvB,kBAAkB;AAClB,uBAAuB;AAEvB,2BAA2B;AAC3B,yCAKyB;AAJvB,oGAAA,WAAW,OAAA;AACX,6GAAA,oBAAoB,OAAA;AACpB,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AAGjB,kBAAkB;AAClB,yCAayB;AAZvB,kGAAA,SAAS,OAAA;AACT,mGAAA,UAAU,OAAA;AACV,iGAAA,QAAQ,OAAA;AACR,uGAAA,cAAc,OAAA;AACd,uGAAA,cAAc,OAAA;AACd,0GAAA,iBAAiB,OAAA;AACjB,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,uGAAA,cAAc,OAAA;AACd,4GAAA,mBAAmB,OAAA;AAGrB,sBAAsB;AACtB,6CAU2B;AATzB,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AACnB,yGAAA,cAAc,OAAA;AACd,2GAAA,gBAAgB,OAAA;AAChB,uHAAA,4BAA4B,OAAA;AAC5B,oHAAA,yBAAyB,OAAA;AACzB,qHAAA,0BAA0B,OAAA;AAC1B,+GAAA,oBAAoB,OAAA;AACpB,oHAAA,yBAAyB,OAAA;AAK3B,0CAA8D;AAArD,qGAAA,cAAc,OAAA;AAAE,+FAAA,QAAQ,OAAA;AAyBjC,uBAAuB;AACvB,yBAAyB;AACzB,uBAAuB;AAEvB,+BAA2C;AAAlC,yGAAA,iBAAiB,OAAA"}
|
package/dist/init.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* High-level initialization helpers for observability setup.
|
|
3
|
+
* Simplifies the setup of tracing, metrics, and logging for services.
|
|
4
|
+
*/
|
|
5
|
+
export interface InitObservabilityConfig {
|
|
6
|
+
/** Service name for telemetry */
|
|
7
|
+
serviceName: string;
|
|
8
|
+
/** Port for metrics server (default: 9090) */
|
|
9
|
+
metricsPort?: number;
|
|
10
|
+
/** Enable/disable tracing (default: true, checks OTEL_TRACING_ENABLED env) */
|
|
11
|
+
tracingEnabled?: boolean;
|
|
12
|
+
/** Sampling ratio 0.0-1.0 (default: auto-configured based on ENV) */
|
|
13
|
+
samplingRatio?: number;
|
|
14
|
+
/** OTLP endpoint for traces (default: http://localhost:4317) */
|
|
15
|
+
otlpEndpoint?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface InitObservabilityResult {
|
|
18
|
+
/** Service name used */
|
|
19
|
+
serviceName: string;
|
|
20
|
+
/** Whether tracing was initialized */
|
|
21
|
+
tracingInitialized: boolean;
|
|
22
|
+
/** Metrics server port */
|
|
23
|
+
metricsPort: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Initialize observability for a service (metrics + tracing).
|
|
27
|
+
* Call this once at service startup.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* import { initObservability } from '@manifest-cyber/observability-ts';
|
|
32
|
+
*
|
|
33
|
+
* const { serviceName, tracingInitialized } = await initObservability({
|
|
34
|
+
* serviceName: 'my-service',
|
|
35
|
+
* metricsPort: 9090,
|
|
36
|
+
* });
|
|
37
|
+
*
|
|
38
|
+
* console.log(`Observability initialized for ${serviceName}`);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function initObservability(config: InitObservabilityConfig): Promise<InitObservabilityResult>;
|
|
42
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CAsClC"}
|
package/dist/init.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* High-level initialization helpers for observability setup.
|
|
4
|
+
* Simplifies the setup of tracing, metrics, and logging for services.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.initObservability = initObservability;
|
|
8
|
+
const setup_1 = require("./tracing/setup");
|
|
9
|
+
const server_1 = require("./metrics/server");
|
|
10
|
+
/**
|
|
11
|
+
* Initialize observability for a service (metrics + tracing).
|
|
12
|
+
* Call this once at service startup.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { initObservability } from '@manifest-cyber/observability-ts';
|
|
17
|
+
*
|
|
18
|
+
* const { serviceName, tracingInitialized } = await initObservability({
|
|
19
|
+
* serviceName: 'my-service',
|
|
20
|
+
* metricsPort: 9090,
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* console.log(`Observability initialized for ${serviceName}`);
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
async function initObservability(config) {
|
|
27
|
+
const { serviceName, metricsPort = 9090, tracingEnabled = process.env.OTEL_TRACING_ENABLED !== 'false', samplingRatio = getSamplingRatio(), otlpEndpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'http://localhost:4317', } = config;
|
|
28
|
+
let tracingInitialized = false;
|
|
29
|
+
// Initialize tracing
|
|
30
|
+
if (tracingEnabled) {
|
|
31
|
+
await (0, setup_1.initTracing)({
|
|
32
|
+
serviceName,
|
|
33
|
+
exporter: {
|
|
34
|
+
type: 'otlp-grpc',
|
|
35
|
+
endpoint: otlpEndpoint,
|
|
36
|
+
},
|
|
37
|
+
sampling: {
|
|
38
|
+
rate: samplingRatio,
|
|
39
|
+
alwaysOnError: true,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
tracingInitialized = true;
|
|
43
|
+
}
|
|
44
|
+
// Start metrics server
|
|
45
|
+
await (0, server_1.startMetricsServer)({
|
|
46
|
+
serviceName,
|
|
47
|
+
port: metricsPort,
|
|
48
|
+
});
|
|
49
|
+
return {
|
|
50
|
+
serviceName,
|
|
51
|
+
tracingInitialized,
|
|
52
|
+
metricsPort,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get default sampling ratio based on environment.
|
|
57
|
+
* Can be overridden with OTEL_SAMPLING_RATIO environment variable.
|
|
58
|
+
*/
|
|
59
|
+
function getSamplingRatio() {
|
|
60
|
+
// Check for explicit sampling ratio override
|
|
61
|
+
const envSamplingRatio = process.env.OTEL_SAMPLING_RATIO;
|
|
62
|
+
if (envSamplingRatio) {
|
|
63
|
+
const ratio = parseFloat(envSamplingRatio);
|
|
64
|
+
if (!isNaN(ratio) && ratio >= 0 && ratio <= 1) {
|
|
65
|
+
return ratio;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Default based on environment
|
|
69
|
+
const env = process.env.ENV || 'development';
|
|
70
|
+
// 100% sampling in dev/staging
|
|
71
|
+
if (env !== 'production') {
|
|
72
|
+
return 1.0;
|
|
73
|
+
}
|
|
74
|
+
// 10% sampling in production
|
|
75
|
+
return 0.1;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA2CH,8CAwCC;AAjFD,2CAA8C;AAC9C,6CAAsD;AAwBtD;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAA+B;IAE/B,MAAM,EACJ,WAAW,EACX,WAAW,GAAG,IAAI,EAClB,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,OAAO,EAC7D,aAAa,GAAG,gBAAgB,EAAE,EAClC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,uBAAuB,GAClF,GAAG,MAAM,CAAC;IAEX,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,qBAAqB;IACrB,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAA,mBAAW,EAAC;YAChB,WAAW;YACX,QAAQ,EAAE;gBACR,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,YAAY;aACvB;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,aAAa;gBACnB,aAAa,EAAE,IAAI;aACpB;SACF,CAAC,CAAC;QACH,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,uBAAuB;IACvB,MAAM,IAAA,2BAAkB,EAAC;QACvB,WAAW;QACX,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;IAEH,OAAO;QACL,WAAW;QACX,kBAAkB;QAClB,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB;IACvB,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACzD,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,aAAa,CAAC;IAE7C,+BAA+B;IAC/B,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,6BAA6B;IAC7B,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/tracing/types.d.ts
CHANGED
|
@@ -155,4 +155,16 @@ export interface Logger {
|
|
|
155
155
|
warn?: (message: string, ...args: any[]) => void;
|
|
156
156
|
debug?: (message: string, ...args: any[]) => void;
|
|
157
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* W3C Trace Context for distributed tracing across message queues.
|
|
160
|
+
* Used for propagating trace context through messaging systems like SQS and RabbitMQ.
|
|
161
|
+
*
|
|
162
|
+
* @see https://www.w3.org/TR/trace-context/
|
|
163
|
+
*/
|
|
164
|
+
export interface TraceContext {
|
|
165
|
+
/** W3C traceparent header: "00-{trace-id}-{span-id}-{flags}" */
|
|
166
|
+
traceparent?: string;
|
|
167
|
+
/** W3C tracestate header: optional vendor-specific trace data */
|
|
168
|
+
tracestate?: string;
|
|
169
|
+
}
|
|
158
170
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tracing/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAE/D;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAExB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC;IAET;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,4BAA4B,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACjD,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACvD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACjD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACnD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tracing/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manifest-cyber/observability-ts",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "Unified observability library for Manifest Cyber services - Metrics (Prometheus) and Tracing (OpenTelemetry)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|