@empire-builder-kit/runtime 1.0.0-beta.9 → 1.0.0-rc.2
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/NOTICE +6 -0
- package/package.json +93 -3
- package/src/api-contract/artifacts.d.ts +67 -0
- package/src/api-contract/artifacts.js +349 -0
- package/src/api-contract/artifacts.js.map +1 -0
- package/src/api-contract/client.d.ts +79 -0
- package/src/api-contract/client.js +561 -0
- package/src/api-contract/client.js.map +1 -0
- package/src/api-contract/errors.d.ts +7 -0
- package/src/api-contract/errors.js +11 -0
- package/src/api-contract/errors.js.map +1 -0
- package/src/api-contract/index.d.ts +9 -0
- package/src/api-contract/index.js +10 -0
- package/src/api-contract/index.js.map +1 -0
- package/src/api-contract/operation.d.ts +118 -0
- package/src/api-contract/operation.js +609 -0
- package/src/api-contract/operation.js.map +1 -0
- package/src/api-contract/schema.d.ts +81 -0
- package/src/api-contract/schema.js +313 -0
- package/src/api-contract/schema.js.map +1 -0
- package/src/api-contract/server.d.ts +77 -0
- package/src/api-contract/server.js +466 -0
- package/src/api-contract/server.js.map +1 -0
- package/src/async-work/contract.d.ts +17 -0
- package/src/async-work/contract.js +105 -0
- package/src/async-work/contract.js.map +1 -0
- package/src/async-work/idempotency.d.ts +123 -0
- package/src/async-work/idempotency.js +167 -0
- package/src/async-work/idempotency.js.map +1 -0
- package/src/async-work/index.d.ts +8 -0
- package/src/async-work/index.js +9 -0
- package/src/async-work/index.js.map +1 -0
- package/src/async-work/provider.d.ts +90 -0
- package/src/async-work/provider.js +155 -0
- package/src/async-work/provider.js.map +1 -0
- package/src/async-work/recovery.d.ts +103 -0
- package/src/async-work/recovery.js +291 -0
- package/src/async-work/recovery.js.map +1 -0
- package/src/async-work/schedule.d.ts +117 -0
- package/src/async-work/schedule.js +279 -0
- package/src/async-work/schedule.js.map +1 -0
- package/src/async-work/sqs.d.ts +133 -0
- package/src/async-work/sqs.js +280 -0
- package/src/async-work/sqs.js.map +1 -0
- package/src/async-work/webhook.d.ts +60 -0
- package/src/async-work/webhook.js +178 -0
- package/src/async-work/webhook.js.map +1 -0
- package/src/async-work/workflow.d.ts +98 -0
- package/src/async-work/workflow.js +225 -0
- package/src/async-work/workflow.js.map +1 -0
- package/src/auth-backend.d.ts +12 -2
- package/src/auth-backend.js +30 -18
- package/src/auth-backend.js.map +1 -1
- package/src/authorization/admission.d.ts +30 -0
- package/src/authorization/admission.js +87 -0
- package/src/authorization/admission.js.map +1 -0
- package/src/authorization/approval.d.ts +99 -0
- package/src/authorization/approval.js +249 -0
- package/src/authorization/approval.js.map +1 -0
- package/src/authorization/audit.d.ts +35 -0
- package/src/authorization/audit.js +35 -0
- package/src/authorization/audit.js.map +1 -0
- package/src/authorization/delegation.d.ts +149 -0
- package/src/authorization/delegation.js +401 -0
- package/src/authorization/delegation.js.map +1 -0
- package/src/authorization/errors.d.ts +32 -0
- package/src/authorization/errors.js +153 -0
- package/src/authorization/errors.js.map +1 -0
- package/src/authorization/evaluator.d.ts +39 -0
- package/src/authorization/evaluator.js +199 -0
- package/src/authorization/evaluator.js.map +1 -0
- package/src/authorization/index.d.ts +14 -0
- package/src/authorization/index.js +15 -0
- package/src/authorization/index.js.map +1 -0
- package/src/authorization/machine-token.d.ts +87 -0
- package/src/authorization/machine-token.js +201 -0
- package/src/authorization/machine-token.js.map +1 -0
- package/src/authorization/machine.d.ts +32 -0
- package/src/authorization/machine.js +41 -0
- package/src/authorization/machine.js.map +1 -0
- package/src/authorization/model.d.ts +112 -0
- package/src/authorization/model.js +112 -0
- package/src/authorization/model.js.map +1 -0
- package/src/canonical-json.cjs +157 -0
- package/src/canonical-json.d.cts +26 -0
- package/src/canonical-json.d.ts +18 -0
- package/src/canonical-json.js +125 -0
- package/src/canonical-json.js.map +1 -0
- package/src/configuration/contract.d.ts +107 -0
- package/src/configuration/contract.js +461 -0
- package/src/configuration/contract.js.map +1 -0
- package/src/configuration/index.d.ts +3 -0
- package/src/configuration/index.js +4 -0
- package/src/configuration/index.js.map +1 -0
- package/src/configuration/provider.d.ts +59 -0
- package/src/configuration/provider.js +198 -0
- package/src/configuration/provider.js.map +1 -0
- package/src/configuration/rollout-evaluator.cjs +54 -0
- package/src/configuration/rollout-evaluator.d.cts +26 -0
- package/src/configuration/rollout-evaluator.d.ts +18 -0
- package/src/configuration/rollout-evaluator.js +38 -0
- package/src/configuration/rollout-evaluator.js.map +1 -0
- package/src/configuration/rollout-key.cjs +38 -0
- package/src/configuration/rollout-key.d.cts +14 -0
- package/src/configuration/rollout-key.d.ts +10 -0
- package/src/configuration/rollout-key.js +26 -0
- package/src/configuration/rollout-key.js.map +1 -0
- package/src/configuration/rollout.d.ts +60 -0
- package/src/configuration/rollout.js +42 -0
- package/src/configuration/rollout.js.map +1 -0
- package/src/data-lifecycle/contract.d.ts +33 -0
- package/src/data-lifecycle/contract.js +118 -0
- package/src/data-lifecycle/contract.js.map +1 -0
- package/src/data-lifecycle/event.d.ts +28 -0
- package/src/data-lifecycle/event.js +76 -0
- package/src/data-lifecycle/event.js.map +1 -0
- package/src/data-lifecycle/evidence.d.ts +65 -0
- package/src/data-lifecycle/evidence.js +162 -0
- package/src/data-lifecycle/evidence.js.map +1 -0
- package/src/data-lifecycle/holds.d.ts +29 -0
- package/src/data-lifecycle/holds.js +124 -0
- package/src/data-lifecycle/holds.js.map +1 -0
- package/src/data-lifecycle/index.d.ts +8 -0
- package/src/data-lifecycle/index.js +9 -0
- package/src/data-lifecycle/index.js.map +1 -0
- package/src/data-lifecycle/policy.d.ts +16 -0
- package/src/data-lifecycle/policy.js +79 -0
- package/src/data-lifecycle/policy.js.map +1 -0
- package/src/data-lifecycle/restore.d.ts +90 -0
- package/src/data-lifecycle/restore.js +336 -0
- package/src/data-lifecycle/restore.js.map +1 -0
- package/src/data-lifecycle/retention.d.ts +57 -0
- package/src/data-lifecycle/retention.js +232 -0
- package/src/data-lifecycle/retention.js.map +1 -0
- package/src/data-lifecycle/rights.d.ts +171 -0
- package/src/data-lifecycle/rights.js +533 -0
- package/src/data-lifecycle/rights.js.map +1 -0
- package/src/database.d.ts +36 -0
- package/src/database.js +119 -0
- package/src/database.js.map +1 -0
- package/src/deterministic-order.cjs +16 -0
- package/src/deterministic-order.d.cts +9 -0
- package/src/deterministic-order.d.ts +7 -0
- package/src/deterministic-order.js +10 -0
- package/src/deterministic-order.js.map +1 -0
- package/src/events.d.ts +28 -19
- package/src/events.js +171 -66
- package/src/events.js.map +1 -1
- package/src/index.d.ts +7 -1
- package/src/index.js +24 -0
- package/src/index.js.map +1 -1
- package/src/lambda.d.ts +8 -2
- package/src/lambda.js +100 -39
- package/src/lambda.js.map +1 -1
- package/src/logging.d.ts +95 -36
- package/src/logging.js +460 -62
- package/src/logging.js.map +1 -1
- package/src/observability.d.ts +80 -18
- package/src/observability.js +252 -61
- package/src/observability.js.map +1 -1
- package/src/performance/index.d.ts +1 -0
- package/src/performance/index.js +2 -0
- package/src/performance/index.js.map +1 -0
- package/src/performance/protected-load-endpoint.d.ts +140 -0
- package/src/performance/protected-load-endpoint.js +462 -0
- package/src/performance/protected-load-endpoint.js.map +1 -0
- package/src/rds-global-ca-bundle.d.ts +1 -0
- package/src/rds-global-ca-bundle.js +2742 -0
- package/src/rds-global-ca-bundle.js.map +1 -0
- package/src/reliability/burn.d.ts +39 -0
- package/src/reliability/burn.js +102 -0
- package/src/reliability/burn.js.map +1 -0
- package/src/reliability/contract.d.ts +5 -0
- package/src/reliability/contract.js +317 -0
- package/src/reliability/contract.js.map +1 -0
- package/src/reliability/incident.d.ts +16 -0
- package/src/reliability/incident.js +562 -0
- package/src/reliability/incident.js.map +1 -0
- package/src/reliability/index.d.ts +5 -0
- package/src/reliability/index.js +6 -0
- package/src/reliability/index.js.map +1 -0
- package/src/reliability/model.d.ts +191 -0
- package/src/reliability/model.fixtures.d.ts +2 -0
- package/src/reliability/model.fixtures.js +57 -0
- package/src/reliability/model.fixtures.js.map +1 -0
- package/src/reliability/model.js +2 -0
- package/src/reliability/model.js.map +1 -0
- package/src/reliability/slo.d.ts +9 -0
- package/src/reliability/slo.js +74 -0
- package/src/reliability/slo.js.map +1 -0
- package/src/request-context.d.ts +57 -15
- package/src/request-context.js +116 -36
- package/src/request-context.js.map +1 -1
- package/src/safe-reference.cjs +57 -0
- package/src/safe-reference.d.cts +25 -0
- package/src/safe-reference.d.ts +11 -0
- package/src/safe-reference.js +46 -0
- package/src/safe-reference.js.map +1 -0
- package/src/secrets/contract.d.ts +99 -0
- package/src/secrets/contract.js +238 -0
- package/src/secrets/contract.js.map +1 -0
- package/src/secrets/index.d.ts +4 -0
- package/src/secrets/index.js +5 -0
- package/src/secrets/index.js.map +1 -0
- package/src/secrets/observability.d.ts +14 -0
- package/src/secrets/observability.js +100 -0
- package/src/secrets/observability.js.map +1 -0
- package/src/secrets/personal.d.ts +48 -0
- package/src/secrets/personal.js +332 -0
- package/src/secrets/personal.js.map +1 -0
- package/src/secrets/resolver.d.ts +125 -0
- package/src/secrets/resolver.js +602 -0
- package/src/secrets/resolver.js.map +1 -0
- package/src/secrets/sensitive-patterns.cjs +84 -0
- package/src/secrets/sensitive-patterns.d.cts +62 -0
- package/src/secrets/sensitive-patterns.d.ts +40 -0
- package/src/secrets/sensitive-patterns.js +60 -0
- package/src/secrets/sensitive-patterns.js.map +1 -0
package/src/observability.d.ts
CHANGED
|
@@ -17,22 +17,22 @@ export interface AlarmDefinition {
|
|
|
17
17
|
threshold: number;
|
|
18
18
|
}
|
|
19
19
|
export interface AlarmNameInput {
|
|
20
|
-
app: string;
|
|
21
20
|
component: string;
|
|
22
21
|
metric: string;
|
|
23
22
|
severity?: AlarmSeverity;
|
|
23
|
+
slice: string;
|
|
24
24
|
stage: string;
|
|
25
25
|
}
|
|
26
26
|
export interface QueueAlarmInput {
|
|
27
|
-
app: string;
|
|
28
27
|
queue: string;
|
|
29
28
|
severity?: AlarmSeverity;
|
|
29
|
+
slice: string;
|
|
30
30
|
stage: string;
|
|
31
31
|
thresholds?: Partial<QueueAlertThresholds>;
|
|
32
32
|
}
|
|
33
33
|
export interface DashboardPathInput {
|
|
34
|
-
app: string;
|
|
35
34
|
dashboard: string;
|
|
35
|
+
slice: string;
|
|
36
36
|
stage: string;
|
|
37
37
|
}
|
|
38
38
|
export interface DashboardRegistrationInput extends DashboardPathInput {
|
|
@@ -53,30 +53,36 @@ export interface QueueAlarmRegistration extends QueueAlarmInput {
|
|
|
53
53
|
thresholds: QueueAlertThresholds;
|
|
54
54
|
}
|
|
55
55
|
export type MonitoringOwner = 'platform' | 'product';
|
|
56
|
-
export
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
export interface ObservedComponent {
|
|
57
|
+
component: string;
|
|
58
|
+
feature: string;
|
|
59
|
+
}
|
|
60
|
+
export interface SliceObservabilityInput {
|
|
61
|
+
feature: string;
|
|
62
|
+
functions?: readonly ObservedComponent[];
|
|
63
|
+
jobs?: readonly ObservedComponent[];
|
|
60
64
|
owner?: MonitoringOwner;
|
|
65
|
+
services?: readonly ObservedComponent[];
|
|
66
|
+
slice: string;
|
|
61
67
|
stage: string;
|
|
62
68
|
summary?: string;
|
|
63
|
-
webApps?: readonly
|
|
69
|
+
webApps?: readonly ObservedComponent[];
|
|
64
70
|
}
|
|
65
|
-
export interface
|
|
71
|
+
export interface SliceObservabilityRegistration extends SliceObservabilityInput {
|
|
66
72
|
alarms: AlarmDefinition[];
|
|
67
73
|
dashboards: MonitoringDashboardRegistration[];
|
|
68
74
|
owner: MonitoringOwner;
|
|
69
75
|
queues: QueueAlarmRegistration[];
|
|
70
76
|
summary: string;
|
|
71
77
|
}
|
|
72
|
-
export interface
|
|
73
|
-
app: string;
|
|
78
|
+
export interface SliceMonitoringRegistration {
|
|
74
79
|
dashboards: MonitoringDashboardRegistration[];
|
|
75
80
|
owner: MonitoringOwner;
|
|
76
81
|
queues: QueueAlarmRegistration[];
|
|
82
|
+
slice: string;
|
|
77
83
|
summary: string;
|
|
78
84
|
}
|
|
79
|
-
export declare function createMetricNamespace(
|
|
85
|
+
export declare function createMetricNamespace(slice: string): string;
|
|
80
86
|
export declare function createAlarmName(input: AlarmNameInput): string;
|
|
81
87
|
export declare function defaultQueueAlertThresholds(overrides?: Partial<QueueAlertThresholds>): QueueAlertThresholds;
|
|
82
88
|
export declare function createQueueAlarmDefinitions(input: QueueAlarmInput): AlarmDefinition[];
|
|
@@ -84,23 +90,79 @@ export declare function createDashboardPath(input: DashboardPathInput): string;
|
|
|
84
90
|
export declare function createDashboardRegistration(input: DashboardRegistrationInput): MonitoringDashboardRegistration;
|
|
85
91
|
export declare function createQueueAlarmRegistration(input: QueueAlarmRegistrationInput): QueueAlarmRegistration;
|
|
86
92
|
export interface EventConsumerAlarmInput {
|
|
87
|
-
app: string;
|
|
88
93
|
consumer: string;
|
|
89
|
-
queueName: string;
|
|
90
94
|
dlqName: string;
|
|
95
|
+
queueName: string;
|
|
91
96
|
severity?: AlarmSeverity;
|
|
97
|
+
slice: string;
|
|
92
98
|
stage: string;
|
|
93
99
|
thresholds?: Partial<QueueAlertThresholds>;
|
|
94
100
|
}
|
|
95
101
|
export interface EventConsumerAlarmRegistration {
|
|
96
102
|
alarms: AlarmDefinition[];
|
|
97
|
-
app: string;
|
|
98
103
|
consumer: string;
|
|
99
104
|
dlqName: string;
|
|
100
105
|
queueName: string;
|
|
106
|
+
slice: string;
|
|
101
107
|
stage: string;
|
|
102
108
|
}
|
|
103
109
|
export declare function defineEventConsumerAlarms(input: EventConsumerAlarmInput): EventConsumerAlarmRegistration;
|
|
104
|
-
export declare function
|
|
105
|
-
export declare function
|
|
106
|
-
export declare function
|
|
110
|
+
export declare function createDefaultSliceAlarmDefinitions(input: SliceObservabilityInput): AlarmDefinition[];
|
|
111
|
+
export declare function createSliceObservabilityRegistration(input: SliceObservabilityInput): SliceObservabilityRegistration;
|
|
112
|
+
export declare function defineSliceMonitoringRegistration<T extends SliceMonitoringRegistration>(registration: T): T;
|
|
113
|
+
export type MetricOutcome = 'success' | 'failure' | 'cancelled' | 'unknown';
|
|
114
|
+
export type MetricUnit = 'Seconds' | 'Microseconds' | 'Milliseconds' | 'Bytes' | 'Kilobytes' | 'Megabytes' | 'Gigabytes' | 'Terabytes' | 'Bits' | 'Kilobits' | 'Megabits' | 'Gigabits' | 'Terabits' | 'Percent' | 'Count' | 'Bytes/Second' | 'Kilobytes/Second' | 'Megabytes/Second' | 'Gigabytes/Second' | 'Terabytes/Second' | 'Bits/Second' | 'Kilobits/Second' | 'Megabits/Second' | 'Gigabits/Second' | 'Terabits/Second' | 'Count/Second' | 'None';
|
|
115
|
+
export interface MetricDimensions {
|
|
116
|
+
component?: string;
|
|
117
|
+
feature?: string;
|
|
118
|
+
operation?: string;
|
|
119
|
+
outcome?: MetricOutcome;
|
|
120
|
+
slice: string;
|
|
121
|
+
stage: string;
|
|
122
|
+
}
|
|
123
|
+
export interface EmfMetricInput {
|
|
124
|
+
dimensions: MetricDimensions;
|
|
125
|
+
metricName: string;
|
|
126
|
+
namespace?: string;
|
|
127
|
+
now?: () => Date;
|
|
128
|
+
storageResolution?: 1 | 60;
|
|
129
|
+
unit?: MetricUnit;
|
|
130
|
+
value: number;
|
|
131
|
+
}
|
|
132
|
+
export interface EmfMetricDescriptor {
|
|
133
|
+
Name: string;
|
|
134
|
+
StorageResolution?: 1 | 60;
|
|
135
|
+
Unit?: MetricUnit;
|
|
136
|
+
}
|
|
137
|
+
export interface EmfMetricRecord {
|
|
138
|
+
_aws: {
|
|
139
|
+
CloudWatchMetrics: [
|
|
140
|
+
{
|
|
141
|
+
Dimensions: [string[]];
|
|
142
|
+
Metrics: EmfMetricDescriptor[];
|
|
143
|
+
Namespace: string;
|
|
144
|
+
}
|
|
145
|
+
];
|
|
146
|
+
Timestamp: number;
|
|
147
|
+
};
|
|
148
|
+
Component?: string;
|
|
149
|
+
Feature?: string;
|
|
150
|
+
Operation?: string;
|
|
151
|
+
Outcome?: MetricOutcome;
|
|
152
|
+
recordType: 'metric';
|
|
153
|
+
Slice: string;
|
|
154
|
+
Stage: string;
|
|
155
|
+
[metricName: string]: unknown;
|
|
156
|
+
}
|
|
157
|
+
export type EmfMetricSink = (record: Readonly<EmfMetricRecord>) => void;
|
|
158
|
+
export interface MetricEmitterOptions {
|
|
159
|
+
now?: () => Date;
|
|
160
|
+
sink?: EmfMetricSink;
|
|
161
|
+
}
|
|
162
|
+
export interface MetricEmitter {
|
|
163
|
+
emit(input: Omit<EmfMetricInput, 'now'>): EmfMetricRecord | undefined;
|
|
164
|
+
}
|
|
165
|
+
export declare function createEmfMetricRecord(input: EmfMetricInput): EmfMetricRecord;
|
|
166
|
+
export declare function serializeEmfMetricRecord(record: EmfMetricRecord): string;
|
|
167
|
+
export declare const processEmfMetricSink: EmfMetricSink;
|
|
168
|
+
export declare function createMetricEmitter(options?: MetricEmitterOptions): MetricEmitter;
|
package/src/observability.js
CHANGED
|
@@ -5,13 +5,28 @@ function normalizeSegment(value) {
|
|
|
5
5
|
.replace(/[^a-z0-9]+/g, '-')
|
|
6
6
|
.replace(/^-+|-+$/g, '');
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
return
|
|
8
|
+
function hasControlCharacter(value) {
|
|
9
|
+
return [...value].some((character) => {
|
|
10
|
+
const code = character.charCodeAt(0);
|
|
11
|
+
return code <= 31 || code === 127;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function requireDimension(value, field) {
|
|
15
|
+
const normalized = value.trim();
|
|
16
|
+
if (normalized.length === 0 ||
|
|
17
|
+
normalized.length > 128 ||
|
|
18
|
+
hasControlCharacter(normalized)) {
|
|
19
|
+
throw new Error(`[runtime/observability] \`${field}\` must be a non-empty, bounded deployment dimension.`);
|
|
20
|
+
}
|
|
21
|
+
return normalized;
|
|
22
|
+
}
|
|
23
|
+
export function createMetricNamespace(slice) {
|
|
24
|
+
return `EBK/${normalizeSegment(requireDimension(slice, 'slice'))}`;
|
|
10
25
|
}
|
|
11
26
|
export function createAlarmName(input) {
|
|
12
27
|
var _a;
|
|
13
28
|
return [
|
|
14
|
-
normalizeSegment(input.
|
|
29
|
+
normalizeSegment(input.slice),
|
|
15
30
|
normalizeSegment(input.stage),
|
|
16
31
|
normalizeSegment(input.component),
|
|
17
32
|
normalizeSegment(input.metric),
|
|
@@ -30,16 +45,14 @@ export function createQueueAlarmDefinitions(input) {
|
|
|
30
45
|
{
|
|
31
46
|
comparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
32
47
|
description: `Visible messages in ${input.queue} exceed the shared queue threshold.`,
|
|
33
|
-
dimensions: {
|
|
34
|
-
QueueName: input.queue,
|
|
35
|
-
},
|
|
48
|
+
dimensions: { QueueName: input.queue },
|
|
36
49
|
evaluationPeriods: 2,
|
|
37
50
|
metricName: 'ApproximateNumberOfMessagesVisible',
|
|
38
51
|
name: createAlarmName({
|
|
39
|
-
app: input.app,
|
|
40
52
|
component: input.queue,
|
|
41
53
|
metric: 'messages-visible',
|
|
42
54
|
severity,
|
|
55
|
+
slice: input.slice,
|
|
43
56
|
stage: input.stage,
|
|
44
57
|
}),
|
|
45
58
|
namespace,
|
|
@@ -50,16 +63,14 @@ export function createQueueAlarmDefinitions(input) {
|
|
|
50
63
|
{
|
|
51
64
|
comparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
52
65
|
description: `In-flight messages in ${input.queue} exceed the shared queue threshold.`,
|
|
53
|
-
dimensions: {
|
|
54
|
-
QueueName: input.queue,
|
|
55
|
-
},
|
|
66
|
+
dimensions: { QueueName: input.queue },
|
|
56
67
|
evaluationPeriods: 2,
|
|
57
68
|
metricName: 'ApproximateNumberOfMessagesNotVisible',
|
|
58
69
|
name: createAlarmName({
|
|
59
|
-
app: input.app,
|
|
60
70
|
component: input.queue,
|
|
61
71
|
metric: 'messages-in-flight',
|
|
62
72
|
severity,
|
|
73
|
+
slice: input.slice,
|
|
63
74
|
stage: input.stage,
|
|
64
75
|
}),
|
|
65
76
|
namespace,
|
|
@@ -70,16 +81,14 @@ export function createQueueAlarmDefinitions(input) {
|
|
|
70
81
|
{
|
|
71
82
|
comparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
72
83
|
description: `Oldest message age in ${input.queue} exceeds the shared queue threshold.`,
|
|
73
|
-
dimensions: {
|
|
74
|
-
QueueName: input.queue,
|
|
75
|
-
},
|
|
84
|
+
dimensions: { QueueName: input.queue },
|
|
76
85
|
evaluationPeriods: 2,
|
|
77
86
|
metricName: 'ApproximateAgeOfOldestMessage',
|
|
78
87
|
name: createAlarmName({
|
|
79
|
-
app: input.app,
|
|
80
88
|
component: input.queue,
|
|
81
89
|
metric: 'oldest-message-age',
|
|
82
90
|
severity,
|
|
91
|
+
slice: input.slice,
|
|
83
92
|
stage: input.stage,
|
|
84
93
|
}),
|
|
85
94
|
namespace,
|
|
@@ -90,7 +99,7 @@ export function createQueueAlarmDefinitions(input) {
|
|
|
90
99
|
];
|
|
91
100
|
}
|
|
92
101
|
export function createDashboardPath(input) {
|
|
93
|
-
return `/${normalizeSegment(input.stage)}/${normalizeSegment(input.
|
|
102
|
+
return `/${normalizeSegment(input.stage)}/${normalizeSegment(input.slice)}/${normalizeSegment(input.dashboard)}`;
|
|
94
103
|
}
|
|
95
104
|
export function createDashboardRegistration(input) {
|
|
96
105
|
return Object.assign(Object.assign({}, input), { path: createDashboardPath(input) });
|
|
@@ -99,41 +108,32 @@ export function createQueueAlarmRegistration(input) {
|
|
|
99
108
|
const thresholds = defaultQueueAlertThresholds(input.thresholds);
|
|
100
109
|
return Object.assign(Object.assign({}, input), { alarms: createQueueAlarmDefinitions(Object.assign(Object.assign({}, input), { thresholds })), dashboardPath: input.dashboard
|
|
101
110
|
? createDashboardPath({
|
|
102
|
-
app: input.app,
|
|
103
111
|
dashboard: input.dashboard,
|
|
112
|
+
slice: input.slice,
|
|
104
113
|
stage: input.stage,
|
|
105
114
|
})
|
|
106
115
|
: undefined, thresholds });
|
|
107
116
|
}
|
|
108
|
-
// Baseline alarms for an event consumer on the shared core bus
|
|
109
|
-
// (rule -> SQS buffer -> Lambda, DLQ on the buffer):
|
|
110
|
-
//
|
|
111
|
-
// - DLQ depth >= 1 (critical): a poison event exhausted its retries and
|
|
112
|
-
// needs manual redrive — this is the primary signal.
|
|
113
|
-
// - Buffer queue depth / in-flight / age (standard queue thresholds): the
|
|
114
|
-
// consumer is falling behind its publisher.
|
|
115
117
|
export function defineEventConsumerAlarms(input) {
|
|
116
118
|
var _a;
|
|
117
119
|
const bufferAlarms = createQueueAlarmDefinitions({
|
|
118
|
-
app: input.app,
|
|
119
120
|
queue: input.queueName,
|
|
120
121
|
severity: (_a = input.severity) !== null && _a !== void 0 ? _a : 'high',
|
|
122
|
+
slice: input.slice,
|
|
121
123
|
stage: input.stage,
|
|
122
124
|
thresholds: input.thresholds,
|
|
123
125
|
});
|
|
124
126
|
const dlqAlarm = {
|
|
125
127
|
comparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
126
128
|
description: `Dead-lettered ${input.consumer} events in ${input.dlqName} — a poison event exhausted its retries and needs redrive.`,
|
|
127
|
-
dimensions: {
|
|
128
|
-
QueueName: input.dlqName,
|
|
129
|
-
},
|
|
129
|
+
dimensions: { QueueName: input.dlqName },
|
|
130
130
|
evaluationPeriods: 1,
|
|
131
131
|
metricName: 'ApproximateNumberOfMessagesVisible',
|
|
132
132
|
name: createAlarmName({
|
|
133
|
-
app: input.app,
|
|
134
133
|
component: `${input.consumer}-event-dlq`,
|
|
135
134
|
metric: 'dead-lettered-events',
|
|
136
135
|
severity: 'critical',
|
|
136
|
+
slice: input.slice,
|
|
137
137
|
stage: input.stage,
|
|
138
138
|
}),
|
|
139
139
|
namespace: 'AWS/SQS',
|
|
@@ -143,31 +143,40 @@ export function defineEventConsumerAlarms(input) {
|
|
|
143
143
|
};
|
|
144
144
|
return {
|
|
145
145
|
alarms: [dlqAlarm, ...bufferAlarms],
|
|
146
|
-
app: input.app,
|
|
147
146
|
consumer: input.consumer,
|
|
148
147
|
dlqName: input.dlqName,
|
|
149
148
|
queueName: input.queueName,
|
|
149
|
+
slice: input.slice,
|
|
150
150
|
stage: input.stage,
|
|
151
151
|
};
|
|
152
152
|
}
|
|
153
|
-
function
|
|
154
|
-
return
|
|
153
|
+
function createApplicationMetricDimensions(input, component) {
|
|
154
|
+
return {
|
|
155
|
+
Component: component.component,
|
|
156
|
+
Feature: component.feature,
|
|
157
|
+
Slice: input.slice,
|
|
158
|
+
Stage: input.stage,
|
|
159
|
+
};
|
|
155
160
|
}
|
|
156
|
-
export function
|
|
157
|
-
var _a, _b;
|
|
158
|
-
const namespace = createMetricNamespace(input.
|
|
161
|
+
export function createDefaultSliceAlarmDefinitions(input) {
|
|
162
|
+
var _a, _b, _c, _d;
|
|
163
|
+
const namespace = createMetricNamespace(input.slice);
|
|
164
|
+
const runtimeComponent = {
|
|
165
|
+
component: 'runtime',
|
|
166
|
+
feature: input.feature,
|
|
167
|
+
};
|
|
159
168
|
const alarms = [
|
|
160
169
|
{
|
|
161
170
|
comparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
162
|
-
description: `Runtime errors for ${input.
|
|
163
|
-
dimensions:
|
|
171
|
+
description: `Runtime errors for ${input.slice} exceed the Slice baseline threshold.`,
|
|
172
|
+
dimensions: createApplicationMetricDimensions(input, runtimeComponent),
|
|
164
173
|
evaluationPeriods: 1,
|
|
165
174
|
metricName: 'RuntimeErrors',
|
|
166
175
|
name: createAlarmName({
|
|
167
|
-
|
|
168
|
-
component: 'app',
|
|
176
|
+
component: runtimeComponent.component,
|
|
169
177
|
metric: 'runtime-errors',
|
|
170
178
|
severity: 'high',
|
|
179
|
+
slice: input.slice,
|
|
171
180
|
stage: input.stage,
|
|
172
181
|
}),
|
|
173
182
|
namespace,
|
|
@@ -179,17 +188,15 @@ export function createDefaultAppGroupAlarmDefinitions(input) {
|
|
|
179
188
|
for (const webApp of (_a = input.webApps) !== null && _a !== void 0 ? _a : []) {
|
|
180
189
|
alarms.push({
|
|
181
190
|
comparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
182
|
-
description: `5xx responses for ${input.
|
|
183
|
-
dimensions:
|
|
184
|
-
WebApp: webApp,
|
|
185
|
-
}),
|
|
191
|
+
description: `5xx responses for ${input.slice}/${webApp.component} exceed the web baseline threshold.`,
|
|
192
|
+
dimensions: createApplicationMetricDimensions(input, webApp),
|
|
186
193
|
evaluationPeriods: 1,
|
|
187
194
|
metricName: 'Web5xxErrors',
|
|
188
195
|
name: createAlarmName({
|
|
189
|
-
|
|
190
|
-
component: `web-${webApp}`,
|
|
196
|
+
component: webApp.component,
|
|
191
197
|
metric: '5xx-errors',
|
|
192
198
|
severity: 'high',
|
|
199
|
+
slice: input.slice,
|
|
193
200
|
stage: input.stage,
|
|
194
201
|
}),
|
|
195
202
|
namespace,
|
|
@@ -198,20 +205,58 @@ export function createDefaultAppGroupAlarmDefinitions(input) {
|
|
|
198
205
|
threshold: 1,
|
|
199
206
|
});
|
|
200
207
|
}
|
|
201
|
-
for (const
|
|
208
|
+
for (const functionComponent of (_b = input.functions) !== null && _b !== void 0 ? _b : []) {
|
|
202
209
|
alarms.push({
|
|
203
210
|
comparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
204
|
-
description: `Lambda errors for ${input.
|
|
205
|
-
dimensions:
|
|
206
|
-
Function: functionName,
|
|
207
|
-
}),
|
|
211
|
+
description: `Lambda errors for ${input.slice}/${functionComponent.component} exceed the function baseline threshold.`,
|
|
212
|
+
dimensions: createApplicationMetricDimensions(input, functionComponent),
|
|
208
213
|
evaluationPeriods: 1,
|
|
209
214
|
metricName: 'FunctionErrors',
|
|
210
215
|
name: createAlarmName({
|
|
211
|
-
|
|
212
|
-
component: `function-${functionName}`,
|
|
216
|
+
component: functionComponent.component,
|
|
213
217
|
metric: 'errors',
|
|
214
218
|
severity: 'high',
|
|
219
|
+
slice: input.slice,
|
|
220
|
+
stage: input.stage,
|
|
221
|
+
}),
|
|
222
|
+
namespace,
|
|
223
|
+
periodSeconds: 60,
|
|
224
|
+
severity: 'high',
|
|
225
|
+
threshold: 1,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
for (const service of (_c = input.services) !== null && _c !== void 0 ? _c : []) {
|
|
229
|
+
alarms.push({
|
|
230
|
+
comparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
231
|
+
description: `Health checks for ${input.slice}/${service.component} are failing.`,
|
|
232
|
+
dimensions: createApplicationMetricDimensions(input, service),
|
|
233
|
+
evaluationPeriods: 2,
|
|
234
|
+
metricName: 'ServiceHealthFailures',
|
|
235
|
+
name: createAlarmName({
|
|
236
|
+
component: service.component,
|
|
237
|
+
metric: 'health-failures',
|
|
238
|
+
severity: 'high',
|
|
239
|
+
slice: input.slice,
|
|
240
|
+
stage: input.stage,
|
|
241
|
+
}),
|
|
242
|
+
namespace,
|
|
243
|
+
periodSeconds: 60,
|
|
244
|
+
severity: 'high',
|
|
245
|
+
threshold: 1,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
for (const job of (_d = input.jobs) !== null && _d !== void 0 ? _d : []) {
|
|
249
|
+
alarms.push({
|
|
250
|
+
comparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
251
|
+
description: `Executions for ${input.slice}/${job.component} are failing.`,
|
|
252
|
+
dimensions: createApplicationMetricDimensions(input, job),
|
|
253
|
+
evaluationPeriods: 1,
|
|
254
|
+
metricName: 'JobFailures',
|
|
255
|
+
name: createAlarmName({
|
|
256
|
+
component: job.component,
|
|
257
|
+
metric: 'failures',
|
|
258
|
+
severity: 'high',
|
|
259
|
+
slice: input.slice,
|
|
215
260
|
stage: input.stage,
|
|
216
261
|
}),
|
|
217
262
|
namespace,
|
|
@@ -222,15 +267,18 @@ export function createDefaultAppGroupAlarmDefinitions(input) {
|
|
|
222
267
|
}
|
|
223
268
|
alarms.push({
|
|
224
269
|
comparisonOperator: 'GreaterThanOrEqualToThreshold',
|
|
225
|
-
description: `Runtime smoke failures for ${input.
|
|
226
|
-
dimensions:
|
|
270
|
+
description: `Runtime smoke failures for ${input.slice} exceed the release-readiness threshold.`,
|
|
271
|
+
dimensions: createApplicationMetricDimensions(input, {
|
|
272
|
+
component: 'runtime-smoke',
|
|
273
|
+
feature: input.feature,
|
|
274
|
+
}),
|
|
227
275
|
evaluationPeriods: 1,
|
|
228
276
|
metricName: 'RuntimeSmokeFailures',
|
|
229
277
|
name: createAlarmName({
|
|
230
|
-
app: input.app,
|
|
231
278
|
component: 'runtime-smoke',
|
|
232
279
|
metric: 'failures',
|
|
233
280
|
severity: 'critical',
|
|
281
|
+
slice: input.slice,
|
|
234
282
|
stage: input.stage,
|
|
235
283
|
}),
|
|
236
284
|
namespace,
|
|
@@ -240,21 +288,164 @@ export function createDefaultAppGroupAlarmDefinitions(input) {
|
|
|
240
288
|
});
|
|
241
289
|
return alarms;
|
|
242
290
|
}
|
|
243
|
-
export function
|
|
291
|
+
export function createSliceObservabilityRegistration(input) {
|
|
244
292
|
var _a, _b;
|
|
245
293
|
const owner = (_a = input.owner) !== null && _a !== void 0 ? _a : 'product';
|
|
246
|
-
const summary = (_b = input.summary) !== null && _b !== void 0 ? _b : `${input.
|
|
247
|
-
return Object.assign(Object.assign({}, input), { alarms:
|
|
294
|
+
const summary = (_b = input.summary) !== null && _b !== void 0 ? _b : `${input.slice} Slice CloudWatch baseline for runtime health, web health, function errors, and smoke validation.`;
|
|
295
|
+
return Object.assign(Object.assign({}, input), { alarms: createDefaultSliceAlarmDefinitions(input), dashboards: [
|
|
248
296
|
createDashboardRegistration({
|
|
249
|
-
app: input.app,
|
|
250
297
|
dashboard: 'operations',
|
|
251
298
|
description: summary,
|
|
299
|
+
slice: input.slice,
|
|
252
300
|
stage: input.stage,
|
|
253
|
-
title: `${input.
|
|
301
|
+
title: `${input.slice} Operations`,
|
|
254
302
|
}),
|
|
255
303
|
], owner, queues: [], summary });
|
|
256
304
|
}
|
|
257
|
-
export function
|
|
305
|
+
export function defineSliceMonitoringRegistration(registration) {
|
|
258
306
|
return registration;
|
|
259
307
|
}
|
|
308
|
+
const EMF_DIMENSIONS = [
|
|
309
|
+
['Stage', 'stage'],
|
|
310
|
+
['Slice', 'slice'],
|
|
311
|
+
['Feature', 'feature'],
|
|
312
|
+
['Component', 'component'],
|
|
313
|
+
['Operation', 'operation'],
|
|
314
|
+
['Outcome', 'outcome'],
|
|
315
|
+
];
|
|
316
|
+
const EMF_INPUT_DIMENSIONS = new Set(EMF_DIMENSIONS.map(([, inputName]) => inputName));
|
|
317
|
+
const EMF_RESERVED_FIELDS = new Set([
|
|
318
|
+
'_aws',
|
|
319
|
+
'recordType',
|
|
320
|
+
...EMF_DIMENSIONS.map(([field]) => field),
|
|
321
|
+
]);
|
|
322
|
+
const METRIC_NAME_PATTERN = /^[A-Za-z][A-Za-z0-9_.-]{0,254}$/;
|
|
323
|
+
const MAX_EMF_RECORD_BYTES = 8 * 1024;
|
|
324
|
+
const METRIC_OUTCOMES = new Set([
|
|
325
|
+
'success',
|
|
326
|
+
'failure',
|
|
327
|
+
'cancelled',
|
|
328
|
+
'unknown',
|
|
329
|
+
]);
|
|
330
|
+
const METRIC_UNITS = new Set([
|
|
331
|
+
'Seconds',
|
|
332
|
+
'Microseconds',
|
|
333
|
+
'Milliseconds',
|
|
334
|
+
'Bytes',
|
|
335
|
+
'Kilobytes',
|
|
336
|
+
'Megabytes',
|
|
337
|
+
'Gigabytes',
|
|
338
|
+
'Terabytes',
|
|
339
|
+
'Bits',
|
|
340
|
+
'Kilobits',
|
|
341
|
+
'Megabits',
|
|
342
|
+
'Gigabits',
|
|
343
|
+
'Terabits',
|
|
344
|
+
'Percent',
|
|
345
|
+
'Count',
|
|
346
|
+
'Bytes/Second',
|
|
347
|
+
'Kilobytes/Second',
|
|
348
|
+
'Megabytes/Second',
|
|
349
|
+
'Gigabytes/Second',
|
|
350
|
+
'Terabytes/Second',
|
|
351
|
+
'Bits/Second',
|
|
352
|
+
'Kilobits/Second',
|
|
353
|
+
'Megabits/Second',
|
|
354
|
+
'Gigabits/Second',
|
|
355
|
+
'Terabits/Second',
|
|
356
|
+
'Count/Second',
|
|
357
|
+
'None',
|
|
358
|
+
]);
|
|
359
|
+
function metricTimestamp(now) {
|
|
360
|
+
const timestamp = now().getTime();
|
|
361
|
+
if (!Number.isFinite(timestamp)) {
|
|
362
|
+
throw new Error('[runtime/observability] EMF timestamp must be a valid date.');
|
|
363
|
+
}
|
|
364
|
+
return timestamp;
|
|
365
|
+
}
|
|
366
|
+
export function createEmfMetricRecord(input) {
|
|
367
|
+
var _a, _b;
|
|
368
|
+
if (!METRIC_NAME_PATTERN.test(input.metricName) ||
|
|
369
|
+
EMF_RESERVED_FIELDS.has(input.metricName)) {
|
|
370
|
+
throw new Error('[runtime/observability] EMF metricName must be a valid, non-reserved CloudWatch metric name.');
|
|
371
|
+
}
|
|
372
|
+
if (!Number.isFinite(input.value)) {
|
|
373
|
+
throw new Error('[runtime/observability] EMF metric value must be finite.');
|
|
374
|
+
}
|
|
375
|
+
if (input.storageResolution !== undefined &&
|
|
376
|
+
input.storageResolution !== 1 &&
|
|
377
|
+
input.storageResolution !== 60) {
|
|
378
|
+
throw new Error('[runtime/observability] EMF storageResolution must be 1 or 60 seconds.');
|
|
379
|
+
}
|
|
380
|
+
if (input.unit !== undefined && !METRIC_UNITS.has(input.unit)) {
|
|
381
|
+
throw new Error('[runtime/observability] Unsupported EMF metric unit.');
|
|
382
|
+
}
|
|
383
|
+
if (input.dimensions.outcome !== undefined &&
|
|
384
|
+
!METRIC_OUTCOMES.has(input.dimensions.outcome)) {
|
|
385
|
+
throw new Error('[runtime/observability] Unsupported EMF outcome.');
|
|
386
|
+
}
|
|
387
|
+
const unsupportedDimensions = Object.keys(input.dimensions).filter((name) => !EMF_INPUT_DIMENSIONS.has(name));
|
|
388
|
+
if (unsupportedDimensions.length > 0) {
|
|
389
|
+
throw new Error(`[runtime/observability] Unsupported EMF dimensions: ${unsupportedDimensions
|
|
390
|
+
.sort()
|
|
391
|
+
.join(', ')}.`);
|
|
392
|
+
}
|
|
393
|
+
const fields = {};
|
|
394
|
+
const dimensionNames = [];
|
|
395
|
+
for (const [emfName, inputName] of EMF_DIMENSIONS) {
|
|
396
|
+
const value = input.dimensions[inputName];
|
|
397
|
+
if (value !== undefined) {
|
|
398
|
+
fields[emfName] = requireDimension(value, inputName);
|
|
399
|
+
dimensionNames.push(emfName);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
const descriptor = Object.assign(Object.assign({ Name: input.metricName }, (input.storageResolution
|
|
403
|
+
? { StorageResolution: input.storageResolution }
|
|
404
|
+
: {})), (input.unit ? { Unit: input.unit } : {}));
|
|
405
|
+
const namespace = ((_a = input.namespace) === null || _a === void 0 ? void 0 : _a.trim()) || createMetricNamespace(input.dimensions.slice);
|
|
406
|
+
if (namespace.length === 0 ||
|
|
407
|
+
namespace.length > 255 ||
|
|
408
|
+
hasControlCharacter(namespace) ||
|
|
409
|
+
namespace.startsWith('AWS/')) {
|
|
410
|
+
throw new Error('[runtime/observability] EMF namespace must be a non-empty, control-free string no longer than 255 characters.');
|
|
411
|
+
}
|
|
412
|
+
const record = Object.assign(Object.assign({ _aws: {
|
|
413
|
+
CloudWatchMetrics: [
|
|
414
|
+
{
|
|
415
|
+
Dimensions: [dimensionNames],
|
|
416
|
+
Metrics: [descriptor],
|
|
417
|
+
Namespace: namespace,
|
|
418
|
+
},
|
|
419
|
+
],
|
|
420
|
+
Timestamp: metricTimestamp((_b = input.now) !== null && _b !== void 0 ? _b : (() => new Date())),
|
|
421
|
+
} }, fields), { recordType: 'metric', Slice: requireDimension(input.dimensions.slice, 'slice'), Stage: requireDimension(input.dimensions.stage, 'stage'), [input.metricName]: input.value });
|
|
422
|
+
if (Buffer.byteLength(JSON.stringify(record), 'utf8') > MAX_EMF_RECORD_BYTES) {
|
|
423
|
+
throw new Error(`[runtime/observability] EMF record exceeds ${MAX_EMF_RECORD_BYTES} bytes.`);
|
|
424
|
+
}
|
|
425
|
+
return record;
|
|
426
|
+
}
|
|
427
|
+
export function serializeEmfMetricRecord(record) {
|
|
428
|
+
return JSON.stringify(record);
|
|
429
|
+
}
|
|
430
|
+
export const processEmfMetricSink = (record) => {
|
|
431
|
+
process.stdout.write(`${serializeEmfMetricRecord(record)}\n`);
|
|
432
|
+
};
|
|
433
|
+
export function createMetricEmitter(options = {}) {
|
|
434
|
+
var _a;
|
|
435
|
+
const sink = (_a = options.sink) !== null && _a !== void 0 ? _a : processEmfMetricSink;
|
|
436
|
+
return {
|
|
437
|
+
emit(input) {
|
|
438
|
+
try {
|
|
439
|
+
const record = createEmfMetricRecord(Object.assign(Object.assign({}, input), { now: options.now }));
|
|
440
|
+
sink(record);
|
|
441
|
+
return record;
|
|
442
|
+
}
|
|
443
|
+
catch (_a) {
|
|
444
|
+
// Metric validation and delivery are observational and cannot replace
|
|
445
|
+
// application behavior.
|
|
446
|
+
return undefined;
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
};
|
|
450
|
+
}
|
|
260
451
|
//# sourceMappingURL=observability.js.map
|
package/src/observability.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../../packages/runtime/src/observability.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../../packages/runtime/src/observability.ts"],"names":[],"mappings":"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"}
|