@mecanizou/telemetry-hub 1.0.1 → 1.0.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/CHANGELOG.md +14 -0
- package/dist/core/__tests__/logger-types.test.d.ts +1 -0
- package/dist/core/__tests__/logger-types.test.js +325 -0
- package/dist/core/__tests__/logger.test.d.ts +1 -0
- package/dist/core/__tests__/logger.test.js +337 -0
- package/dist/core/__tests__/tracer.test.d.ts +1 -0
- package/dist/core/__tests__/tracer.test.js +330 -0
- package/dist/core/index.d.ts +3 -1
- package/dist/core/index.js +4 -2
- package/dist/core/logger-types.js +3 -0
- package/dist/core/logger.d.ts +1 -1
- package/dist/core/logger.js +1 -1
- package/dist/core/tracer-types.d.ts +50 -0
- package/dist/core/tracer-types.js +3 -0
- package/dist/core/tracer.d.ts +10 -0
- package/dist/core/tracer.js +114 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -2
- package/dist/sst/__tests__/telemetry.test.d.ts +1 -0
- package/dist/sst/__tests__/telemetry.test.js +138 -0
- package/dist/sst/index.js +1 -1
- package/dist/sst/middy/index.js +1 -1
- package/dist/sst/middy/middleware.d.ts +1 -1
- package/dist/sst/middy/middleware.js +54 -69
- package/dist/sst/telemetry.d.ts +2 -1
- package/dist/sst/telemetry.js +12 -2
- package/dist/telemetry/sst/middy/middleware.d.ts +1 -1
- package/dist/telemetry/sst/middy/middleware.js +4 -4
- package/dist/tsed/__tests__/config.test.d.ts +1 -0
- package/dist/tsed/__tests__/config.test.js +146 -0
- package/dist/tsed/__tests__/service.test.d.ts +1 -0
- package/dist/tsed/__tests__/service.test.js +63 -0
- package/dist/tsed/config.d.ts +6 -0
- package/dist/tsed/config.js +65 -12
- package/dist/tsed/index.d.ts +1 -0
- package/dist/tsed/index.js +2 -1
- package/dist/tsed/log-telemetry.js +125 -10
- package/dist/tsed/service.d.ts +2 -0
- package/dist/tsed/service.js +20 -1
- package/dist/tsed/sync-log-record-processor.js +1 -1
- package/package.json +1 -1
- package/dist/check-if-is-working.d.ts +0 -1
- package/dist/check-if-is-working.js +0 -8
- package/dist/core/types.js +0 -3
- package/dist/services/index.d.ts +0 -1
- package/dist/services/index.js +0 -18
- package/dist/services/telemetry/config.d.ts +0 -20
- package/dist/services/telemetry/config.js +0 -113
- package/dist/services/telemetry/external-service.d.ts +0 -20
- package/dist/services/telemetry/external-service.js +0 -69
- package/dist/services/telemetry/index.d.ts +0 -3
- package/dist/services/telemetry/index.js +0 -20
- package/dist/services/telemetry/sync-log-record-processor.d.ts +0 -11
- package/dist/services/telemetry/sync-log-record-processor.js +0 -74
- package/dist/telemetry.d.ts +0 -1
- package/dist/telemetry.js +0 -81
- /package/dist/core/{types.d.ts → logger-types.d.ts} +0 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StandardTracer = void 0;
|
|
4
|
+
const api_1 = require("@opentelemetry/api");
|
|
5
|
+
class StandardTracer {
|
|
6
|
+
constructor(tracer, defaultServiceName = 'unknown-service') {
|
|
7
|
+
this.tracer = tracer;
|
|
8
|
+
this.defaultServiceName = defaultServiceName;
|
|
9
|
+
}
|
|
10
|
+
startSpan(data) {
|
|
11
|
+
const attributes = this.buildAttributes(data);
|
|
12
|
+
const span = this.tracer.startSpan(data.spanName, {
|
|
13
|
+
kind: api_1.SpanKind.SERVER,
|
|
14
|
+
attributes,
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
span,
|
|
18
|
+
end: () => span.end(),
|
|
19
|
+
setSuccess: (success) => {
|
|
20
|
+
span.setAttribute('execution.success', success);
|
|
21
|
+
span.setStatus({
|
|
22
|
+
code: success ? api_1.SpanStatusCode.OK : api_1.SpanStatusCode.ERROR,
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
setError: (error) => {
|
|
26
|
+
this.recordException(span, error);
|
|
27
|
+
span.setAttribute('execution.success', false);
|
|
28
|
+
span.setStatus({
|
|
29
|
+
code: api_1.SpanStatusCode.ERROR,
|
|
30
|
+
message: error.message,
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
setAttribute: (key, value) => {
|
|
34
|
+
span.setAttribute(key, value);
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
recordException(span, error) {
|
|
39
|
+
span.recordException(error);
|
|
40
|
+
span.setAttribute('error.type', error.name);
|
|
41
|
+
span.setAttribute('error.message', error.message);
|
|
42
|
+
if (error.stack) {
|
|
43
|
+
span.setAttribute('error.stack', error.stack);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
buildAttributes(data) {
|
|
47
|
+
const attributes = {
|
|
48
|
+
'service.name': data.serviceName || this.defaultServiceName,
|
|
49
|
+
'deployment.environment.name': data.environment,
|
|
50
|
+
};
|
|
51
|
+
if (data.execution) {
|
|
52
|
+
if (data.execution.functionName)
|
|
53
|
+
attributes['faas.name'] = data.execution.functionName;
|
|
54
|
+
if (data.execution.invocationId)
|
|
55
|
+
attributes['faas.invocation_id'] = data.execution.invocationId;
|
|
56
|
+
if (data.execution.awsRequestId)
|
|
57
|
+
attributes['aws.request.id'] = data.execution.awsRequestId;
|
|
58
|
+
if (data.execution.requestId)
|
|
59
|
+
attributes['request.id'] = data.execution.requestId;
|
|
60
|
+
if (data.execution.controller)
|
|
61
|
+
attributes['controller.name'] = data.execution.controller;
|
|
62
|
+
if (data.execution.controllerMethod)
|
|
63
|
+
attributes['controller.method'] = data.execution.controllerMethod;
|
|
64
|
+
if (data.execution.origin)
|
|
65
|
+
attributes['origin'] = data.execution.origin;
|
|
66
|
+
}
|
|
67
|
+
if (data.http) {
|
|
68
|
+
if (data.http.method)
|
|
69
|
+
attributes['http.method'] = data.http.method;
|
|
70
|
+
if (data.http.url)
|
|
71
|
+
attributes['http.url'] = data.http.url;
|
|
72
|
+
if (data.http.endpoint)
|
|
73
|
+
attributes['http.target'] = data.http.endpoint;
|
|
74
|
+
if (data.http.statusCode)
|
|
75
|
+
attributes['http.status_code'] = data.http.statusCode;
|
|
76
|
+
if (data.http.scheme)
|
|
77
|
+
attributes['http.scheme'] = data.http.scheme;
|
|
78
|
+
if (data.http.host)
|
|
79
|
+
attributes['http.host'] = data.http.host;
|
|
80
|
+
}
|
|
81
|
+
if (data.user) {
|
|
82
|
+
if (data.user.accountUserUid)
|
|
83
|
+
attributes['accountUser.uid'] = data.user.accountUserUid;
|
|
84
|
+
if (data.user.accountUid)
|
|
85
|
+
attributes['account.uid'] = data.user.accountUid;
|
|
86
|
+
if (data.user.applicationUid)
|
|
87
|
+
attributes['application.uid'] = data.user.applicationUid;
|
|
88
|
+
}
|
|
89
|
+
if (data.performance) {
|
|
90
|
+
if (data.performance.durationMs)
|
|
91
|
+
attributes['duration.ms'] = data.performance.durationMs;
|
|
92
|
+
if (data.performance.success !== undefined)
|
|
93
|
+
attributes['execution.success'] = data.performance.success;
|
|
94
|
+
}
|
|
95
|
+
if (data.error) {
|
|
96
|
+
if (data.error.type)
|
|
97
|
+
attributes['error.type'] = data.error.type;
|
|
98
|
+
if (data.error.message)
|
|
99
|
+
attributes['error.message'] = data.error.message;
|
|
100
|
+
if (data.error.stack)
|
|
101
|
+
attributes['error.stack'] = data.error.stack;
|
|
102
|
+
}
|
|
103
|
+
if (data.attributes) {
|
|
104
|
+
Object.entries(data.attributes).forEach(([key, value]) => {
|
|
105
|
+
if (value !== undefined && value !== null) {
|
|
106
|
+
attributes[key] = value;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return Object.fromEntries(Object.entries(attributes).filter(([, value]) => value !== undefined && value !== null));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.StandardTracer = StandardTracer;
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvdHJhY2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRDQUE0RTtBQVc1RSxNQUFhLGNBQWM7SUFDekIsWUFDbUIsTUFBYyxFQUNkLHFCQUE2QixpQkFBaUI7UUFEOUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBNEI7SUFDOUQsQ0FBQztJQUtKLFNBQVMsQ0FBQyxJQUF1QjtRQUMvQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEQsSUFBSSxFQUFFLGNBQVEsQ0FBQyxNQUFNO1lBQ3JCLFVBQVU7U0FDWCxDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsSUFBSTtZQUNKLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3JCLFVBQVUsRUFBRSxDQUFDLE9BQWdCLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDYixJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxvQkFBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQWMsQ0FBQyxLQUFLO2lCQUN6RCxDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsUUFBUSxFQUFFLENBQUMsS0FBWSxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxJQUFJ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SSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQUUsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ2hFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUFFLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN6RSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztnQkFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDckUsQ0FBQztRQUdELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQzFCLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFHRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUMvQixDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUNyRCxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFsSUQsd0NBa0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3BhbiwgU3BhblN0YXR1c0NvZGUsIFRyYWNlciwgU3BhbktpbmQgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xyXG5pbXBvcnQge1xyXG4gIElTdGFuZGFyZFRyYWNlcixcclxuICBTdGFuZGFyZFRyYWNlRGF0YSxcclxuICBTdGFuZGFyZFNwYW5SZXN1bHQsXHJcbn0gZnJvbSAnLi90cmFjZXItdHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIFRyYWNlciBwYWRyb25pemFkbyBxdWUgZ2FyYW50ZSBjb25zaXN0w6puY2lhIG5vcyB0cmFjZXMuXHJcbiAqIENvbXBsZW1lbnRhIG8gU3RhbmRhcmRMb2dnZXIgcGFyYSBvYnNlcnZhYmlsaWRhZGUgY29tcGxldGEuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRUcmFjZXIgaW1wbGVtZW50cyBJU3RhbmRhcmRUcmFjZXIge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFjZXI6IFRyYWNlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdFNlcnZpY2VOYW1lOiBzdHJpbmcgPSAndW5rbm93bi1zZXJ2aWNlJ1xyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pY2lhIHVtIG5vdm8gc3BhbiBjb20gYXRyaWJ1dG9zIHBhZHJvbml6YWRvc1xyXG4gICAqL1xyXG4gIHN0YXJ0U3BhbihkYXRhOiBTdGFuZGFyZFRyYWNlRGF0YSk6IFN0YW5kYXJkU3BhblJlc3VsdCB7XHJcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5idWlsZEF0dHJpYnV0ZXMoZGF0YSk7XHJcblxyXG4gICAgY29uc3Qgc3BhbiA9IHRoaXMudHJhY2VyLnN0YXJ0U3BhbihkYXRhLnNwYW5OYW1lLCB7XHJcbiAgICAgIGtpbmQ6IFNwYW5LaW5kLlNFUlZFUixcclxuICAgICAgYXR0cmlidXRlcyxcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIHNwYW4sXHJcbiAgICAgIGVuZDogKCkgPT4gc3Bhbi5lbmQoKSxcclxuICAgICAgc2V0U3VjY2VzczogKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBzcGFuLnNldEF0dHJpYnV0ZSgnZXhlY3V0aW9uLnN1Y2Nlc3MnLCBzdWNjZXNzKTtcclxuICAgICAgICBzcGFuLnNldFN0YXR1cyh7XHJcbiAgICAgICAgICBjb2RlOiBzdWNjZXNzID8gU3BhblN0YXR1c0NvZGUuT0sgOiBTcGFuU3RhdHVzQ29kZS5FUlJPUixcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgc2V0RXJyb3I6IChlcnJvcjogRXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLnJlY29yZEV4Y2VwdGlvbihzcGFuLCBlcnJvcik7XHJcbiAgICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ2V4ZWN1dGlvbi5zdWNjZXNzJywgZmFsc2UpO1xyXG4gICAgICAgIHNwYW4uc2V0U3RhdHVzKHtcclxuICAgICAgICAgIGNvZGU6IFNwYW5TdGF0dXNDb2RlLkVSUk9SLFxyXG4gICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgc2V0QXR0cmlidXRlOiAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGUoa2V5LCB2YWx1ZSk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0cmEgdW1hIGV4Y2XDp8OjbyBubyBzcGFuXHJcbiAgICovXHJcbiAgcmVjb3JkRXhjZXB0aW9uKHNwYW46IFNwYW4sIGVycm9yOiBFcnJvcik6IHZvaWQge1xyXG4gICAgc3Bhbi5yZWNvcmRFeGNlcHRpb24oZXJyb3IpO1xyXG4gICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ2Vycm9yLnR5cGUnLCBlcnJvci5uYW1lKTtcclxuICAgIHNwYW4uc2V0QXR0cmlidXRlKCdlcnJvci5tZXNzYWdlJywgZXJyb3IubWVzc2FnZSk7XHJcbiAgICBpZiAoZXJyb3Iuc3RhY2spIHtcclxuICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ2Vycm9yLnN0YWNrJywgZXJyb3Iuc3RhY2spO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3Ryw7NpIGF0cmlidXRvcyBwYWRyb25pemFkb3MgcGFyYSBvIHNwYW5cclxuICAgKi9cclxuICBwcml2YXRlIGJ1aWxkQXR0cmlidXRlcyhkYXRhOiBTdGFuZGFyZFRyYWNlRGF0YSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG4gICAgY29uc3QgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcclxuICAgICAgJ3NlcnZpY2UubmFtZSc6IGRhdGEuc2VydmljZU5hbWUgfHwgdGhpcy5kZWZhdWx0U2VydmljZU5hbWUsXHJcbiAgICAgICdkZXBsb3ltZW50LmVudmlyb25tZW50Lm5hbWUnOiBkYXRhLmVudmlyb25tZW50LFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBFeGVjdcOnw6NvXHJcbiAgICBpZiAoZGF0YS5leGVjdXRpb24pIHtcclxuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLmZ1bmN0aW9uTmFtZSlcclxuICAgICAgICBhdHRyaWJ1dGVzWydmYWFzLm5hbWUnXSA9IGRhdGEuZXhlY3V0aW9uLmZ1bmN0aW9uTmFtZTtcclxuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLmludm9jYXRpb25JZClcclxuICAgICAgICBhdHRyaWJ1dGVzWydmYWFzLmludm9jYXRpb25faWQnXSA9IGRhdGEuZXhlY3V0aW9uLmludm9jYXRpb25JZDtcclxuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLmF3c1JlcXVlc3RJZClcclxuICAgICAgICBhdHRyaWJ1dGVzWydhd3MucmVxdWVzdC5pZCddID0gZGF0YS5leGVjdXRpb24uYXdzUmVxdWVzdElkO1xyXG4gICAgICBpZiAoZGF0YS5leGVjdXRpb24ucmVxdWVzdElkKVxyXG4gICAgICAgIGF0dHJpYnV0ZXNbJ3JlcXVlc3QuaWQnXSA9IGRhdGEuZXhlY3V0aW9uLnJlcXVlc3RJZDtcclxuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLmNvbnRyb2xsZXIpXHJcbiAgICAgICAgYXR0cmlidXRlc1snY29udHJvbGxlci5uYW1lJ10gPSBkYXRhLmV4ZWN1dGlvbi5jb250cm9sbGVyO1xyXG4gICAgICBpZiAoZGF0YS5leGVjdXRpb24uY29udHJvbGxlck1ldGhvZClcclxuICAgICAgICBhdHRyaWJ1dGVzWydjb250cm9sbGVyLm1ldGhvZCddID0gZGF0YS5leGVjdXRpb24uY29udHJvbGxlck1ldGhvZDtcclxuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLm9yaWdpbikgYXR0cmlidXRlc1snb3JpZ2luJ10gPSBkYXRhLmV4ZWN1dGlvbi5vcmlnaW47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSFRUUFxyXG4gICAgaWYgKGRhdGEuaHR0cCkge1xyXG4gICAgICBpZiAoZGF0YS5odHRwLm1ldGhvZCkgYXR0cmlidXRlc1snaHR0cC5tZXRob2QnXSA9IGRhdGEuaHR0cC5tZXRob2Q7XHJcbiAgICAgIGlmIChkYXRhLmh0dHAudXJsKSBhdHRyaWJ1dGVzWydodHRwLnVybCddID0gZGF0YS5odHRwLnVybDtcclxuICAgICAgaWYgKGRhdGEuaHR0cC5lbmRwb2ludCkgYXR0cmlidXRlc1snaHR0cC50YXJnZXQnXSA9IGRhdGEuaHR0cC5lbmRwb2ludDtcclxuICAgICAgaWYgKGRhdGEuaHR0cC5zdGF0dXNDb2RlKVxyXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2h0dHAuc3RhdHVzX2NvZGUnXSA9IGRhdGEuaHR0cC5zdGF0dXNDb2RlO1xyXG4gICAgICBpZiAoZGF0YS5odHRwLnNjaGVtZSkgYXR0cmlidXRlc1snaHR0cC5zY2hlbWUnXSA9IGRhdGEuaHR0cC5zY2hlbWU7XHJcbiAgICAgIGlmIChkYXRhLmh0dHAuaG9zdCkgYXR0cmlidXRlc1snaHR0cC5ob3N0J10gPSBkYXRhLmh0dHAuaG9zdDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBVc3XDoXJpb1xyXG4gICAgaWYgKGRhdGEudXNlcikge1xyXG4gICAgICBpZiAoZGF0YS51c2VyLmFjY291bnRVc2VyVWlkKVxyXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2FjY291bnRVc2VyLnVpZCddID0gZGF0YS51c2VyLmFjY291bnRVc2VyVWlkO1xyXG4gICAgICBpZiAoZGF0YS51c2VyLmFjY291bnRVaWQpXHJcbiAgICAgICAgYXR0cmlidXRlc1snYWNjb3VudC51aWQnXSA9IGRhdGEudXNlci5hY2NvdW50VWlkO1xyXG4gICAgICBpZiAoZGF0YS51c2VyLmFwcGxpY2F0aW9uVWlkKVxyXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2FwcGxpY2F0aW9uLnVpZCddID0gZGF0YS51c2VyLmFwcGxpY2F0aW9uVWlkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFBlcmZvcm1hbmNlXHJcbiAgICBpZiAoZGF0YS5wZXJmb3JtYW5jZSkge1xyXG4gICAgICBpZiAoZGF0YS5wZXJmb3JtYW5jZS5kdXJhdGlvbk1zKVxyXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2R1cmF0aW9uLm1zJ10gPSBkYXRhLnBlcmZvcm1hbmNlLmR1cmF0aW9uTXM7XHJcbiAgICAgIGlmIChkYXRhLnBlcmZvcm1hbmNlLnN1Y2Nlc3MgIT09IHVuZGVmaW5lZClcclxuICAgICAgICBhdHRyaWJ1dGVzWydleGVjdXRpb24uc3VjY2VzcyddID0gZGF0YS5wZXJmb3JtYW5jZS5zdWNjZXNzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEVycm9cclxuICAgIGlmIChkYXRhLmVycm9yKSB7XHJcbiAgICAgIGlmIChkYXRhLmVycm9yLnR5cGUpIGF0dHJpYnV0ZXNbJ2Vycm9yLnR5cGUnXSA9IGRhdGEuZXJyb3IudHlwZTtcclxuICAgICAgaWYgKGRhdGEuZXJyb3IubWVzc2FnZSkgYXR0cmlidXRlc1snZXJyb3IubWVzc2FnZSddID0gZGF0YS5lcnJvci5tZXNzYWdlO1xyXG4gICAgICBpZiAoZGF0YS5lcnJvci5zdGFjaykgYXR0cmlidXRlc1snZXJyb3Iuc3RhY2snXSA9IGRhdGEuZXJyb3Iuc3RhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQXRyaWJ1dG9zIGN1c3RvbWl6YWRvc1xyXG4gICAgaWYgKGRhdGEuYXR0cmlidXRlcykge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhLmF0dHJpYnV0ZXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICBhdHRyaWJ1dGVzW2tleV0gPSB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZpbHRyYXIgdmFsb3JlcyB1bmRlZmluZWQvbnVsbFxyXG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcclxuICAgICAgT2JqZWN0LmVudHJpZXMoYXR0cmlidXRlcykuZmlsdGVyKFxyXG4gICAgICAgIChbLCB2YWx1ZV0pID0+IHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGxcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -14,5 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
|
|
17
|
+
__exportStar(require("./core"), exports);
|
|
18
|
+
__exportStar(require("./tsed"), exports);
|
|
19
|
+
__exportStar(require("./sst"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QjtBQUN2Qix5Q0FBdUI7QUFDdkIsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb3JlJztcclxuZXhwb3J0ICogZnJvbSAnLi90c2VkJztcclxuZXhwb3J0ICogZnJvbSAnLi9zc3QnO1xyXG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
const vitest_1 = require("vitest");
|
|
46
|
+
(0, vitest_1.beforeAll)(() => {
|
|
47
|
+
process.env.OTEL_EXPORTER_OTLP_ENDPOINT = 'https://test.example.com';
|
|
48
|
+
process.env.OTEL_EXPORTER_OTLP_USER = 'test-user';
|
|
49
|
+
process.env.OTEL_EXPORTER_OTLP_PASS = 'test-pass';
|
|
50
|
+
process.env.SERVICE_NAME = 'test-service';
|
|
51
|
+
});
|
|
52
|
+
let telemetryModule;
|
|
53
|
+
(0, vitest_1.beforeAll)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
54
|
+
telemetryModule = yield Promise.resolve().then(() => __importStar(require('../telemetry')));
|
|
55
|
+
}));
|
|
56
|
+
(0, vitest_1.describe)('SST Telemetry', () => {
|
|
57
|
+
(0, vitest_1.describe)('getStandardLogger', () => {
|
|
58
|
+
(0, vitest_1.it)('deve retornar uma instância de StandardLogger', () => {
|
|
59
|
+
const logger = telemetryModule.getStandardLogger();
|
|
60
|
+
(0, vitest_1.expect)(logger).toBeDefined();
|
|
61
|
+
(0, vitest_1.expect)(logger.logError).toBeDefined();
|
|
62
|
+
(0, vitest_1.expect)(logger.logInfo).toBeDefined();
|
|
63
|
+
(0, vitest_1.expect)(logger.logWarn).toBeDefined();
|
|
64
|
+
(0, vitest_1.expect)(logger.logDebug).toBeDefined();
|
|
65
|
+
});
|
|
66
|
+
(0, vitest_1.it)('deve retornar sempre a mesma instância (singleton)', () => {
|
|
67
|
+
const logger1 = telemetryModule.getStandardLogger();
|
|
68
|
+
const logger2 = telemetryModule.getStandardLogger();
|
|
69
|
+
(0, vitest_1.expect)(logger1).toBe(logger2);
|
|
70
|
+
});
|
|
71
|
+
(0, vitest_1.it)('deve ter métodos de log funcionais', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
+
const logger = telemetryModule.getStandardLogger();
|
|
73
|
+
yield (0, vitest_1.expect)(logger.logInfo({
|
|
74
|
+
message: 'Test log',
|
|
75
|
+
serviceName: 'test-service',
|
|
76
|
+
environment: 'test',
|
|
77
|
+
})).resolves.not.toThrow();
|
|
78
|
+
}));
|
|
79
|
+
});
|
|
80
|
+
(0, vitest_1.describe)('getStandardTracer', () => {
|
|
81
|
+
(0, vitest_1.it)('deve retornar uma instância de StandardTracer', () => {
|
|
82
|
+
const tracer = telemetryModule.getStandardTracer();
|
|
83
|
+
(0, vitest_1.expect)(tracer).toBeDefined();
|
|
84
|
+
(0, vitest_1.expect)(tracer.startSpan).toBeDefined();
|
|
85
|
+
(0, vitest_1.expect)(tracer.recordException).toBeDefined();
|
|
86
|
+
});
|
|
87
|
+
(0, vitest_1.it)('deve retornar sempre a mesma instância (singleton)', () => {
|
|
88
|
+
const tracer1 = telemetryModule.getStandardTracer();
|
|
89
|
+
const tracer2 = telemetryModule.getStandardTracer();
|
|
90
|
+
(0, vitest_1.expect)(tracer1).toBe(tracer2);
|
|
91
|
+
});
|
|
92
|
+
(0, vitest_1.it)('deve criar spans funcionais', () => {
|
|
93
|
+
const tracer = telemetryModule.getStandardTracer();
|
|
94
|
+
const spanResult = tracer.startSpan({
|
|
95
|
+
spanName: 'test-span',
|
|
96
|
+
serviceName: 'test-service',
|
|
97
|
+
environment: 'test',
|
|
98
|
+
});
|
|
99
|
+
(0, vitest_1.expect)(spanResult).toBeDefined();
|
|
100
|
+
(0, vitest_1.expect)(spanResult.span).toBeDefined();
|
|
101
|
+
(0, vitest_1.expect)(spanResult.end).toBeDefined();
|
|
102
|
+
(0, vitest_1.expect)(spanResult.setSuccess).toBeDefined();
|
|
103
|
+
(0, vitest_1.expect)(spanResult.setError).toBeDefined();
|
|
104
|
+
(0, vitest_1.expect)(spanResult.setAttribute).toBeDefined();
|
|
105
|
+
spanResult.end();
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
(0, vitest_1.describe)('forceFlush', () => {
|
|
109
|
+
(0, vitest_1.it)('deve executar sem erros', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
110
|
+
yield (0, vitest_1.expect)(telemetryModule.forceFlush()).resolves.not.toThrow();
|
|
111
|
+
}));
|
|
112
|
+
(0, vitest_1.it)('deve retornar uma Promise', () => {
|
|
113
|
+
const result = telemetryModule.forceFlush();
|
|
114
|
+
(0, vitest_1.expect)(result).toBeInstanceOf(Promise);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
(0, vitest_1.describe)('integração logger e tracer', () => {
|
|
118
|
+
(0, vitest_1.it)('deve funcionar logger e tracer juntos', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
119
|
+
const logger = telemetryModule.getStandardLogger();
|
|
120
|
+
const tracer = telemetryModule.getStandardTracer();
|
|
121
|
+
const spanResult = tracer.startSpan({
|
|
122
|
+
spanName: 'integration-test',
|
|
123
|
+
serviceName: 'test-service',
|
|
124
|
+
environment: 'test',
|
|
125
|
+
});
|
|
126
|
+
yield logger.logInfo({
|
|
127
|
+
message: 'Integration test',
|
|
128
|
+
serviceName: 'test-service',
|
|
129
|
+
environment: 'test',
|
|
130
|
+
});
|
|
131
|
+
spanResult.setSuccess(true);
|
|
132
|
+
spanResult.end();
|
|
133
|
+
yield telemetryModule.forceFlush();
|
|
134
|
+
(0, vitest_1.expect)(true).toBe(true);
|
|
135
|
+
}));
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3N0L19fdGVzdHNfXy90ZWxlbWV0cnkudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1DQUF5RTtBQUd6RSxJQUFBLGtCQUFTLEVBQUMsR0FBRyxFQUFFO0lBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsR0FBRywwQkFBMEIsQ0FBQztJQUNyRSxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixHQUFHLFdBQVcsQ0FBQztJQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixHQUFHLFdBQVcsQ0FBQztJQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUM7QUFHSCxJQUFJLGVBQW9CLENBQUM7QUFDekIsSUFBQSxrQkFBUyxFQUFDLEdBQVMsRUFBRTtJQUNuQixlQUFlLEdBQUcsd0RBQWEsY0FBYyxHQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFBLENBQUMsQ0FBQztBQUVILElBQUEsaUJBQVEsRUFBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBQzdCLElBQUEsaUJBQVEsRUFBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFDakMsSUFBQSxXQUFFLEVBQUMsK0NBQStDLEVBQUUsR0FBRyxFQUFFO1lBQ3ZELE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBRW5ELElBQUEsZUFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdCLElBQUEsZUFBTSxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxJQUFBLGVBQU0sRUFBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckMsSUFBQSxlQUFNLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLElBQUEsZUFBTSxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUEsV0FBRSxFQUFDLG9EQUFvRCxFQUFFLEdBQUcsRUFBRTtZQUM1RCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNwRCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUVwRCxJQUFBLGVBQU0sRUFBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFBLFdBQUUsRUFBQyxvQ0FBb0MsRUFBRSxHQUFTLEVBQUU7WUFDbEQsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFHbkQsTUFBTSxJQUFBLGVBQU0sRUFDVixNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUNiLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixXQUFXLEVBQUUsY0FBYztnQkFDM0IsV0FBVyxFQUFFLE1BQU07YUFDcEIsQ0FBQyxDQUNILENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLGlCQUFRLEVBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ2pDLElBQUEsV0FBRSxFQUFDLCtDQUErQyxFQUFFLEdBQUcsRUFBRTtZQUN2RCxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUVuRCxJQUFBLGVBQU0sRUFBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QixJQUFBLGVBQU0sRUFBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBQSxlQUFNLEVBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBQSxXQUFFLEVBQUMsb0RBQW9ELEVBQUUsR0FBRyxFQUFFO1lBQzVELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBRXBELElBQUEsZUFBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUEsV0FBRSxFQUFDLDZCQUE2QixFQUFFLEdBQUcsRUFBRTtZQUNyQyxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUVuRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO2dCQUNsQyxRQUFRLEVBQUUsV0FBVztnQkFDckIsV0FBVyxFQUFFLGNBQWM7Z0JBQzNCLFdBQVcsRUFBRSxNQUFNO2FBQ3BCLENBQUMsQ0FBQztZQUVILElBQUEsZUFBTSxFQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pDLElBQUEsZUFBTSxFQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxJQUFBLGVBQU0sRUFBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckMsSUFBQSxlQUFNLEVBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVDLElBQUEsZUFBTSxFQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxJQUFBLGVBQU0sRUFBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFHOUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLGlCQUFRLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUMxQixJQUFBLFdBQUUsRUFBQyx5QkFBeUIsRUFBRSxHQUFTLEVBQUU7WUFDdkMsTUFBTSxJQUFBLGVBQU0sRUFBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BFLENBQUMsQ0FBQSxDQUFDLENBQUM7UUFFSCxJQUFBLFdBQUUsRUFBQywyQkFBMkIsRUFBRSxHQUFHLEVBQUU7WUFDbkMsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzVDLElBQUEsZUFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSxpQkFBUSxFQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRTtRQUMxQyxJQUFBLFdBQUUsRUFBQyx1Q0FBdUMsRUFBRSxHQUFTLEVBQUU7WUFDckQsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbkQsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFbkQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztnQkFDbEMsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsV0FBVyxFQUFFLGNBQWM7Z0JBQzNCLFdBQVcsRUFBRSxNQUFNO2FBQ3BCLENBQUMsQ0FBQztZQUVILE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQztnQkFDbkIsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLGNBQWM7Z0JBQzNCLFdBQVcsRUFBRSxNQUFNO2FBQ3BCLENBQUMsQ0FBQztZQUVILFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRWpCLE1BQU0sZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBR25DLElBQUEsZUFBTSxFQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2NyaWJlLCBpdCwgZXhwZWN0LCB2aSwgYmVmb3JlRWFjaCwgYmVmb3JlQWxsIH0gZnJvbSAndml0ZXN0JztcclxuXHJcbi8vIFNldHVwIGVudiB2YXJzIGFudGVzIGRlIGltcG9ydGFyXHJcbmJlZm9yZUFsbCgoKSA9PiB7XHJcbiAgcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UID0gJ2h0dHBzOi8vdGVzdC5leGFtcGxlLmNvbSc7XHJcbiAgcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX1VTRVIgPSAndGVzdC11c2VyJztcclxuICBwcm9jZXNzLmVudi5PVEVMX0VYUE9SVEVSX09UTFBfUEFTUyA9ICd0ZXN0LXBhc3MnO1xyXG4gIHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRSA9ICd0ZXN0LXNlcnZpY2UnO1xyXG59KTtcclxuXHJcbi8vIEltcG9ydGHDp8OjbyBkaW7Dom1pY2EgcGFyYSBnYXJhbnRpciBxdWUgZW52IHZhcnMgZXN0ZWphbSBzZXRhZGFzXHJcbmxldCB0ZWxlbWV0cnlNb2R1bGU6IGFueTtcclxuYmVmb3JlQWxsKGFzeW5jICgpID0+IHtcclxuICB0ZWxlbWV0cnlNb2R1bGUgPSBhd2FpdCBpbXBvcnQoJy4uL3RlbGVtZXRyeScpO1xyXG59KTtcclxuXHJcbmRlc2NyaWJlKCdTU1QgVGVsZW1ldHJ5JywgKCkgPT4ge1xyXG4gIGRlc2NyaWJlKCdnZXRTdGFuZGFyZExvZ2dlcicsICgpID0+IHtcclxuICAgIGl0KCdkZXZlIHJldG9ybmFyIHVtYSBpbnN0w6JuY2lhIGRlIFN0YW5kYXJkTG9nZ2VyJywgKCkgPT4ge1xyXG4gICAgICBjb25zdCBsb2dnZXIgPSB0ZWxlbWV0cnlNb2R1bGUuZ2V0U3RhbmRhcmRMb2dnZXIoKTtcclxuXHJcbiAgICAgIGV4cGVjdChsb2dnZXIpLnRvQmVEZWZpbmVkKCk7XHJcbiAgICAgIGV4cGVjdChsb2dnZXIubG9nRXJyb3IpLnRvQmVEZWZpbmVkKCk7XHJcbiAgICAgIGV4cGVjdChsb2dnZXIubG9nSW5mbykudG9CZURlZmluZWQoKTtcclxuICAgICAgZXhwZWN0KGxvZ2dlci5sb2dXYXJuKS50b0JlRGVmaW5lZCgpO1xyXG4gICAgICBleHBlY3QobG9nZ2VyLmxvZ0RlYnVnKS50b0JlRGVmaW5lZCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaXQoJ2RldmUgcmV0b3JuYXIgc2VtcHJlIGEgbWVzbWEgaW5zdMOibmNpYSAoc2luZ2xldG9uKScsICgpID0+IHtcclxuICAgICAgY29uc3QgbG9nZ2VyMSA9IHRlbGVtZXRyeU1vZHVsZS5nZXRTdGFuZGFyZExvZ2dlcigpO1xyXG4gICAgICBjb25zdCBsb2dnZXIyID0gdGVsZW1ldHJ5TW9kdWxlLmdldFN0YW5kYXJkTG9nZ2VyKCk7XHJcblxyXG4gICAgICBleHBlY3QobG9nZ2VyMSkudG9CZShsb2dnZXIyKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGl0KCdkZXZlIHRlciBtw6l0b2RvcyBkZSBsb2cgZnVuY2lvbmFpcycsIGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3QgbG9nZ2VyID0gdGVsZW1ldHJ5TW9kdWxlLmdldFN0YW5kYXJkTG9nZ2VyKCk7XHJcblxyXG4gICAgICAvLyBUZXN0YSBzZSBvcyBtw6l0b2RvcyBwb2RlbSBzZXIgY2hhbWFkb3Mgc2VtIGVycm9cclxuICAgICAgYXdhaXQgZXhwZWN0KFxyXG4gICAgICAgIGxvZ2dlci5sb2dJbmZvKHtcclxuICAgICAgICAgIG1lc3NhZ2U6ICdUZXN0IGxvZycsXHJcbiAgICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXHJcbiAgICAgICAgICBlbnZpcm9ubWVudDogJ3Rlc3QnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICkucmVzb2x2ZXMubm90LnRvVGhyb3coKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICBkZXNjcmliZSgnZ2V0U3RhbmRhcmRUcmFjZXInLCAoKSA9PiB7XHJcbiAgICBpdCgnZGV2ZSByZXRvcm5hciB1bWEgaW5zdMOibmNpYSBkZSBTdGFuZGFyZFRyYWNlcicsICgpID0+IHtcclxuICAgICAgY29uc3QgdHJhY2VyID0gdGVsZW1ldHJ5TW9kdWxlLmdldFN0YW5kYXJkVHJhY2VyKCk7XHJcblxyXG4gICAgICBleHBlY3QodHJhY2VyKS50b0JlRGVmaW5lZCgpO1xyXG4gICAgICBleHBlY3QodHJhY2VyLnN0YXJ0U3BhbikudG9CZURlZmluZWQoKTtcclxuICAgICAgZXhwZWN0KHRyYWNlci5yZWNvcmRFeGNlcHRpb24pLnRvQmVEZWZpbmVkKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpdCgnZGV2ZSByZXRvcm5hciBzZW1wcmUgYSBtZXNtYSBpbnN0w6JuY2lhIChzaW5nbGV0b24pJywgKCkgPT4ge1xyXG4gICAgICBjb25zdCB0cmFjZXIxID0gdGVsZW1ldHJ5TW9kdWxlLmdldFN0YW5kYXJkVHJhY2VyKCk7XHJcbiAgICAgIGNvbnN0IHRyYWNlcjIgPSB0ZWxlbWV0cnlNb2R1bGUuZ2V0U3RhbmRhcmRUcmFjZXIoKTtcclxuXHJcbiAgICAgIGV4cGVjdCh0cmFjZXIxKS50b0JlKHRyYWNlcjIpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaXQoJ2RldmUgY3JpYXIgc3BhbnMgZnVuY2lvbmFpcycsICgpID0+IHtcclxuICAgICAgY29uc3QgdHJhY2VyID0gdGVsZW1ldHJ5TW9kdWxlLmdldFN0YW5kYXJkVHJhY2VyKCk7XHJcblxyXG4gICAgICBjb25zdCBzcGFuUmVzdWx0ID0gdHJhY2VyLnN0YXJ0U3Bhbih7XHJcbiAgICAgICAgc3Bhbk5hbWU6ICd0ZXN0LXNwYW4nLFxyXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcclxuICAgICAgICBlbnZpcm9ubWVudDogJ3Rlc3QnLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGV4cGVjdChzcGFuUmVzdWx0KS50b0JlRGVmaW5lZCgpO1xyXG4gICAgICBleHBlY3Qoc3BhblJlc3VsdC5zcGFuKS50b0JlRGVmaW5lZCgpO1xyXG4gICAgICBleHBlY3Qoc3BhblJlc3VsdC5lbmQpLnRvQmVEZWZpbmVkKCk7XHJcbiAgICAgIGV4cGVjdChzcGFuUmVzdWx0LnNldFN1Y2Nlc3MpLnRvQmVEZWZpbmVkKCk7XHJcbiAgICAgIGV4cGVjdChzcGFuUmVzdWx0LnNldEVycm9yKS50b0JlRGVmaW5lZCgpO1xyXG4gICAgICBleHBlY3Qoc3BhblJlc3VsdC5zZXRBdHRyaWJ1dGUpLnRvQmVEZWZpbmVkKCk7XHJcblxyXG4gICAgICAvLyBMaW1wYXIgc3BhblxyXG4gICAgICBzcGFuUmVzdWx0LmVuZCgpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIGRlc2NyaWJlKCdmb3JjZUZsdXNoJywgKCkgPT4ge1xyXG4gICAgaXQoJ2RldmUgZXhlY3V0YXIgc2VtIGVycm9zJywgYXN5bmMgKCkgPT4ge1xyXG4gICAgICBhd2FpdCBleHBlY3QodGVsZW1ldHJ5TW9kdWxlLmZvcmNlRmx1c2goKSkucmVzb2x2ZXMubm90LnRvVGhyb3coKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGl0KCdkZXZlIHJldG9ybmFyIHVtYSBQcm9taXNlJywgKCkgPT4ge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZWxlbWV0cnlNb2R1bGUuZm9yY2VGbHVzaCgpO1xyXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlSW5zdGFuY2VPZihQcm9taXNlKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICBkZXNjcmliZSgnaW50ZWdyYcOnw6NvIGxvZ2dlciBlIHRyYWNlcicsICgpID0+IHtcclxuICAgIGl0KCdkZXZlIGZ1bmNpb25hciBsb2dnZXIgZSB0cmFjZXIganVudG9zJywgYXN5bmMgKCkgPT4ge1xyXG4gICAgICBjb25zdCBsb2dnZXIgPSB0ZWxlbWV0cnlNb2R1bGUuZ2V0U3RhbmRhcmRMb2dnZXIoKTtcclxuICAgICAgY29uc3QgdHJhY2VyID0gdGVsZW1ldHJ5TW9kdWxlLmdldFN0YW5kYXJkVHJhY2VyKCk7XHJcblxyXG4gICAgICBjb25zdCBzcGFuUmVzdWx0ID0gdHJhY2VyLnN0YXJ0U3Bhbih7XHJcbiAgICAgICAgc3Bhbk5hbWU6ICdpbnRlZ3JhdGlvbi10ZXN0JyxcclxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXHJcbiAgICAgICAgZW52aXJvbm1lbnQ6ICd0ZXN0JyxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBhd2FpdCBsb2dnZXIubG9nSW5mbyh7XHJcbiAgICAgICAgbWVzc2FnZTogJ0ludGVncmF0aW9uIHRlc3QnLFxyXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcclxuICAgICAgICBlbnZpcm9ubWVudDogJ3Rlc3QnLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHNwYW5SZXN1bHQuc2V0U3VjY2Vzcyh0cnVlKTtcclxuICAgICAgc3BhblJlc3VsdC5lbmQoKTtcclxuXHJcbiAgICAgIGF3YWl0IHRlbGVtZXRyeU1vZHVsZS5mb3JjZUZsdXNoKCk7XHJcblxyXG4gICAgICAvLyBTZSBjaGVnb3UgYXF1aSwgcGFzc291XHJcbiAgICAgIGV4cGVjdCh0cnVlKS50b0JlKHRydWUpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcbn0pO1xyXG4iXX0=
|
package/dist/sst/index.js
CHANGED
|
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./middy"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3N0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21pZGR5JztcclxuIl19
|
package/dist/sst/middy/index.js
CHANGED
|
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./middleware"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3N0L21pZGR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21pZGRsZXdhcmUnO1xyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import middy from '@middy/core';
|
|
2
2
|
interface MiddyMiddlewareOptions {
|
|
3
3
|
}
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const middyTelemetryMiddleware: (options?: MiddyMiddlewareOptions) => middy.MiddlewareObj;
|
|
5
5
|
export {};
|
|
@@ -9,35 +9,36 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.middyTelemetryMiddleware = void 0;
|
|
13
13
|
const api_1 = require("@opentelemetry/api");
|
|
14
14
|
const telemetry_1 = require("../telemetry");
|
|
15
15
|
const perf_hooks_1 = require("perf_hooks");
|
|
16
|
-
const
|
|
16
|
+
const middyTelemetryMiddleware = (options) => ({
|
|
17
17
|
before: (request) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
18
|
const startTime = perf_hooks_1.performance.now();
|
|
19
19
|
const { context: lambdaContext } = request;
|
|
20
20
|
const functionName = lambdaContext.functionName;
|
|
21
21
|
const invocationId = lambdaContext.awsRequestId;
|
|
22
|
-
const serviceName = process.env.SERVICE_NAME || '
|
|
22
|
+
const serviceName = process.env.SERVICE_NAME || 'sst-service';
|
|
23
23
|
const event = request.event;
|
|
24
24
|
const queryStringParameters = (event === null || event === void 0 ? void 0 : event.queryStringParameters) || {};
|
|
25
25
|
const origin = queryStringParameters.origin || 'unknown';
|
|
26
26
|
let stage = process.env.STAGE || 'development';
|
|
27
27
|
if (stage === 'prod')
|
|
28
28
|
stage = 'production';
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
const standardTracer = (0, telemetry_1.getStandardTracer)();
|
|
30
|
+
const spanResult = standardTracer.startSpan({
|
|
31
|
+
spanName: functionName,
|
|
32
|
+
serviceName,
|
|
33
|
+
environment: stage,
|
|
34
|
+
execution: {
|
|
35
|
+
functionName,
|
|
36
|
+
invocationId,
|
|
37
|
+
awsRequestId: invocationId,
|
|
36
38
|
origin,
|
|
37
|
-
'service.name': serviceName,
|
|
38
|
-
'deployment.environment.name': stage,
|
|
39
39
|
},
|
|
40
40
|
});
|
|
41
|
+
const meter = api_1.metrics.getMeter(origin);
|
|
41
42
|
const executionTimeHistogram = meter.createHistogram('lambda_execution_duration', {
|
|
42
43
|
description: 'Tempo total de execução do Lambda em ms',
|
|
43
44
|
unit: 'ms',
|
|
@@ -50,50 +51,49 @@ const middyMiddleware = (options) => ({
|
|
|
50
51
|
description: 'Total de compras com falha',
|
|
51
52
|
});
|
|
52
53
|
request.context.otel = {
|
|
53
|
-
|
|
54
|
+
spanResult,
|
|
54
55
|
meter,
|
|
55
56
|
executionTimeHistogram,
|
|
56
57
|
successCounter,
|
|
57
58
|
failureCounter,
|
|
58
59
|
startTime,
|
|
60
|
+
serviceName,
|
|
61
|
+
environment: stage,
|
|
62
|
+
origin,
|
|
59
63
|
};
|
|
60
64
|
}),
|
|
61
65
|
after: (request) => __awaiter(void 0, void 0, void 0, function* () {
|
|
62
|
-
var _a, _b, _c, _d
|
|
66
|
+
var _a, _b, _c, _d;
|
|
63
67
|
const otelData = request.context.otel;
|
|
64
68
|
if (!otelData)
|
|
65
69
|
return;
|
|
66
70
|
const event = request.event;
|
|
67
71
|
const queryStringParameters = (event === null || event === void 0 ? void 0 : event.queryStringParameters) || {};
|
|
68
72
|
const origin = queryStringParameters.origin || 'unknown';
|
|
69
|
-
const {
|
|
70
|
-
|
|
71
|
-
span.setAttribute('execution.success', true);
|
|
73
|
+
const { spanResult, successCounter, executionTimeHistogram, startTime, serviceName, environment, } = otelData;
|
|
74
|
+
spanResult.setSuccess(true);
|
|
72
75
|
successCounter.add(1, {
|
|
73
76
|
origin,
|
|
74
|
-
'faas.name': ((_a = span.attributes) === null || _a === void 0 ? void 0 : _a['faas.name']) || 'unknown',
|
|
75
|
-
'service.name':
|
|
76
|
-
'deployment.environment.name':
|
|
77
|
+
'faas.name': ((_a = spanResult.span.attributes) === null || _a === void 0 ? void 0 : _a['faas.name']) || 'unknown',
|
|
78
|
+
'service.name': serviceName,
|
|
79
|
+
'deployment.environment.name': environment,
|
|
77
80
|
});
|
|
78
81
|
const durationMs = perf_hooks_1.performance.now() - startTime;
|
|
79
82
|
executionTimeHistogram.record(durationMs, {
|
|
80
|
-
origin
|
|
83
|
+
origin,
|
|
81
84
|
status: 'success',
|
|
82
|
-
'faas.name': ((
|
|
83
|
-
'service.name':
|
|
84
|
-
'deployment.environment.name':
|
|
85
|
+
'faas.name': ((_b = spanResult.span.attributes) === null || _b === void 0 ? void 0 : _b['faas.name']) || 'unknown',
|
|
86
|
+
'service.name': serviceName,
|
|
87
|
+
'deployment.environment.name': environment,
|
|
85
88
|
});
|
|
86
89
|
const standardLogger = (0, telemetry_1.getStandardLogger)();
|
|
87
|
-
let stage = process.env.STAGE || 'development';
|
|
88
|
-
if (stage === 'prod')
|
|
89
|
-
stage = 'production';
|
|
90
90
|
yield standardLogger.logInfo({
|
|
91
91
|
message: 'Request completed successfully',
|
|
92
|
-
serviceName
|
|
93
|
-
environment
|
|
92
|
+
serviceName,
|
|
93
|
+
environment,
|
|
94
94
|
execution: {
|
|
95
|
-
functionName: (
|
|
96
|
-
invocationId: (
|
|
95
|
+
functionName: (_c = spanResult.span.attributes) === null || _c === void 0 ? void 0 : _c['faas.name'],
|
|
96
|
+
invocationId: (_d = spanResult.span.attributes) === null || _d === void 0 ? void 0 : _d['faas.invocation_id'],
|
|
97
97
|
origin,
|
|
98
98
|
},
|
|
99
99
|
performance: {
|
|
@@ -101,59 +101,44 @@ const middyMiddleware = (options) => ({
|
|
|
101
101
|
success: true,
|
|
102
102
|
},
|
|
103
103
|
});
|
|
104
|
-
|
|
104
|
+
spanResult.end();
|
|
105
105
|
yield (0, telemetry_1.forceFlush)();
|
|
106
106
|
}),
|
|
107
107
|
onError: (request) => __awaiter(void 0, void 0, void 0, function* () {
|
|
108
|
-
var _a, _b, _c, _d, _e, _f, _g
|
|
108
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
109
109
|
const otelData = request.context.otel;
|
|
110
110
|
if (!otelData)
|
|
111
111
|
return;
|
|
112
|
-
const
|
|
113
|
-
const queryStringParameters = (event === null || event === void 0 ? void 0 : event.queryStringParameters) || {};
|
|
114
|
-
const origin = queryStringParameters.origin || 'unknown';
|
|
115
|
-
const { span, failureCounter, executionTimeHistogram, startTime } = otelData;
|
|
112
|
+
const { spanResult, failureCounter, executionTimeHistogram, startTime, serviceName, environment, origin, } = otelData;
|
|
116
113
|
const error = request.error;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
message: (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error',
|
|
121
|
-
});
|
|
122
|
-
span.setAttribute('execution.success', false);
|
|
123
|
-
span.setAttribute('error.type', ((_a = error === null || error === void 0 ? void 0 : error.constructor) === null || _a === void 0 ? void 0 : _a.name) || 'UnknownError');
|
|
124
|
-
span.setAttribute('deployment.environment.name', ((_b = span.attributes) === null || _b === void 0 ? void 0 : _b['deployment.environment.name']) || 'development');
|
|
125
|
-
span.setAttribute('service.name', ((_c = span.attributes) === null || _c === void 0 ? void 0 : _c['service.name']) || 'providers-purchase-integrator');
|
|
126
|
-
span.setAttribute('faas.name', ((_d = span.attributes) === null || _d === void 0 ? void 0 : _d['faas.name']) || 'unknown');
|
|
127
|
-
span.setAttribute('origin', origin);
|
|
128
|
-
span.setAttribute('faas.invocation_id', (_e = span.attributes) === null || _e === void 0 ? void 0 : _e['faas.invocation_id']);
|
|
114
|
+
if (error) {
|
|
115
|
+
spanResult.setError(error);
|
|
116
|
+
}
|
|
129
117
|
failureCounter.add(1, {
|
|
130
118
|
origin,
|
|
131
|
-
error_type: ((
|
|
132
|
-
'faas.name': ((
|
|
133
|
-
'service.name':
|
|
134
|
-
'deployment.environment.name':
|
|
119
|
+
error_type: ((_a = error === null || error === void 0 ? void 0 : error.constructor) === null || _a === void 0 ? void 0 : _a.name) || 'UnknownError',
|
|
120
|
+
'faas.name': ((_b = spanResult.span.attributes) === null || _b === void 0 ? void 0 : _b['faas.name']) || 'unknown',
|
|
121
|
+
'service.name': serviceName,
|
|
122
|
+
'deployment.environment.name': environment,
|
|
135
123
|
});
|
|
136
124
|
const durationMs = perf_hooks_1.performance.now() - startTime;
|
|
137
125
|
executionTimeHistogram.record(durationMs, {
|
|
138
|
-
origin
|
|
126
|
+
origin,
|
|
139
127
|
status: 'error',
|
|
140
|
-
'faas.name': ((
|
|
141
|
-
'service.name':
|
|
142
|
-
'deployment.environment.name':
|
|
128
|
+
'faas.name': ((_c = spanResult.span.attributes) === null || _c === void 0 ? void 0 : _c['faas.name']) || 'unknown',
|
|
129
|
+
'service.name': serviceName,
|
|
130
|
+
'deployment.environment.name': environment,
|
|
143
131
|
});
|
|
144
132
|
const standardLogger = (0, telemetry_1.getStandardLogger)();
|
|
145
|
-
let stage = process.env.STAGE || 'development';
|
|
146
|
-
if (stage === 'prod')
|
|
147
|
-
stage = 'production';
|
|
148
133
|
yield standardLogger.logError({
|
|
149
134
|
message: (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error occurred',
|
|
150
135
|
error: error || undefined,
|
|
151
|
-
serviceName
|
|
152
|
-
environment
|
|
136
|
+
serviceName,
|
|
137
|
+
environment,
|
|
153
138
|
execution: {
|
|
154
|
-
functionName: (
|
|
155
|
-
invocationId: (
|
|
156
|
-
awsRequestId: (
|
|
139
|
+
functionName: (_d = spanResult.span.attributes) === null || _d === void 0 ? void 0 : _d['faas.name'],
|
|
140
|
+
invocationId: (_e = spanResult.span.attributes) === null || _e === void 0 ? void 0 : _e['faas.invocation_id'],
|
|
141
|
+
awsRequestId: (_f = spanResult.span.attributes) === null || _f === void 0 ? void 0 : _f['faas.invocation_id'],
|
|
157
142
|
origin,
|
|
158
143
|
},
|
|
159
144
|
performance: {
|
|
@@ -161,12 +146,12 @@ const middyMiddleware = (options) => ({
|
|
|
161
146
|
success: false,
|
|
162
147
|
},
|
|
163
148
|
context: {
|
|
164
|
-
|
|
149
|
+
errorType: (_g = error === null || error === void 0 ? void 0 : error.constructor) === null || _g === void 0 ? void 0 : _g.name,
|
|
165
150
|
},
|
|
166
151
|
});
|
|
167
|
-
|
|
152
|
+
spanResult.end();
|
|
168
153
|
yield (0, telemetry_1.forceFlush)();
|
|
169
154
|
}),
|
|
170
155
|
});
|
|
171
|
-
exports.
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZWxlbWV0cnkvc3N0L21pZGR5L21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsNENBQStFO0FBQy9FLDRDQUE2RDtBQUM3RCwyQ0FBeUM7QUFJbEMsTUFBTSxlQUFlLEdBQUcsQ0FDN0IsT0FBZ0MsRUFDWCxFQUFFLENBQUMsQ0FBQztJQUN6QixNQUFNLEVBQUUsQ0FBTyxPQUFPLEVBQUUsRUFBRTtRQUN4QixNQUFNLFNBQVMsR0FBRyx3QkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXBDLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzNDLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUNoRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxlQUFlLENBQUM7UUFDaEUsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQVksQ0FBQztRQUNuQyxNQUFNLHFCQUFxQixHQUFHLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHFCQUFxQixLQUFJLEVBQUUsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO1FBQ3pELElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FBQztRQUMvQyxJQUFJLEtBQUssS0FBSyxNQUFNO1lBQUUsS0FBSyxHQUFHLFlBQVksQ0FBQztRQUUzQyxNQUFNLE1BQU0sR0FBRyxXQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLGFBQU8sQ0FBQyxRQUFRLENBQUMs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QUUsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxLQUFJLHdCQUF3QjtZQUNuRCxLQUFLLEVBQUUsS0FBSyxJQUFJLFNBQVM7WUFDekIsV0FBVyxFQUNULENBQUMsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRyxjQUFjLENBQVksS0FBSSxhQUFhO1lBQ2hFLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFNBQVMsRUFBRTtnQkFDVCxZQUFZLEVBQUUsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRyxXQUFXLENBQVc7Z0JBQ3RELFlBQVksRUFBRSxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFHLG9CQUFvQixDQUFXO2dCQUMvRCxZQUFZLEVBQUUsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRyxvQkFBb0IsQ0FBVztnQkFDL0QsTUFBTTthQUNQO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLFVBQVU7Z0JBQ1YsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELE9BQU8sRUFBRTtnQkFDUCxxQkFBcUI7YUFDdEI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUEsc0JBQVUsR0FBRSxDQUFDO0lBQ3JCLENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQztBQW5NVSxRQUFBLGVBQWUsbUJBbU16QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaWRkeSBmcm9tICdAbWlkZHkvY29yZSc7XHJcbmltcG9ydCB7IHRyYWNlLCBTcGFuU3RhdHVzQ29kZSwgbWV0cmljcywgVmFsdWVUeXBlIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpJztcclxuaW1wb3J0IHsgZm9yY2VGbHVzaCwgZ2V0U3RhbmRhcmRMb2dnZXIgfSBmcm9tICcuLi90ZWxlbWV0cnknO1xyXG5pbXBvcnQgeyBwZXJmb3JtYW5jZSB9IGZyb20gJ3BlcmZfaG9va3MnO1xyXG5cclxuaW50ZXJmYWNlIE1pZGR5TWlkZGxld2FyZU9wdGlvbnMge31cclxuXHJcbmV4cG9ydCBjb25zdCBtaWRkeU1pZGRsZXdhcmUgPSAoXHJcbiAgb3B0aW9ucz86IE1pZGR5TWlkZGxld2FyZU9wdGlvbnNcclxuKTogbWlkZHkuTWlkZGxld2FyZU9iaiA9PiAoe1xyXG4gIGJlZm9yZTogYXN5bmMgKHJlcXVlc3QpID0+IHtcclxuICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xyXG5cclxuICAgIGNvbnN0IHsgY29udGV4dDogbGFtYmRhQ29udGV4dCB9ID0gcmVxdWVzdDtcclxuICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IGxhbWJkYUNvbnRleHQuZnVuY3Rpb25OYW1lO1xyXG4gICAgY29uc3QgaW52b2NhdGlvbklkID0gbGFtYmRhQ29udGV4dC5hd3NSZXF1ZXN0SWQ7XHJcbiAgICBjb25zdCBzZXJ2aWNlTmFtZSA9IHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRSB8fCAnc2VhcmNoLWVuZ2luZSc7XHJcbiAgICBjb25zdCBldmVudCA9IHJlcXVlc3QuZXZlbnQgYXMgYW55O1xyXG4gICAgY29uc3QgcXVlcnlTdHJpbmdQYXJhbWV0ZXJzID0gZXZlbnQ/LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycyB8fCB7fTtcclxuICAgIGNvbnN0IG9yaWdpbiA9IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycy5vcmlnaW4gfHwgJ3Vua25vd24nO1xyXG4gICAgbGV0IHN0YWdlID0gcHJvY2Vzcy5lbnYuU1RBR0UgfHwgJ2RldmVsb3BtZW50JztcclxuICAgIGlmIChzdGFnZSA9PT0gJ3Byb2QnKSBzdGFnZSA9ICdwcm9kdWN0aW9uJztcclxuXHJcbiAgICBjb25zdCB0cmFjZXIgPSB0cmFjZS5nZXRUcmFjZXIoc2VydmljZU5hbWUpO1xyXG4gICAgY29uc3QgbWV0ZXIgPSBtZXRyaWNzLmdldE1ldGVyKG9yaWdpbik7XHJcblxyXG4gICAgY29uc3Qgc3BhbiA9IHRyYWNlci5zdGFydFNwYW4oZnVuY3Rpb25OYW1lLCB7XHJcbiAgICAgIGtpbmQ6IDEsXHJcbiAgICAgIGF0dHJpYnV0ZXM6IHtcclxuICAgICAgICAnZmFhcy5uYW1lJzogZnVuY3Rpb25OYW1lLFxyXG4gICAgICAgICdmYWFzLmludm9jYXRpb25faWQnOiBpbnZvY2F0aW9uSWQsXHJcbiAgICAgICAgb3JpZ2luLFxyXG4gICAgICAgICdzZXJ2aWNlLm5hbWUnOiBzZXJ2aWNlTmFtZSxcclxuICAgICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJzogc3RhZ2UsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBleGVjdXRpb25UaW1lSGlzdG9ncmFtID0gbWV0ZXIuY3JlYXRlSGlzdG9ncmFtKFxyXG4gICAgICAnbGFtYmRhX2V4ZWN1dGlvbl9kdXJhdGlvbicsXHJcbiAgICAgIHtcclxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RlbXBvIHRvdGFsIGRlIGV4ZWN1w6fDo28gZG8gTGFtYmRhIGVtIG1zJyxcclxuICAgICAgICB1bml0OiAnbXMnLFxyXG4gICAgICAgIHZhbHVlVHlwZTogVmFsdWVUeXBlLkRPVUJMRSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIGNvbnN0IHN1Y2Nlc3NDb3VudGVyID0gbWV0ZXIuY3JlYXRlQ291bnRlcigndG90YWxfc3VjY2Vzc2Z1bF9wdXJjaGFzZXMnLCB7XHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgZGUgY29tcHJhcyBiZW0tc3VjZWRpZGFzJyxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgZmFpbHVyZUNvdW50ZXIgPSBtZXRlci5jcmVhdGVDb3VudGVyKCd0b3RhbF9mYWlsZWRfcHVyY2hhc2VzJywge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIGRlIGNvbXByYXMgY29tIGZhbGhhJyxcclxuICAgIH0pO1xyXG5cclxuICAgIChyZXF1ZXN0LmNvbnRleHQgYXMgYW55KS5vdGVsID0ge1xyXG4gICAgICBzcGFuLFxyXG4gICAgICBtZXRlcixcclxuICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcclxuICAgICAgc3VjY2Vzc0NvdW50ZXIsXHJcbiAgICAgIGZhaWx1cmVDb3VudGVyLFxyXG4gICAgICBzdGFydFRpbWUsXHJcbiAgICB9O1xyXG4gIH0sXHJcblxyXG4gIGFmdGVyOiBhc3luYyAocmVxdWVzdCkgPT4ge1xyXG4gICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcclxuICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcclxuICAgIGNvbnN0IGV2ZW50ID0gcmVxdWVzdC5ldmVudCBhcyBhbnk7XHJcblxyXG4gICAgY29uc3QgcXVlcnlTdHJpbmdQYXJhbWV0ZXJzID0gZXZlbnQ/LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycyB8fCB7fTtcclxuICAgIGNvbnN0IG9yaWdpbiA9IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycy5vcmlnaW4gfHwgJ3Vua25vd24nO1xyXG5cclxuICAgIGNvbnN0IHsgc3Bhbiwgc3VjY2Vzc0NvdW50ZXIsIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sIHN0YXJ0VGltZSB9ID1cclxuICAgICAgb3RlbERhdGE7XHJcblxyXG4gICAgc3Bhbi5zZXRTdGF0dXMoeyBjb2RlOiBTcGFuU3RhdHVzQ29kZS5PSyB9KTtcclxuICAgIHNwYW4uc2V0QXR0cmlidXRlKCdleGVjdXRpb24uc3VjY2VzcycsIHRydWUpO1xyXG4gICAgc3VjY2Vzc0NvdW50ZXIuYWRkKDEsIHtcclxuICAgICAgb3JpZ2luLFxyXG4gICAgICAnZmFhcy5uYW1lJzogc3Bhbi5hdHRyaWJ1dGVzPy5bJ2ZhYXMubmFtZSddIHx8ICd1bmtub3duJyxcclxuICAgICAgJ3NlcnZpY2UubmFtZSc6IHNwYW4uYXR0cmlidXRlcz8uWydzZXJ2aWNlLm5hbWUnXSB8fCAnc2VhcmNoLWVuZ2luZScsXHJcbiAgICAgICdkZXBsb3ltZW50LmVudmlyb25tZW50Lm5hbWUnOlxyXG4gICAgICAgIHNwYW4uYXR0cmlidXRlcz8uWydkZXBsb3ltZW50LmVudmlyb25tZW50Lm5hbWUnXSxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZTtcclxuXHJcbiAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLnJlY29yZChkdXJhdGlvbk1zLCB7XHJcbiAgICAgIG9yaWdpbjogc3Bhbi5hdHRyaWJ1dGVzPy5bJ29yaWdpbiddIHx8ICd1bmtub3duJyxcclxuICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXHJcbiAgICAgICdmYWFzLm5hbWUnOiBzcGFuLmF0dHJpYnV0ZXM/LlsnZmFhcy5uYW1lJ10gfHwgJ3Vua25vd24nLFxyXG4gICAgICAnc2VydmljZS5uYW1lJzogc3Bhbi5hdHRyaWJ1dGVzPy5bJ3NlcnZpY2UubmFtZSddIHx8ICdzZWFyY2gtZW5naW5lJyxcclxuICAgICAgJ2RlcGxveW1lbnQuZW52aXJvbm1lbnQubmFtZSc6XHJcbiAgICAgICAgc3Bhbi5hdHRyaWJ1dGVzPy5bJ2RlcGxveW1lbnQuZW52aXJvbm1lbnQubmFtZSddLFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gTG9nIGVzdHJ1dHVyYWRvIGRlIHN1Y2Vzc29cclxuICAgIGNvbnN0IHN0YW5kYXJkTG9nZ2VyID0gZ2V0U3RhbmRhcmRMb2dnZXIoKTtcclxuICAgIGxldCBzdGFnZSA9IHByb2Nlc3MuZW52LlNUQUdFIHx8ICdkZXZlbG9wbWVudCc7XHJcbiAgICBpZiAoc3RhZ2UgPT09ICdwcm9kJykgc3RhZ2UgPSAncHJvZHVjdGlvbic7XHJcblxyXG4gICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nSW5mbyh7XHJcbiAgICAgIG1lc3NhZ2U6ICdSZXF1ZXN0IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknLFxyXG4gICAgICBzZXJ2aWNlTmFtZTpcclxuICAgICAgICAoc3Bhbi5hdHRyaWJ1dGVzPy5bJ3NlcnZpY2UubmFtZSddIGFzIHN0cmluZykgfHwgJ3NzdC1zZXJ2aWNlJyxcclxuICAgICAgZW52aXJvbm1lbnQ6IHN0YWdlLFxyXG4gICAgICBleGVjdXRpb246IHtcclxuICAgICAgICBmdW5jdGlvbk5hbWU6IHNwYW4uYXR0cmlidXRlcz8uWydmYWFzLm5hbWUnXSBhcyBzdHJpbmcsXHJcbiAgICAgICAgaW52b2NhdGlvbklkOiBzcGFuLmF0dHJpYnV0ZXM/LlsnZmFhcy5pbnZvY2F0aW9uX2lkJ10gYXMgc3RyaW5nLFxyXG4gICAgICAgIG9yaWdpbixcclxuICAgICAgfSxcclxuICAgICAgcGVyZm9ybWFuY2U6IHtcclxuICAgICAgICBkdXJhdGlvbk1zLFxyXG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICBzcGFuLmVuZCgpO1xyXG4gICAgYXdhaXQgZm9yY2VGbHVzaCgpO1xyXG4gIH0sXHJcblxyXG4gIG9uRXJyb3I6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XHJcbiAgICBjb25zdCBvdGVsRGF0YSA9IChyZXF1ZXN0LmNvbnRleHQgYXMgYW55KS5vdGVsO1xyXG4gICAgaWYgKCFvdGVsRGF0YSkgcmV0dXJuO1xyXG4gICAgY29uc3QgZXZlbnQgPSByZXF1ZXN0LmV2ZW50IGFzIGFueTtcclxuXHJcbiAgICBjb25zdCBxdWVyeVN0cmluZ1BhcmFtZXRlcnMgPSBldmVudD8ucXVlcnlTdHJpbmdQYXJhbWV0ZXJzIHx8IHt9O1xyXG4gICAgY29uc3Qgb3JpZ2luID0gcXVlcnlTdHJpbmdQYXJhbWV0ZXJzLm9yaWdpbiB8fCAndW5rbm93bic7XHJcblxyXG4gICAgY29uc3QgeyBzcGFuLCBmYWlsdXJlQ291bnRlciwgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSwgc3RhcnRUaW1lIH0gPVxyXG4gICAgICBvdGVsRGF0YTtcclxuICAgIGNvbnN0IGVycm9yID0gcmVxdWVzdC5lcnJvcjtcclxuXHJcbiAgICBzcGFuLnJlY29yZEV4Y2VwdGlvbihlcnJvcik7XHJcbiAgICBzcGFuLnNldFN0YXR1cyh7XHJcbiAgICAgIGNvZGU6IFNwYW5TdGF0dXNDb2RlLkVSUk9SLFxyXG4gICAgICBtZXNzYWdlOiBlcnJvcj8ubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvcicsXHJcbiAgICB9KTtcclxuICAgIHNwYW4uc2V0QXR0cmlidXRlKCdleGVjdXRpb24uc3VjY2VzcycsIGZhbHNlKTtcclxuICAgIHNwYW4uc2V0QXR0cmlidXRlKCdlcnJvci50eXBlJywgZXJyb3I/LmNvbnN0cnVjdG9yPy5uYW1lIHx8ICdVbmtub3duRXJyb3InKTtcclxuICAgIHNwYW4uc2V0QXR0cmlidXRlKFxyXG4gICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJyxcclxuICAgICAgc3Bhbi5hdHRyaWJ1dGVzPy5bJ2RlcGxveW1lbnQuZW52aXJvbm1lbnQubmFtZSddIHx8ICdkZXZlbG9wbWVudCdcclxuICAgICk7XHJcbiAgICBzcGFuLnNldEF0dHJpYnV0ZShcclxuICAgICAgJ3NlcnZpY2UubmFtZScsXHJcbiAgICAgIHNwYW4uYXR0cmlidXRlcz8uWydzZXJ2aWNlLm5hbWUnXSB8fCAncHJvdmlkZXJzLXB1cmNoYXNlLWludGVncmF0b3InXHJcbiAgICApO1xyXG4gICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ2ZhYXMubmFtZScsIHNwYW4uYXR0cmlidXRlcz8uWydmYWFzLm5hbWUnXSB8fCAndW5rbm93bicpO1xyXG4gICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ29yaWdpbicsIG9yaWdpbik7XHJcbiAgICBzcGFuLnNldEF0dHJpYnV0ZShcclxuICAgICAgJ2ZhYXMuaW52b2NhdGlvbl9pZCcsXHJcbiAgICAgIHNwYW4uYXR0cmlidXRlcz8uWydmYWFzLmludm9jYXRpb25faWQnXVxyXG4gICAgKTtcclxuXHJcbiAgICBmYWlsdXJlQ291bnRlci5hZGQoMSwge1xyXG4gICAgICBvcmlnaW4sXHJcbiAgICAgIGVycm9yX3R5cGU6IGVycm9yPy5jb25zdHJ1Y3Rvcj8ubmFtZSB8fCAnVW5rbm93bkVycm9yJyxcclxuICAgICAgJ2ZhYXMubmFtZSc6IHNwYW4uYXR0cmlidXRlcz8uWydmYWFzLm5hbWUnXSB8fCAndW5rbm93bicsXHJcbiAgICAgICdzZXJ2aWNlLm5hbWUnOiBzcGFuLmF0dHJpYnV0ZXM/Llsnc2VydmljZS5uYW1lJ10gfHwgJ3NlYXJjaC1lbmdpbmUnLFxyXG4gICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJzpcclxuICAgICAgICBzcGFuLmF0dHJpYnV0ZXM/LlsnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJ10sXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XHJcblxyXG4gICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbS5yZWNvcmQoZHVyYXRpb25Ncywge1xyXG4gICAgICBvcmlnaW46IHNwYW4uYXR0cmlidXRlcz8uWydvcmlnaW4nXSB8fCAndW5rbm93bicsXHJcbiAgICAgIHN0YXR1czogJ2Vycm9yJyxcclxuICAgICAgJ2ZhYXMubmFtZSc6IHNwYW4uYXR0cmlidXRlcz8uWydmYWFzLm5hbWUnXSB8fCAndW5rbm93bicsXHJcbiAgICAgICdzZXJ2aWNlLm5hbWUnOiBzcGFuLmF0dHJpYnV0ZXM/Llsnc2VydmljZS5uYW1lJ10gfHwgJ3NlYXJjaC1lbmdpbmUnLFxyXG4gICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJzpcclxuICAgICAgICBzcGFuLmF0dHJpYnV0ZXM/LlsnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJ10sXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBMb2cgZXN0cnV0dXJhZG8gZGUgZXJyb1xyXG4gICAgY29uc3Qgc3RhbmRhcmRMb2dnZXIgPSBnZXRTdGFuZGFyZExvZ2dlcigpO1xyXG4gICAgbGV0IHN0YWdlID0gcHJvY2Vzcy5lbnYuU1RBR0UgfHwgJ2RldmVsb3BtZW50JztcclxuICAgIGlmIChzdGFnZSA9PT0gJ3Byb2QnKSBzdGFnZSA9ICdwcm9kdWN0aW9uJztcclxuXHJcbiAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcih7XHJcbiAgICAgIG1lc3NhZ2U6IGVycm9yPy5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yIG9jY3VycmVkJyxcclxuICAgICAgZXJyb3I6IGVycm9yIHx8IHVuZGVmaW5lZCxcclxuICAgICAgc2VydmljZU5hbWU6XHJcbiAgICAgICAgKHNwYW4uYXR0cmlidXRlcz8uWydzZXJ2aWNlLm5hbWUnXSBhcyBzdHJpbmcpIHx8ICdzc3Qtc2VydmljZScsXHJcbiAgICAgIGVudmlyb25tZW50OiBzdGFnZSxcclxuICAgICAgZXhlY3V0aW9uOiB7XHJcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBzcGFuLmF0dHJpYnV0ZXM/LlsnZmFhcy5uYW1lJ10gYXMgc3RyaW5nLFxyXG4gICAgICAgIGludm9jYXRpb25JZDogc3Bhbi5hdHRyaWJ1dGVzPy5bJ2ZhYXMuaW52b2NhdGlvbl9pZCddIGFzIHN0cmluZyxcclxuICAgICAgICBhd3NSZXF1ZXN0SWQ6IHNwYW4uYXR0cmlidXRlcz8uWydmYWFzLmludm9jYXRpb25faWQnXSBhcyBzdHJpbmcsXHJcbiAgICAgICAgb3JpZ2luLFxyXG4gICAgICB9LFxyXG4gICAgICBwZXJmb3JtYW5jZToge1xyXG4gICAgICAgIGR1cmF0aW9uTXMsXHJcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICBxdWVyeVN0cmluZ1BhcmFtZXRlcnMsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICBzcGFuLmVuZCgpO1xyXG4gICAgYXdhaXQgZm9yY2VGbHVzaCgpO1xyXG4gIH0sXHJcbn0pO1xyXG4iXX0=
|
|
156
|
+
exports.middyTelemetryMiddleware = middyTelemetryMiddleware;
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zc3QvbWlkZHkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSw0Q0FBd0Q7QUFDeEQsNENBQWdGO0FBQ2hGLDJDQUF5QztBQUlsQyxNQUFNLHdCQUF3QixHQUFHLENBQ3RDLE9BQWdDLEVBQ1gsRUFBRSxDQUFDLENBQUM7SUFDekIsTUFBTSxFQUFFLENBQU8sT0FBTyxFQUFFLEVBQUU7UUFDeEIsTUFBTSxTQUFTLEdBQUcsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVwQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUMzQyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDaEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksYUFBYSxDQUFDO1FBQzlELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFZLENBQUM7UUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxxQkFBcUIsS0FBSSxFQUFFLENBQUM7UUFDakUsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztRQUN6RCxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxhQUFhLENBQUM7UUFDL0MsSUFBSSxLQUFLLEtBQUssTUFBTTtZQUFFLEtBQUssR0FBRyxZQUFZLENBQUM7UUFHM0MsTUFBTSxjQUFjLEdBQUcsSUFBQSw2QkFBaUIsR0FBRSxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDMUMsUUFBUSxFQUFFLFlBQVk7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VyxFQUFFLENBQUEsTUFBQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsMENBQUcsV0FBVyxDQUFDLEtBQUksU0FBUztZQUNuRSxjQUFjLEVBQUUsV0FBVztZQUMzQiw2QkFBNkIsRUFBRSxXQUFXO1NBQzNDLENBQUMsQ0FBQztRQUdILE1BQU0sY0FBYyxHQUFHLElBQUEsNkJBQWlCLEdBQUUsQ0FBQztRQUUzQyxNQUFNLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDNUIsT0FBTyxFQUFFLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sS0FBSSx3QkFBd0I7WUFDbkQsS0FBSyxFQUFFLEtBQUssSUFBSSxTQUFTO1lBQ3pCLFdBQVc7WUFDWCxXQUFXO1lBQ1gsU0FBUyxFQUFFO2dCQUNULFlBQVksRUFBRSxNQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FBRyxXQUFXLENBQVc7Z0JBQ2pFLFlBQVksRUFBRSxNQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FDdEMsb0JBQW9CLENBQ1g7Z0JBQ1gsWUFBWSxFQUFFLE1BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLDBDQUN0QyxvQkFBb0IsQ0FDWDtnQkFDWCxNQUFNO2FBQ1A7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsVUFBVTtnQkFDVixPQUFPLEVBQUUsS0FBSzthQUNmO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLFNBQVMsRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLDBDQUFFLElBQUk7YUFDcEM7U0FDRixDQUFDLENBQUM7UUFHSCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFBLHNCQUFVLEdBQUUsQ0FBQztJQUNyQixDQUFDLENBQUE7Q0FDRixDQUFDLENBQUM7QUFqTVUsUUFBQSx3QkFBd0IsNEJBaU1sQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaWRkeSBmcm9tICdAbWlkZHkvY29yZSc7XHJcbmltcG9ydCB7IG1ldHJpY3MsIFZhbHVlVHlwZSB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2FwaSc7XHJcbmltcG9ydCB7IGZvcmNlRmx1c2gsIGdldFN0YW5kYXJkTG9nZ2VyLCBnZXRTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4uL3RlbGVtZXRyeSc7XHJcbmltcG9ydCB7IHBlcmZvcm1hbmNlIH0gZnJvbSAncGVyZl9ob29rcyc7XHJcblxyXG5pbnRlcmZhY2UgTWlkZHlNaWRkbGV3YXJlT3B0aW9ucyB7fVxyXG5cclxuZXhwb3J0IGNvbnN0IG1pZGR5VGVsZW1ldHJ5TWlkZGxld2FyZSA9IChcclxuICBvcHRpb25zPzogTWlkZHlNaWRkbGV3YXJlT3B0aW9uc1xyXG4pOiBtaWRkeS5NaWRkbGV3YXJlT2JqID0+ICh7XHJcbiAgYmVmb3JlOiBhc3luYyAocmVxdWVzdCkgPT4ge1xyXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcblxyXG4gICAgY29uc3QgeyBjb250ZXh0OiBsYW1iZGFDb250ZXh0IH0gPSByZXF1ZXN0O1xyXG4gICAgY29uc3QgZnVuY3Rpb25OYW1lID0gbGFtYmRhQ29udGV4dC5mdW5jdGlvbk5hbWU7XHJcbiAgICBjb25zdCBpbnZvY2F0aW9uSWQgPSBsYW1iZGFDb250ZXh0LmF3c1JlcXVlc3RJZDtcclxuICAgIGNvbnN0IHNlcnZpY2VOYW1lID0gcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FIHx8ICdzc3Qtc2VydmljZSc7XHJcbiAgICBjb25zdCBldmVudCA9IHJlcXVlc3QuZXZlbnQgYXMgYW55O1xyXG4gICAgY29uc3QgcXVlcnlTdHJpbmdQYXJhbWV0ZXJzID0gZXZlbnQ/LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycyB8fCB7fTtcclxuICAgIGNvbnN0IG9yaWdpbiA9IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycy5vcmlnaW4gfHwgJ3Vua25vd24nO1xyXG4gICAgbGV0IHN0YWdlID0gcHJvY2Vzcy5lbnYuU1RBR0UgfHwgJ2RldmVsb3BtZW50JztcclxuICAgIGlmIChzdGFnZSA9PT0gJ3Byb2QnKSBzdGFnZSA9ICdwcm9kdWN0aW9uJztcclxuXHJcbiAgICAvLyBVc2FyIFN0YW5kYXJkVHJhY2VyIHBhcmEgY3JpYXIgc3BhbiBjb20gYXRyaWJ1dG9zIHBhZHJvbml6YWRvc1xyXG4gICAgY29uc3Qgc3RhbmRhcmRUcmFjZXIgPSBnZXRTdGFuZGFyZFRyYWNlcigpO1xyXG4gICAgY29uc3Qgc3BhblJlc3VsdCA9IHN0YW5kYXJkVHJhY2VyLnN0YXJ0U3Bhbih7XHJcbiAgICAgIHNwYW5OYW1lOiBmdW5jdGlvbk5hbWUsXHJcbiAgICAgIHNlcnZpY2VOYW1lLFxyXG4gICAgICBlbnZpcm9ubWVudDogc3RhZ2UsXHJcbiAgICAgIGV4ZWN1dGlvbjoge1xyXG4gICAgICAgIGZ1bmN0aW9uTmFtZSxcclxuICAgICAgICBpbnZvY2F0aW9uSWQsXHJcbiAgICAgICAgYXdzUmVxdWVzdElkOiBpbnZvY2F0aW9uSWQsXHJcbiAgICAgICAgb3JpZ2luLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgbWV0ZXIgPSBtZXRyaWNzLmdldE1ldGVyKG9yaWdpbik7XHJcblxyXG4gICAgY29uc3QgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSA9IG1ldGVyLmNyZWF0ZUhpc3RvZ3JhbShcclxuICAgICAgJ2xhbWJkYV9leGVjdXRpb25fZHVyYXRpb24nLFxyXG4gICAgICB7XHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdUZW1wbyB0b3RhbCBkZSBleGVjdcOnw6NvIGRvIExhbWJkYSBlbSBtcycsXHJcbiAgICAgICAgdW5pdDogJ21zJyxcclxuICAgICAgICB2YWx1ZVR5cGU6IFZhbHVlVHlwZS5ET1VCTEUsXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICBjb25zdCBzdWNjZXNzQ291bnRlciA9IG1ldGVyLmNyZWF0ZUNvdW50ZXIoJ3RvdGFsX3N1Y2Nlc3NmdWxfcHVyY2hhc2VzJywge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIGRlIGNvbXByYXMgYmVtLXN1Y2VkaWRhcycsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZhaWx1cmVDb3VudGVyID0gbWV0ZXIuY3JlYXRlQ291bnRlcigndG90YWxfZmFpbGVkX3B1cmNoYXNlcycsIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCBkZSBjb21wcmFzIGNvbSBmYWxoYScsXHJcbiAgICB9KTtcclxuXHJcbiAgICAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbCA9IHtcclxuICAgICAgc3BhblJlc3VsdCxcclxuICAgICAgbWV0ZXIsXHJcbiAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXHJcbiAgICAgIHN1Y2Nlc3NDb3VudGVyLFxyXG4gICAgICBmYWlsdXJlQ291bnRlcixcclxuICAgICAgc3RhcnRUaW1lLFxyXG4gICAgICBzZXJ2aWNlTmFtZSxcclxuICAgICAgZW52aXJvbm1lbnQ6IHN0YWdlLFxyXG4gICAgICBvcmlnaW4sXHJcbiAgICB9O1xyXG4gIH0sXHJcblxyXG4gIGFmdGVyOiBhc3luYyAocmVxdWVzdCkgPT4ge1xyXG4gICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcclxuICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcclxuICAgIGNvbnN0IGV2ZW50ID0gcmVxdWVzdC5ldmVudCBhcyBhbnk7XHJcblxyXG4gICAgY29uc3QgcXVlcnlTdHJpbmdQYXJhbWV0ZXJzID0gZXZlbnQ/LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycyB8fCB7fTtcclxuICAgIGNvbnN0IG9yaWdpbiA9IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycy5vcmlnaW4gfHwgJ3Vua25vd24nO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgc3BhblJlc3VsdCxcclxuICAgICAgc3VjY2Vzc0NvdW50ZXIsXHJcbiAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXHJcbiAgICAgIHN0YXJ0VGltZSxcclxuICAgICAgc2VydmljZU5hbWUsXHJcbiAgICAgIGVudmlyb25tZW50LFxyXG4gICAgfSA9IG90ZWxEYXRhO1xyXG5cclxuICAgIC8vIE1hcmNhciBzcGFuIGNvbW8gc3VjZXNzbyB1c2FuZG8gU3RhbmRhcmRUcmFjZXJcclxuICAgIHNwYW5SZXN1bHQuc2V0U3VjY2Vzcyh0cnVlKTtcclxuXHJcbiAgICAvLyBNw6l0cmljYXNcclxuICAgIHN1Y2Nlc3NDb3VudGVyLmFkZCgxLCB7XHJcbiAgICAgIG9yaWdpbixcclxuICAgICAgJ2ZhYXMubmFtZSc6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2ZhYXMubmFtZSddIHx8ICd1bmtub3duJyxcclxuICAgICAgJ3NlcnZpY2UubmFtZSc6IHNlcnZpY2VOYW1lLFxyXG4gICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJzogZW52aXJvbm1lbnQsXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XHJcblxyXG4gICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbS5yZWNvcmQoZHVyYXRpb25Ncywge1xyXG4gICAgICBvcmlnaW4sXHJcbiAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxyXG4gICAgICAnZmFhcy5uYW1lJzogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZmFhcy5uYW1lJ10gfHwgJ3Vua25vd24nLFxyXG4gICAgICAnc2VydmljZS5uYW1lJzogc2VydmljZU5hbWUsXHJcbiAgICAgICdkZXBsb3ltZW50LmVudmlyb25tZW50Lm5hbWUnOiBlbnZpcm9ubWVudCxcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIExvZyBlc3RydXR1cmFkbyBkZSBzdWNlc3NvXHJcbiAgICBjb25zdCBzdGFuZGFyZExvZ2dlciA9IGdldFN0YW5kYXJkTG9nZ2VyKCk7XHJcblxyXG4gICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nSW5mbyh7XHJcbiAgICAgIG1lc3NhZ2U6ICdSZXF1ZXN0IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknLFxyXG4gICAgICBzZXJ2aWNlTmFtZSxcclxuICAgICAgZW52aXJvbm1lbnQsXHJcbiAgICAgIGV4ZWN1dGlvbjoge1xyXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZmFhcy5uYW1lJ10gYXMgc3RyaW5nLFxyXG4gICAgICAgIGludm9jYXRpb25JZDogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LltcclxuICAgICAgICAgICdmYWFzLmludm9jYXRpb25faWQnXHJcbiAgICAgICAgXSBhcyBzdHJpbmcsXHJcbiAgICAgICAgb3JpZ2luLFxyXG4gICAgICB9LFxyXG4gICAgICBwZXJmb3JtYW5jZToge1xyXG4gICAgICAgIGR1cmF0aW9uTXMsXHJcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIEZpbmFsaXphciBzcGFuXHJcbiAgICBzcGFuUmVzdWx0LmVuZCgpO1xyXG4gICAgYXdhaXQgZm9yY2VGbHVzaCgpO1xyXG4gIH0sXHJcblxyXG4gIG9uRXJyb3I6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XHJcbiAgICBjb25zdCBvdGVsRGF0YSA9IChyZXF1ZXN0LmNvbnRleHQgYXMgYW55KS5vdGVsO1xyXG4gICAgaWYgKCFvdGVsRGF0YSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgc3BhblJlc3VsdCxcclxuICAgICAgZmFpbHVyZUNvdW50ZXIsXHJcbiAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXHJcbiAgICAgIHN0YXJ0VGltZSxcclxuICAgICAgc2VydmljZU5hbWUsXHJcbiAgICAgIGVudmlyb25tZW50LFxyXG4gICAgICBvcmlnaW4sXHJcbiAgICB9ID0gb3RlbERhdGE7XHJcbiAgICBjb25zdCBlcnJvciA9IHJlcXVlc3QuZXJyb3I7XHJcblxyXG4gICAgLy8gTWFyY2FyIHNwYW4gY29tbyBlcnJvIHVzYW5kbyBTdGFuZGFyZFRyYWNlclxyXG4gICAgaWYgKGVycm9yKSB7XHJcbiAgICAgIHNwYW5SZXN1bHQuc2V0RXJyb3IoZXJyb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE3DqXRyaWNhc1xyXG4gICAgZmFpbHVyZUNvdW50ZXIuYWRkKDEsIHtcclxuICAgICAgb3JpZ2luLFxyXG4gICAgICBlcnJvcl90eXBlOiBlcnJvcj8uY29uc3RydWN0b3I/Lm5hbWUgfHwgJ1Vua25vd25FcnJvcicsXHJcbiAgICAgICdmYWFzLm5hbWUnOiBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmYWFzLm5hbWUnXSB8fCAndW5rbm93bicsXHJcbiAgICAgICdzZXJ2aWNlLm5hbWUnOiBzZXJ2aWNlTmFtZSxcclxuICAgICAgJ2RlcGxveW1lbnQuZW52aXJvbm1lbnQubmFtZSc6IGVudmlyb25tZW50LFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xyXG5cclxuICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0ucmVjb3JkKGR1cmF0aW9uTXMsIHtcclxuICAgICAgb3JpZ2luLFxyXG4gICAgICBzdGF0dXM6ICdlcnJvcicsXHJcbiAgICAgICdmYWFzLm5hbWUnOiBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmYWFzLm5hbWUnXSB8fCAndW5rbm93bicsXHJcbiAgICAgICdzZXJ2aWNlLm5hbWUnOiBzZXJ2aWNlTmFtZSxcclxuICAgICAgJ2RlcGxveW1lbnQuZW52aXJvbm1lbnQubmFtZSc6IGVudmlyb25tZW50LFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gTG9nIGVzdHJ1dHVyYWRvIGRlIGVycm9cclxuICAgIGNvbnN0IHN0YW5kYXJkTG9nZ2VyID0gZ2V0U3RhbmRhcmRMb2dnZXIoKTtcclxuXHJcbiAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcih7XHJcbiAgICAgIG1lc3NhZ2U6IGVycm9yPy5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yIG9jY3VycmVkJyxcclxuICAgICAgZXJyb3I6IGVycm9yIHx8IHVuZGVmaW5lZCxcclxuICAgICAgc2VydmljZU5hbWUsXHJcbiAgICAgIGVudmlyb25tZW50LFxyXG4gICAgICBleGVjdXRpb246IHtcclxuICAgICAgICBmdW5jdGlvbk5hbWU6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2ZhYXMubmFtZSddIGFzIHN0cmluZyxcclxuICAgICAgICBpbnZvY2F0aW9uSWQ6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bXHJcbiAgICAgICAgICAnZmFhcy5pbnZvY2F0aW9uX2lkJ1xyXG4gICAgICAgIF0gYXMgc3RyaW5nLFxyXG4gICAgICAgIGF3c1JlcXVlc3RJZDogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LltcclxuICAgICAgICAgICdmYWFzLmludm9jYXRpb25faWQnXHJcbiAgICAgICAgXSBhcyBzdHJpbmcsXHJcbiAgICAgICAgb3JpZ2luLFxyXG4gICAgICB9LFxyXG4gICAgICBwZXJmb3JtYW5jZToge1xyXG4gICAgICAgIGR1cmF0aW9uTXMsXHJcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICBlcnJvclR5cGU6IGVycm9yPy5jb25zdHJ1Y3Rvcj8ubmFtZSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIEZpbmFsaXphciBzcGFuXHJcbiAgICBzcGFuUmVzdWx0LmVuZCgpO1xyXG4gICAgYXdhaXQgZm9yY2VGbHVzaCgpO1xyXG4gIH0sXHJcbn0pO1xyXG4iXX0=
|