@ue-shed/observability 0.5.1 → 0.7.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/dist/health.d.ts CHANGED
@@ -24,8 +24,6 @@ export declare const RuntimeHealthInput: Schema.Struct<{
24
24
  export interface RuntimeHealthInput extends Schema.Schema.Type<typeof RuntimeHealthInput> {
25
25
  }
26
26
  export declare const RuntimeHealth: Schema.Struct<{
27
- readonly reasons: Schema.$Array<Schema.String>;
28
- readonly status: Schema.Literals<readonly ["healthy", "degraded", "unhealthy"]>;
29
27
  readonly capabilities: Schema.$Array<Schema.Struct<{
30
28
  readonly available: Schema.Boolean;
31
29
  readonly name: Schema.String;
@@ -39,6 +37,8 @@ export declare const RuntimeHealth: Schema.Struct<{
39
37
  readonly queueDepth: Schema.Number;
40
38
  }>;
41
39
  readonly telemetry: Schema.Literals<readonly ["disabled", "ready", "degraded"]>;
40
+ readonly reasons: Schema.$Array<Schema.String>;
41
+ readonly status: Schema.Literals<readonly ["healthy", "degraded", "unhealthy"]>;
42
42
  }>;
43
43
  export interface RuntimeHealth extends Schema.Schema.Type<typeof RuntimeHealth> {
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,78 +1,9 @@
1
1
  import type { SpanProcessor } from "@opentelemetry/sdk-trace-base";
2
- import { Config, Effect, Layer, Metric, Schema } from "effect";
2
+ import { Config, Layer, Schema } from "effect";
3
3
  export * from "./health.js";
4
4
  export declare const TelemetryMode: Schema.Literals<readonly ["disabled", "console"]>;
5
5
  export type TelemetryMode = typeof TelemetryMode.Type;
6
- export declare const queueDepth: Metric.Gauge<number>;
7
- export declare const streamDrops: Metric.Counter<number>;
8
- export declare const streamGaps: Metric.Counter<number>;
9
- export declare const cameraReplacements: Metric.Counter<number>;
10
- export declare const authoringTransitions: Metric.Frequency;
11
- export declare const coverage: Metric.Gauge<number>;
12
- export declare const observatoryMetrics: {
13
- actorsChanged: Metric.Counter<number>;
14
- actorsSampled: Metric.Counter<number>;
15
- boundsCalculations: Metric.Counter<number>;
16
- bytes: Metric.Counter<number>;
17
- catalogDuration: Metric.Histogram<number>;
18
- decodeApplyDuration: Metric.Histogram<number>;
19
- ipcReplacements: Metric.Counter<number>;
20
- packets: Metric.Counter<number>;
21
- paintDuration: Metric.Histogram<number>;
22
- presentationHz: Metric.Gauge<number>;
23
- producerReplacements: Metric.Counter<number>;
24
- receiverReplacements: Metric.Counter<number>;
25
- sampleHz: Metric.Gauge<number>;
26
- sequenceGaps: Metric.Counter<number>;
27
- };
28
- export declare const reviewAssessmentMetrics: {
29
- attempts: Metric.Counter<number>;
30
- duration: Metric.Histogram<number>;
31
- failures: Metric.Counter<number>;
32
- samples: Metric.Histogram<number>;
33
- };
34
- export declare const operationMetrics: {
35
- errors: Metric.Counter<number>;
36
- latency: Metric.Histogram<number>;
37
- traffic: Metric.Counter<number>;
38
- };
39
- export declare function recordStreamState(state: {
40
- readonly drops: number;
41
- readonly gaps: number;
42
- readonly queueDepth: number;
43
- }): Effect.Effect<void>;
44
- export declare const recordCameraReplacements: (count: number) => Effect.Effect<void>;
45
- export declare const recordAuthoringTransition: (transition: string) => Effect.Effect<void>;
46
- export declare const recordCoverage: (ratio: number) => Effect.Effect<void>;
47
- export declare function recordObservatoryCatalog(input: {
48
- readonly boundsCalculations: number;
49
- readonly durationMs: number;
50
- }): Effect.Effect<void>;
51
- export declare function recordObservatoryPacket(input: {
52
- readonly actorsChanged: number;
53
- readonly actorsSampled: number;
54
- readonly bytes: number;
55
- readonly decodeApplyMs: number;
56
- readonly producerReplacements?: number;
57
- readonly sequenceGap?: boolean;
58
- }): Effect.Effect<void>;
59
- export declare const recordObservatoryReceiverReplacements: (count: number) => Effect.Effect<void>;
60
- export declare const recordObservatoryIpcReplacements: (count: number) => Effect.Effect<void>;
61
- export declare const recordObservatoryPaintDuration: (durationMs: number) => Effect.Effect<void>;
62
- export declare function recordObservatoryCadence(input: {
63
- readonly presentationHz?: number;
64
- readonly sampleHz?: number;
65
- }): Effect.Effect<void>;
66
- /**
67
- * Aggregates only bounded assessment facts. Callers must not attach actor, view, operation, map,
68
- * artifact, or filesystem identity to these metrics.
69
- */
70
- export declare function recordReviewAssessment(input: {
71
- readonly assessmentDurationMs?: number;
72
- readonly sampleCount?: number;
73
- readonly status: "assessed" | "assessment_failed" | "not_assessed";
74
- }): Effect.Effect<void>;
75
- export declare function observeOperation<A, E, R>(name: string, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>;
6
+ export * from "./metrics.js";
76
7
  export interface RuntimeObservabilityOptions {
77
8
  readonly serviceName: string;
78
9
  readonly serviceVersion?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAU,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGvD,cAAc,aAAa,CAAC;AAE5B,eAAO,MAAM,aAAa,mDAA2C,CAAC;AACtE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD,cAAc,cAAc,CAAC;AAK7B,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACvC;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,2BAA2B,sFAiB7E"}
package/dist/index.js CHANGED
@@ -1,206 +1,8 @@
1
- import { Config, Effect, Exit, Layer, Metric, Schema } from "effect";
1
+ import { Config, Effect, Layer, Schema } from "effect";
2
2
  import { defaultHealthInput, runtimeHealthLayer } from "./health.js";
3
3
  export * from "./health.js";
4
4
  export const TelemetryMode = Schema.Literals(["disabled", "console"]);
5
- const operationTraffic = Metric.counter("ue_shed_operation_total", {
6
- description: "Completed UE Shed runtime operations",
7
- incremental: true
8
- });
9
- const operationErrors = Metric.counter("ue_shed_operation_error_total", {
10
- description: "Failed UE Shed runtime operations",
11
- incremental: true
12
- });
13
- const operationLatency = Metric.histogram("ue_shed_operation_duration_ms", {
14
- boundaries: [1, 5, 10, 25, 50, 100, 250, 500, 1_000, 5_000, 30_000],
15
- description: "UE Shed operation duration in milliseconds"
16
- });
17
- export const queueDepth = Metric.gauge("ue_shed_queue_depth", {
18
- description: "Current bounded queue depth"
19
- });
20
- export const streamDrops = Metric.counter("ue_shed_stream_drop_total", {
21
- description: "Dropped stream items",
22
- incremental: true
23
- });
24
- export const streamGaps = Metric.counter("ue_shed_stream_gap_total", {
25
- description: "Detected stream gaps",
26
- incremental: true
27
- });
28
- export const cameraReplacements = Metric.counter("ue_shed_camera_replacement_total", {
29
- description: "Camera frames replaced by bounded delivery",
30
- incremental: true
31
- });
32
- export const authoringTransitions = Metric.frequency("ue_shed_authoring_transition_total", {
33
- description: "Apply and Save authority transition outcomes"
34
- });
35
- export const coverage = Metric.gauge("ue_shed_coverage_ratio", {
36
- description: "Domain coverage ratio from zero to one"
37
- });
38
- const observatoryCatalogDuration = Metric.histogram("ue_shed_observatory_catalog_duration_ms", {
39
- boundaries: [1, 5, 10, 25, 50, 100, 250, 500, 1_000, 5_000],
40
- description: "Unreal catalog collection duration in milliseconds"
41
- });
42
- const observatoryBoundsCalculations = Metric.counter("ue_shed_observatory_bounds_calculations_total", {
43
- description: "Actor bounds calculations performed during catalog collection",
44
- incremental: true
45
- });
46
- const observatoryActorsSampled = Metric.counter("ue_shed_observatory_actors_sampled_total", {
47
- description: "Actors sampled by the Unreal transform producer",
48
- incremental: true
49
- });
50
- const observatoryActorsChanged = Metric.counter("ue_shed_observatory_actors_changed_total", {
51
- description: "Actors included in changed-transform packets",
52
- incremental: true
53
- });
54
- const observatoryPackets = Metric.counter("ue_shed_observatory_packets_total", {
55
- description: "Decoded Observatory transform packets",
56
- incremental: true
57
- });
58
- const observatoryBytes = Metric.counter("ue_shed_observatory_bytes_total", {
59
- description: "Bytes received on the Observatory actor stream",
60
- incremental: true
61
- });
62
- const observatorySequenceGaps = Metric.counter("ue_shed_observatory_sequence_gap_total", {
63
- description: "Detected Observatory transform sequence gaps",
64
- incremental: true
65
- });
66
- const observatoryProducerReplacements = Metric.counter("ue_shed_observatory_producer_replacement_total", {
67
- description: "Producer-side Observatory packet replacements",
68
- incremental: true
69
- });
70
- const observatoryReceiverReplacements = Metric.counter("ue_shed_observatory_receiver_replacement_total", {
71
- description: "Host receiver Observatory packet replacements",
72
- incremental: true
73
- });
74
- const observatoryIpcReplacements = Metric.counter("ue_shed_observatory_ipc_replacement_total", {
75
- description: "Workbench IPC Observatory event replacements",
76
- incremental: true
77
- });
78
- const observatoryDecodeApplyDuration = Metric.histogram("ue_shed_observatory_decode_apply_duration_ms", {
79
- boundaries: [0.1, 0.25, 0.5, 1, 2, 4, 8, 16.7, 33, 50, 100],
80
- description: "Decode plus retained-state apply duration in milliseconds"
81
- });
82
- const observatoryPaintDuration = Metric.histogram("ue_shed_observatory_paint_duration_ms", {
83
- boundaries: [0.1, 0.25, 0.5, 1, 2, 4, 8, 16.7, 33, 50, 100],
84
- description: "World Scout Canvas paint duration in milliseconds"
85
- });
86
- const observatorySampleHz = Metric.gauge("ue_shed_observatory_sample_hz", {
87
- description: "Effective Observatory transform sample cadence"
88
- });
89
- const observatoryPresentationHz = Metric.gauge("ue_shed_observatory_presentation_hz", {
90
- description: "Effective World Scout presentation cadence"
91
- });
92
- const reviewAssessmentAttempts = Metric.counter("ue_shed_review_assessment_total", {
93
- description: "Map Review visibility assessments with bounded producer evidence",
94
- incremental: true
95
- });
96
- const reviewAssessmentFailures = Metric.counter("ue_shed_review_assessment_failure_total", {
97
- description: "Map Review visibility assessments without usable raw evidence",
98
- incremental: true
99
- });
100
- const reviewAssessmentDuration = Metric.histogram("ue_shed_review_assessment_duration_ms", {
101
- boundaries: [0.1, 0.25, 0.5, 1, 2, 4, 8, 16, 33, 50, 100, 250, 500, 1_000, 5_000],
102
- description: "Unreal auxiliary visibility assessment and readback duration in milliseconds"
103
- });
104
- const reviewAssessmentSamples = Metric.histogram("ue_shed_review_assessment_samples", {
105
- boundaries: [0, 1, 9, 64, 256, 1_024, 4_096, 16_384, 57_600],
106
- description: "Bounded image-space or collision samples in a Map Review visibility assessment"
107
- });
108
- export const observatoryMetrics = {
109
- actorsChanged: observatoryActorsChanged,
110
- actorsSampled: observatoryActorsSampled,
111
- boundsCalculations: observatoryBoundsCalculations,
112
- bytes: observatoryBytes,
113
- catalogDuration: observatoryCatalogDuration,
114
- decodeApplyDuration: observatoryDecodeApplyDuration,
115
- ipcReplacements: observatoryIpcReplacements,
116
- packets: observatoryPackets,
117
- paintDuration: observatoryPaintDuration,
118
- presentationHz: observatoryPresentationHz,
119
- producerReplacements: observatoryProducerReplacements,
120
- receiverReplacements: observatoryReceiverReplacements,
121
- sampleHz: observatorySampleHz,
122
- sequenceGaps: observatorySequenceGaps
123
- };
124
- export const reviewAssessmentMetrics = {
125
- attempts: reviewAssessmentAttempts,
126
- duration: reviewAssessmentDuration,
127
- failures: reviewAssessmentFailures,
128
- samples: reviewAssessmentSamples
129
- };
130
- export const operationMetrics = {
131
- errors: operationErrors,
132
- latency: operationLatency,
133
- traffic: operationTraffic
134
- };
135
- export function recordStreamState(state) {
136
- return Effect.all([
137
- Metric.update(queueDepth, state.queueDepth),
138
- Metric.update(streamDrops, state.drops),
139
- Metric.update(streamGaps, state.gaps)
140
- ]).pipe(Effect.asVoid);
141
- }
142
- export const recordCameraReplacements = (count) => Metric.update(cameraReplacements, count);
143
- export const recordAuthoringTransition = (transition) => Metric.update(authoringTransitions, transition);
144
- export const recordCoverage = (ratio) => Metric.update(coverage, Math.max(0, Math.min(1, ratio)));
145
- export function recordObservatoryCatalog(input) {
146
- return Effect.all([
147
- Metric.update(observatoryCatalogDuration, Math.max(0, input.durationMs)),
148
- Metric.update(observatoryBoundsCalculations, Math.max(0, input.boundsCalculations))
149
- ]).pipe(Effect.asVoid);
150
- }
151
- export function recordObservatoryPacket(input) {
152
- return Effect.all([
153
- Metric.update(observatoryPackets, 1),
154
- Metric.update(observatoryBytes, Math.max(0, input.bytes)),
155
- Metric.update(observatoryActorsSampled, Math.max(0, input.actorsSampled)),
156
- Metric.update(observatoryActorsChanged, Math.max(0, input.actorsChanged)),
157
- Metric.update(observatoryDecodeApplyDuration, Math.max(0, input.decodeApplyMs)),
158
- Metric.update(observatoryProducerReplacements, Math.max(0, input.producerReplacements ?? 0)),
159
- Metric.update(observatorySequenceGaps, input.sequenceGap === true ? 1 : 0)
160
- ]).pipe(Effect.asVoid);
161
- }
162
- export const recordObservatoryReceiverReplacements = (count) => Metric.update(observatoryReceiverReplacements, Math.max(0, count));
163
- export const recordObservatoryIpcReplacements = (count) => Metric.update(observatoryIpcReplacements, Math.max(0, count));
164
- export const recordObservatoryPaintDuration = (durationMs) => Metric.update(observatoryPaintDuration, Math.max(0, durationMs));
165
- export function recordObservatoryCadence(input) {
166
- const updates = [];
167
- if (input.sampleHz !== undefined) {
168
- updates.push(Metric.update(observatorySampleHz, Math.max(0, input.sampleHz)));
169
- }
170
- if (input.presentationHz !== undefined) {
171
- updates.push(Metric.update(observatoryPresentationHz, Math.max(0, input.presentationHz)));
172
- }
173
- return updates.length === 0 ? Effect.void : Effect.all(updates).pipe(Effect.asVoid);
174
- }
175
- /**
176
- * Aggregates only bounded assessment facts. Callers must not attach actor, view, operation, map,
177
- * artifact, or filesystem identity to these metrics.
178
- */
179
- export function recordReviewAssessment(input) {
180
- const updates = [Metric.update(reviewAssessmentAttempts, 1)];
181
- if (input.status === "assessment_failed") {
182
- updates.push(Metric.update(reviewAssessmentFailures, 1));
183
- }
184
- if (input.assessmentDurationMs !== undefined) {
185
- updates.push(Metric.update(reviewAssessmentDuration, Math.max(0, input.assessmentDurationMs)));
186
- }
187
- if (input.sampleCount !== undefined) {
188
- updates.push(Metric.update(reviewAssessmentSamples, Math.max(0, input.sampleCount)));
189
- }
190
- return Effect.all(updates).pipe(Effect.asVoid);
191
- }
192
- export function observeOperation(name, effect) {
193
- return Effect.gen(function* () {
194
- const started = yield* Effect.clockWith((clock) => clock.currentTimeMillis);
195
- const exit = yield* Effect.exit(effect);
196
- const finished = yield* Effect.clockWith((clock) => clock.currentTimeMillis);
197
- yield* Metric.update(operationTraffic, 1);
198
- yield* Metric.update(operationLatency, Math.max(0, finished - started));
199
- if (Exit.isFailure(exit))
200
- yield* Metric.update(operationErrors, 1);
201
- return yield* exit;
202
- }).pipe(Effect.withSpan(name), Effect.annotateSpans("operation", name));
203
- }
5
+ export * from "./metrics.js";
204
6
  const telemetryModeConfig = Config.literals(["disabled", "console"], "UE_SHED_TELEMETRY_MODE").pipe(Config.withDefault("disabled"));
205
7
  export function runtimeObservabilityLayer(options) {
206
8
  return Layer.unwrap(Effect.gen(function* () {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,cAAc,aAAa,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAGtE,cAAc,cAAc,CAAC;AAC7B,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAClG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAC9B,CAAC;AAQF,MAAM,UAAU,yBAAyB,CAAC,OAAoC;IAC7E,OAAO,KAAK,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC;QACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC;YACjC,GAAG,kBAAkB;YACrB,SAAS,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;SACrD,CAAC,CAAC;QACH,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAChE,mFAAmF;YACnF,oFAAoF;YACpF,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxF,OAAO,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,CACF,CAAC;AACH,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { Effect, Metric } from "effect";
2
+ export declare const queueDepth: Metric.Gauge<number>;
3
+ export declare const streamDrops: Metric.Counter<number>;
4
+ export declare const streamGaps: Metric.Counter<number>;
5
+ export declare const cameraReplacements: Metric.Counter<number>;
6
+ export declare const authoringTransitions: Metric.Frequency;
7
+ export declare const coverage: Metric.Gauge<number>;
8
+ export declare const observatoryMetrics: {
9
+ actorsChanged: Metric.Counter<number>;
10
+ actorsSampled: Metric.Counter<number>;
11
+ boundsCalculations: Metric.Counter<number>;
12
+ bytes: Metric.Counter<number>;
13
+ catalogDuration: Metric.Histogram<number>;
14
+ decodeApplyDuration: Metric.Histogram<number>;
15
+ ipcReplacements: Metric.Counter<number>;
16
+ packets: Metric.Counter<number>;
17
+ paintDuration: Metric.Histogram<number>;
18
+ presentationHz: Metric.Gauge<number>;
19
+ producerReplacements: Metric.Counter<number>;
20
+ receiverReplacements: Metric.Counter<number>;
21
+ sampleHz: Metric.Gauge<number>;
22
+ sequenceGaps: Metric.Counter<number>;
23
+ };
24
+ export declare const reviewAssessmentMetrics: {
25
+ attempts: Metric.Counter<number>;
26
+ duration: Metric.Histogram<number>;
27
+ failures: Metric.Counter<number>;
28
+ samples: Metric.Histogram<number>;
29
+ };
30
+ export declare const operationMetrics: {
31
+ errors: Metric.Counter<number>;
32
+ latency: Metric.Histogram<number>;
33
+ traffic: Metric.Counter<number>;
34
+ };
35
+ export declare function recordStreamState(state: {
36
+ readonly drops: number;
37
+ readonly gaps: number;
38
+ readonly queueDepth: number;
39
+ }): Effect.Effect<void>;
40
+ export declare const recordCameraReplacements: (count: number) => Effect.Effect<void>;
41
+ export declare const recordAuthoringTransition: (transition: string) => Effect.Effect<void>;
42
+ export declare const recordCoverage: (ratio: number) => Effect.Effect<void>;
43
+ export declare function recordObservatoryCatalog(input: {
44
+ readonly boundsCalculations: number;
45
+ readonly durationMs: number;
46
+ }): Effect.Effect<void>;
47
+ export declare function recordObservatoryPacket(input: {
48
+ readonly actorsChanged: number;
49
+ readonly actorsSampled: number;
50
+ readonly bytes: number;
51
+ readonly decodeApplyMs: number;
52
+ readonly producerReplacements?: number;
53
+ readonly sequenceGap?: boolean;
54
+ }): Effect.Effect<void>;
55
+ export declare const recordObservatoryReceiverReplacements: (count: number) => Effect.Effect<void>;
56
+ export declare const recordObservatoryIpcReplacements: (count: number) => Effect.Effect<void>;
57
+ export declare const recordObservatoryPaintDuration: (durationMs: number) => Effect.Effect<void>;
58
+ export declare function recordObservatoryCadence(input: {
59
+ readonly presentationHz?: number;
60
+ readonly sampleHz?: number;
61
+ }): Effect.Effect<void>;
62
+ /**
63
+ * Aggregates only bounded assessment facts. Callers must not attach actor, view, operation, map,
64
+ * artifact, or filesystem identity to these metrics.
65
+ */
66
+ export declare function recordReviewAssessment(input: {
67
+ readonly assessmentDurationMs?: number;
68
+ readonly sampleCount?: number;
69
+ readonly status: "assessed" | "assessment_failed" | "not_assessed";
70
+ }): Effect.Effect<void>;
71
+ export declare function observeOperation<A, E, R>(name: string, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>;
72
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ import { Effect, Exit, Metric } from "effect";
2
+ const operationTraffic = Metric.counter("ue_shed_operation_total", {
3
+ description: "Completed UE Shed runtime operations",
4
+ incremental: true
5
+ });
6
+ const operationErrors = Metric.counter("ue_shed_operation_error_total", {
7
+ description: "Failed UE Shed runtime operations",
8
+ incremental: true
9
+ });
10
+ const operationLatency = Metric.histogram("ue_shed_operation_duration_ms", {
11
+ boundaries: [1, 5, 10, 25, 50, 100, 250, 500, 1_000, 5_000, 30_000],
12
+ description: "UE Shed operation duration in milliseconds"
13
+ });
14
+ export const queueDepth = Metric.gauge("ue_shed_queue_depth", {
15
+ description: "Current bounded queue depth"
16
+ });
17
+ export const streamDrops = Metric.counter("ue_shed_stream_drop_total", {
18
+ description: "Dropped stream items",
19
+ incremental: true
20
+ });
21
+ export const streamGaps = Metric.counter("ue_shed_stream_gap_total", {
22
+ description: "Detected stream gaps",
23
+ incremental: true
24
+ });
25
+ export const cameraReplacements = Metric.counter("ue_shed_camera_replacement_total", {
26
+ description: "Camera frames replaced by bounded delivery",
27
+ incremental: true
28
+ });
29
+ export const authoringTransitions = Metric.frequency("ue_shed_authoring_transition_total", {
30
+ description: "Apply and Save authority transition outcomes"
31
+ });
32
+ export const coverage = Metric.gauge("ue_shed_coverage_ratio", {
33
+ description: "Domain coverage ratio from zero to one"
34
+ });
35
+ const observatoryCatalogDuration = Metric.histogram("ue_shed_observatory_catalog_duration_ms", {
36
+ boundaries: [1, 5, 10, 25, 50, 100, 250, 500, 1_000, 5_000],
37
+ description: "Unreal catalog collection duration in milliseconds"
38
+ });
39
+ const observatoryBoundsCalculations = Metric.counter("ue_shed_observatory_bounds_calculations_total", {
40
+ description: "Actor bounds calculations performed during catalog collection",
41
+ incremental: true
42
+ });
43
+ const observatoryActorsSampled = Metric.counter("ue_shed_observatory_actors_sampled_total", {
44
+ description: "Actors sampled by the Unreal transform producer",
45
+ incremental: true
46
+ });
47
+ const observatoryActorsChanged = Metric.counter("ue_shed_observatory_actors_changed_total", {
48
+ description: "Actors included in changed-transform packets",
49
+ incremental: true
50
+ });
51
+ const observatoryPackets = Metric.counter("ue_shed_observatory_packets_total", {
52
+ description: "Decoded Observatory transform packets",
53
+ incremental: true
54
+ });
55
+ const observatoryBytes = Metric.counter("ue_shed_observatory_bytes_total", {
56
+ description: "Bytes received on the Observatory actor stream",
57
+ incremental: true
58
+ });
59
+ const observatorySequenceGaps = Metric.counter("ue_shed_observatory_sequence_gap_total", {
60
+ description: "Detected Observatory transform sequence gaps",
61
+ incremental: true
62
+ });
63
+ const observatoryProducerReplacements = Metric.counter("ue_shed_observatory_producer_replacement_total", {
64
+ description: "Producer-side Observatory packet replacements",
65
+ incremental: true
66
+ });
67
+ const observatoryReceiverReplacements = Metric.counter("ue_shed_observatory_receiver_replacement_total", {
68
+ description: "Host receiver Observatory packet replacements",
69
+ incremental: true
70
+ });
71
+ const observatoryIpcReplacements = Metric.counter("ue_shed_observatory_ipc_replacement_total", {
72
+ description: "Workbench IPC Observatory event replacements",
73
+ incremental: true
74
+ });
75
+ const observatoryDecodeApplyDuration = Metric.histogram("ue_shed_observatory_decode_apply_duration_ms", {
76
+ boundaries: [0.1, 0.25, 0.5, 1, 2, 4, 8, 16.7, 33, 50, 100],
77
+ description: "Decode plus retained-state apply duration in milliseconds"
78
+ });
79
+ const observatoryPaintDuration = Metric.histogram("ue_shed_observatory_paint_duration_ms", {
80
+ boundaries: [0.1, 0.25, 0.5, 1, 2, 4, 8, 16.7, 33, 50, 100],
81
+ description: "World Scout Canvas paint duration in milliseconds"
82
+ });
83
+ const observatorySampleHz = Metric.gauge("ue_shed_observatory_sample_hz", {
84
+ description: "Effective Observatory transform sample cadence"
85
+ });
86
+ const observatoryPresentationHz = Metric.gauge("ue_shed_observatory_presentation_hz", {
87
+ description: "Effective World Scout presentation cadence"
88
+ });
89
+ const reviewAssessmentAttempts = Metric.counter("ue_shed_review_assessment_total", {
90
+ description: "Map Review visibility assessments with bounded producer evidence",
91
+ incremental: true
92
+ });
93
+ const reviewAssessmentFailures = Metric.counter("ue_shed_review_assessment_failure_total", {
94
+ description: "Map Review visibility assessments without usable raw evidence",
95
+ incremental: true
96
+ });
97
+ const reviewAssessmentDuration = Metric.histogram("ue_shed_review_assessment_duration_ms", {
98
+ boundaries: [0.1, 0.25, 0.5, 1, 2, 4, 8, 16, 33, 50, 100, 250, 500, 1_000, 5_000],
99
+ description: "Unreal auxiliary visibility assessment and readback duration in milliseconds"
100
+ });
101
+ const reviewAssessmentSamples = Metric.histogram("ue_shed_review_assessment_samples", {
102
+ boundaries: [0, 1, 9, 64, 256, 1_024, 4_096, 16_384, 57_600],
103
+ description: "Bounded image-space or collision samples in a Map Review visibility assessment"
104
+ });
105
+ export const observatoryMetrics = {
106
+ actorsChanged: observatoryActorsChanged,
107
+ actorsSampled: observatoryActorsSampled,
108
+ boundsCalculations: observatoryBoundsCalculations,
109
+ bytes: observatoryBytes,
110
+ catalogDuration: observatoryCatalogDuration,
111
+ decodeApplyDuration: observatoryDecodeApplyDuration,
112
+ ipcReplacements: observatoryIpcReplacements,
113
+ packets: observatoryPackets,
114
+ paintDuration: observatoryPaintDuration,
115
+ presentationHz: observatoryPresentationHz,
116
+ producerReplacements: observatoryProducerReplacements,
117
+ receiverReplacements: observatoryReceiverReplacements,
118
+ sampleHz: observatorySampleHz,
119
+ sequenceGaps: observatorySequenceGaps
120
+ };
121
+ export const reviewAssessmentMetrics = {
122
+ attempts: reviewAssessmentAttempts,
123
+ duration: reviewAssessmentDuration,
124
+ failures: reviewAssessmentFailures,
125
+ samples: reviewAssessmentSamples
126
+ };
127
+ export const operationMetrics = {
128
+ errors: operationErrors,
129
+ latency: operationLatency,
130
+ traffic: operationTraffic
131
+ };
132
+ export function recordStreamState(state) {
133
+ return Effect.all([
134
+ Metric.update(queueDepth, state.queueDepth),
135
+ Metric.update(streamDrops, state.drops),
136
+ Metric.update(streamGaps, state.gaps)
137
+ ]).pipe(Effect.asVoid);
138
+ }
139
+ export const recordCameraReplacements = (count) => Metric.update(cameraReplacements, count);
140
+ export const recordAuthoringTransition = (transition) => Metric.update(authoringTransitions, transition);
141
+ export const recordCoverage = (ratio) => Metric.update(coverage, Math.max(0, Math.min(1, ratio)));
142
+ export function recordObservatoryCatalog(input) {
143
+ return Effect.all([
144
+ Metric.update(observatoryCatalogDuration, Math.max(0, input.durationMs)),
145
+ Metric.update(observatoryBoundsCalculations, Math.max(0, input.boundsCalculations))
146
+ ]).pipe(Effect.asVoid);
147
+ }
148
+ export function recordObservatoryPacket(input) {
149
+ return Effect.all([
150
+ Metric.update(observatoryPackets, 1),
151
+ Metric.update(observatoryBytes, Math.max(0, input.bytes)),
152
+ Metric.update(observatoryActorsSampled, Math.max(0, input.actorsSampled)),
153
+ Metric.update(observatoryActorsChanged, Math.max(0, input.actorsChanged)),
154
+ Metric.update(observatoryDecodeApplyDuration, Math.max(0, input.decodeApplyMs)),
155
+ Metric.update(observatoryProducerReplacements, Math.max(0, input.producerReplacements ?? 0)),
156
+ Metric.update(observatorySequenceGaps, input.sequenceGap === true ? 1 : 0)
157
+ ]).pipe(Effect.asVoid);
158
+ }
159
+ export const recordObservatoryReceiverReplacements = (count) => Metric.update(observatoryReceiverReplacements, Math.max(0, count));
160
+ export const recordObservatoryIpcReplacements = (count) => Metric.update(observatoryIpcReplacements, Math.max(0, count));
161
+ export const recordObservatoryPaintDuration = (durationMs) => Metric.update(observatoryPaintDuration, Math.max(0, durationMs));
162
+ export function recordObservatoryCadence(input) {
163
+ const updates = [];
164
+ if (input.sampleHz !== undefined) {
165
+ updates.push(Metric.update(observatorySampleHz, Math.max(0, input.sampleHz)));
166
+ }
167
+ if (input.presentationHz !== undefined) {
168
+ updates.push(Metric.update(observatoryPresentationHz, Math.max(0, input.presentationHz)));
169
+ }
170
+ return updates.length === 0 ? Effect.void : Effect.all(updates).pipe(Effect.asVoid);
171
+ }
172
+ /**
173
+ * Aggregates only bounded assessment facts. Callers must not attach actor, view, operation, map,
174
+ * artifact, or filesystem identity to these metrics.
175
+ */
176
+ export function recordReviewAssessment(input) {
177
+ const updates = [Metric.update(reviewAssessmentAttempts, 1)];
178
+ if (input.status === "assessment_failed") {
179
+ updates.push(Metric.update(reviewAssessmentFailures, 1));
180
+ }
181
+ if (input.assessmentDurationMs !== undefined) {
182
+ updates.push(Metric.update(reviewAssessmentDuration, Math.max(0, input.assessmentDurationMs)));
183
+ }
184
+ if (input.sampleCount !== undefined) {
185
+ updates.push(Metric.update(reviewAssessmentSamples, Math.max(0, input.sampleCount)));
186
+ }
187
+ return Effect.all(updates).pipe(Effect.asVoid);
188
+ }
189
+ export function observeOperation(name, effect) {
190
+ return Effect.gen(function* () {
191
+ const started = yield* Effect.clockWith((clock) => clock.currentTimeMillis);
192
+ const exit = yield* Effect.exit(effect);
193
+ const finished = yield* Effect.clockWith((clock) => clock.currentTimeMillis);
194
+ yield* Metric.update(operationTraffic, 1);
195
+ yield* Metric.update(operationLatency, Math.max(0, finished - started));
196
+ if (Exit.isFailure(exit))
197
+ yield* Metric.update(operationErrors, 1);
198
+ return yield* exit;
199
+ }).pipe(Effect.withSpan(name), Effect.annotateSpans("operation", name));
200
+ }
201
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ue-shed/observability",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
4
4
  "description": "Headless OpenTelemetry composition, bounded metrics, and runtime health for UE Shed hosts.",
5
5
  "homepage": "https://github.com/ue-shed/ue-shed#readme",
6
6
  "bugs": {
@@ -29,6 +29,10 @@
29
29
  "./health": {
30
30
  "types": "./dist/health.d.ts",
31
31
  "import": "./dist/health.js"
32
+ },
33
+ "./metrics": {
34
+ "types": "./dist/metrics.d.ts",
35
+ "import": "./dist/metrics.js"
32
36
  }
33
37
  },
34
38
  "publishConfig": {