@mecanizou/telemetry-hub 1.0.2 → 1.0.5

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.
Files changed (72) hide show
  1. package/.github/workflows/pull_request.yml +32 -32
  2. package/.github/workflows/release.yml +129 -129
  3. package/.prettierignore +4 -4
  4. package/CHANGELOG.md +36 -14
  5. package/DOCS_GUIDE.md +151 -151
  6. package/README.md +248 -248
  7. package/dist/core/__tests__/logger-types.test.js +1 -1
  8. package/dist/core/__tests__/logger.test.js +1 -1
  9. package/dist/core/__tests__/tracer.test.js +1 -1
  10. package/dist/core/index.js +1 -1
  11. package/dist/core/logger-types.js +1 -1
  12. package/dist/core/logger.js +1 -1
  13. package/dist/core/tracer-types.js +1 -1
  14. package/dist/core/tracer.js +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/sst/__tests__/telemetry.test.js +1 -1
  17. package/dist/sst/index.js +1 -1
  18. package/dist/sst/middy/index.js +1 -1
  19. package/dist/sst/middy/middleware.js +1 -1
  20. package/dist/sst/telemetry.js +1 -1
  21. package/dist/tsed/__tests__/config.test.js +1 -1
  22. package/dist/tsed/__tests__/service.test.js +1 -1
  23. package/dist/tsed/config.js +1 -1
  24. package/dist/tsed/index.js +1 -1
  25. package/dist/tsed/log-telemetry.js +1 -1
  26. package/dist/tsed/service.js +1 -1
  27. package/dist/tsed/sync-log-record-processor.js +1 -1
  28. package/package.json +72 -72
  29. package/release.config.js +23 -23
  30. package/vitest.config.ts +22 -22
  31. package/dist/telemetry/core/__tests__/logger-types.test.d.ts +0 -1
  32. package/dist/telemetry/core/__tests__/logger-types.test.js +0 -325
  33. package/dist/telemetry/core/__tests__/logger.test.d.ts +0 -1
  34. package/dist/telemetry/core/__tests__/logger.test.js +0 -337
  35. package/dist/telemetry/core/__tests__/tracer.test.d.ts +0 -1
  36. package/dist/telemetry/core/__tests__/tracer.test.js +0 -330
  37. package/dist/telemetry/core/index.d.ts +0 -4
  38. package/dist/telemetry/core/index.js +0 -8
  39. package/dist/telemetry/core/logger-types.d.ts +0 -43
  40. package/dist/telemetry/core/logger-types.js +0 -3
  41. package/dist/telemetry/core/logger.d.ts +0 -13
  42. package/dist/telemetry/core/logger.js +0 -123
  43. package/dist/telemetry/core/tracer-types.d.ts +0 -50
  44. package/dist/telemetry/core/tracer-types.js +0 -3
  45. package/dist/telemetry/core/tracer.d.ts +0 -10
  46. package/dist/telemetry/core/tracer.js +0 -114
  47. package/dist/telemetry/index.d.ts +0 -3
  48. package/dist/telemetry/index.js +0 -20
  49. package/dist/telemetry/sst/__tests__/telemetry.test.d.ts +0 -1
  50. package/dist/telemetry/sst/__tests__/telemetry.test.js +0 -138
  51. package/dist/telemetry/sst/index.d.ts +0 -1
  52. package/dist/telemetry/sst/index.js +0 -18
  53. package/dist/telemetry/sst/middy/index.d.ts +0 -1
  54. package/dist/telemetry/sst/middy/index.js +0 -18
  55. package/dist/telemetry/sst/middy/middleware.d.ts +0 -5
  56. package/dist/telemetry/sst/middy/middleware.js +0 -157
  57. package/dist/telemetry/sst/telemetry.d.ts +0 -4
  58. package/dist/telemetry/sst/telemetry.js +0 -121
  59. package/dist/telemetry/tsed/__tests__/config.test.d.ts +0 -1
  60. package/dist/telemetry/tsed/__tests__/config.test.js +0 -146
  61. package/dist/telemetry/tsed/__tests__/service.test.d.ts +0 -1
  62. package/dist/telemetry/tsed/__tests__/service.test.js +0 -63
  63. package/dist/telemetry/tsed/config.d.ts +0 -26
  64. package/dist/telemetry/tsed/config.js +0 -166
  65. package/dist/telemetry/tsed/index.d.ts +0 -4
  66. package/dist/telemetry/tsed/index.js +0 -21
  67. package/dist/telemetry/tsed/log-telemetry.d.ts +0 -1
  68. package/dist/telemetry/tsed/log-telemetry.js +0 -196
  69. package/dist/telemetry/tsed/service.d.ts +0 -26
  70. package/dist/telemetry/tsed/service.js +0 -150
  71. package/dist/telemetry/tsed/sync-log-record-processor.d.ts +0 -11
  72. package/dist/telemetry/tsed/sync-log-record-processor.js +0 -74
@@ -1,50 +0,0 @@
1
- import { Span } from '@opentelemetry/api';
2
- export interface StandardTraceData {
3
- spanName: string;
4
- serviceName: string;
5
- environment: string;
6
- execution?: {
7
- functionName?: string;
8
- invocationId?: string;
9
- awsRequestId?: string;
10
- requestId?: string;
11
- controller?: string;
12
- controllerMethod?: string;
13
- origin?: string;
14
- };
15
- http?: {
16
- method?: string;
17
- url?: string;
18
- endpoint?: string;
19
- statusCode?: number;
20
- target?: string;
21
- scheme?: string;
22
- host?: string;
23
- };
24
- user?: {
25
- accountUserUid?: string;
26
- accountUid?: string;
27
- applicationUid?: string;
28
- };
29
- performance?: {
30
- durationMs?: number;
31
- success?: boolean;
32
- };
33
- error?: {
34
- type?: string;
35
- message?: string;
36
- stack?: string;
37
- };
38
- attributes?: Record<string, string | number | boolean>;
39
- }
40
- export interface StandardSpanResult {
41
- span: Span;
42
- end: () => void;
43
- setSuccess: (success: boolean) => void;
44
- setError: (error: Error) => void;
45
- setAttribute: (key: string, value: string | number | boolean) => void;
46
- }
47
- export interface IStandardTracer {
48
- startSpan(data: StandardTraceData): StandardSpanResult;
49
- recordException(span: Span, error: Error): void;
50
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2VyLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlbGVtZXRyeS9jb3JlL3RyYWNlci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3BhbiwgU3BhblN0YXR1c0NvZGUsIFRyYWNlciB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2FwaSc7XHJcblxyXG4vKipcclxuICogSW50ZXJmYWNlIHBhZHLDo28gcGFyYSBkYWRvcyBkZSB0cmFjZXMgZW0gdG9kYSBhIGFwbGljYcOnw6NvLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZFRyYWNlRGF0YSB7XHJcbiAgLy8gSWRlbnRpZmljYcOnw6NvIGRvIHNwYW5cclxuICBzcGFuTmFtZTogc3RyaW5nO1xyXG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XHJcbiAgZW52aXJvbm1lbnQ6IHN0cmluZztcclxuXHJcbiAgLy8gQ29udGV4dG8gZGEgZXhlY3XDp8Ojb1xyXG4gIGV4ZWN1dGlvbj86IHtcclxuICAgIGZ1bmN0aW9uTmFtZT86IHN0cmluZztcclxuICAgIGludm9jYXRpb25JZD86IHN0cmluZztcclxuICAgIGF3c1JlcXVlc3RJZD86IHN0cmluZztcclxuICAgIHJlcXVlc3RJZD86IHN0cmluZztcclxuICAgIGNvbnRyb2xsZXI/OiBzdHJpbmc7XHJcbiAgICBjb250cm9sbGVyTWV0aG9kPzogc3RyaW5nO1xyXG4gICAgb3JpZ2luPzogc3RyaW5nO1xyXG4gIH07XHJcblxyXG4gIC8vIENvbnRleHRvIEhUVFBcclxuICBodHRwPzoge1xyXG4gICAgbWV0aG9kPzogc3RyaW5nO1xyXG4gICAgdXJsPzogc3RyaW5nO1xyXG4gICAgZW5kcG9pbnQ/OiBzdHJpbmc7XHJcbiAgICBzdGF0dXNDb2RlPzogbnVtYmVyO1xyXG4gICAgdGFyZ2V0Pzogc3RyaW5nO1xyXG4gICAgc2NoZW1lPzogc3RyaW5nO1xyXG4gICAgaG9zdD86IHN0cmluZztcclxuICB9O1xyXG5cclxuICAvLyBJZGVudGlmaWNhw6fDo28gZG8gdXN1w6FyaW9cclxuICB1c2VyPzoge1xyXG4gICAgYWNjb3VudFVzZXJVaWQ/OiBzdHJpbmc7XHJcbiAgICBhY2NvdW50VWlkPzogc3RyaW5nO1xyXG4gICAgYXBwbGljYXRpb25VaWQ/OiBzdHJpbmc7XHJcbiAgfTtcclxuXHJcbiAgLy8gUGVyZm9ybWFuY2VcclxuICBwZXJmb3JtYW5jZT86IHtcclxuICAgIGR1cmF0aW9uTXM/OiBudW1iZXI7XHJcbiAgICBzdWNjZXNzPzogYm9vbGVhbjtcclxuICB9O1xyXG5cclxuICAvLyBJbmZvcm1hw6fDtWVzIGRlIGVycm9cclxuICBlcnJvcj86IHtcclxuICAgIHR5cGU/OiBzdHJpbmc7XHJcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgc3RhY2s/OiBzdHJpbmc7XHJcbiAgfTtcclxuXHJcbiAgLy8gQXRyaWJ1dG9zIGN1c3RvbWl6YWRvcyBhZGljaW9uYWlzXHJcbiAgYXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+O1xyXG59XHJcblxyXG4vKipcclxuICogSW50ZXJmYWNlIHBhcmEgcmVzdWx0YWRvIGRlIHNwYW4gY3JpYWRvXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkU3BhblJlc3VsdCB7XHJcbiAgc3BhbjogU3BhbjtcclxuICBlbmQ6ICgpID0+IHZvaWQ7XHJcbiAgc2V0U3VjY2VzczogKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHZvaWQ7XHJcbiAgc2V0RXJyb3I6IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XHJcbiAgc2V0QXR0cmlidXRlOiAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKSA9PiB2b2lkO1xyXG59XHJcblxyXG4vKipcclxuICogSW50ZXJmYWNlIHBhcmEgbyB0cmFjZXIgcGFkcm9uaXphZG9cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVN0YW5kYXJkVHJhY2VyIHtcclxuICBzdGFydFNwYW4oZGF0YTogU3RhbmRhcmRUcmFjZURhdGEpOiBTdGFuZGFyZFNwYW5SZXN1bHQ7XHJcbiAgcmVjb3JkRXhjZXB0aW9uKHNwYW46IFNwYW4sIGVycm9yOiBFcnJvcik6IHZvaWQ7XHJcbn1cclxuIl19
@@ -1,10 +0,0 @@
1
- import { Span, Tracer } from '@opentelemetry/api';
2
- import { IStandardTracer, StandardTraceData, StandardSpanResult } from './tracer-types';
3
- export declare class StandardTracer implements IStandardTracer {
4
- private readonly tracer;
5
- private readonly defaultServiceName;
6
- constructor(tracer: Tracer, defaultServiceName?: string);
7
- startSpan(data: StandardTraceData): StandardSpanResult;
8
- recordException(span: Span, error: Error): void;
9
- private buildAttributes;
10
- }
@@ -1,114 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlbGVtZXRyeS9jb3JlL3RyYWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBNEU7QUFXNUUsTUFBYSxjQUFjO0lBQ3pCLFlBQ21CLE1BQWMsRUFDZCxxQkFBNkIsaUJBQWlCO1FBRDlDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTRCO0lBQzlELENBQUM7SUFLSixTQUFTLENBQUMsSUFBdUI7UUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hELElBQUksRUFBRSxjQUFRLENBQUMsTUFBTTtZQUNyQixVQUFVO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsT0FBTztZQUNMLElBQUk7WUFDSixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixVQUFVLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ2IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsb0JBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFjLENBQUMsS0FBSztpQkFDekQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELFFBQVEsRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFO2dCQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FB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Q0FBQztZQUNmLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO2dCQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNoRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFBRSxVQUFVLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDekUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7Z0JBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JFLENBQUM7UUFHRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUN2RCxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO29CQUMxQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBR0QsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FDL0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksQ0FDckQsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBbElELHdDQWtJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNwYW4sIFNwYW5TdGF0dXNDb2RlLCBUcmFjZXIsIFNwYW5LaW5kIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpJztcclxuaW1wb3J0IHtcclxuICBJU3RhbmRhcmRUcmFjZXIsXHJcbiAgU3RhbmRhcmRUcmFjZURhdGEsXHJcbiAgU3RhbmRhcmRTcGFuUmVzdWx0LFxyXG59IGZyb20gJy4vdHJhY2VyLXR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBUcmFjZXIgcGFkcm9uaXphZG8gcXVlIGdhcmFudGUgY29uc2lzdMOqbmNpYSBub3MgdHJhY2VzLlxyXG4gKiBDb21wbGVtZW50YSBvIFN0YW5kYXJkTG9nZ2VyIHBhcmEgb2JzZXJ2YWJpbGlkYWRlIGNvbXBsZXRhLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFN0YW5kYXJkVHJhY2VyIGltcGxlbWVudHMgSVN0YW5kYXJkVHJhY2VyIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhY2VyOiBUcmFjZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTZXJ2aWNlTmFtZTogc3RyaW5nID0gJ3Vua25vd24tc2VydmljZSdcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaWNpYSB1bSBub3ZvIHNwYW4gY29tIGF0cmlidXRvcyBwYWRyb25pemFkb3NcclxuICAgKi9cclxuICBzdGFydFNwYW4oZGF0YTogU3RhbmRhcmRUcmFjZURhdGEpOiBTdGFuZGFyZFNwYW5SZXN1bHQge1xyXG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMuYnVpbGRBdHRyaWJ1dGVzKGRhdGEpO1xyXG5cclxuICAgIGNvbnN0IHNwYW4gPSB0aGlzLnRyYWNlci5zdGFydFNwYW4oZGF0YS5zcGFuTmFtZSwge1xyXG4gICAgICBraW5kOiBTcGFuS2luZC5TRVJWRVIsXHJcbiAgICAgIGF0dHJpYnV0ZXMsXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzcGFuLFxyXG4gICAgICBlbmQ6ICgpID0+IHNwYW4uZW5kKCksXHJcbiAgICAgIHNldFN1Y2Nlc3M6IChzdWNjZXNzOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ2V4ZWN1dGlvbi5zdWNjZXNzJywgc3VjY2Vzcyk7XHJcbiAgICAgICAgc3Bhbi5zZXRTdGF0dXMoe1xyXG4gICAgICAgICAgY29kZTogc3VjY2VzcyA/IFNwYW5TdGF0dXNDb2RlLk9LIDogU3BhblN0YXR1c0NvZGUuRVJST1IsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWNvcmRFeGNlcHRpb24oc3BhbiwgZXJyb3IpO1xyXG4gICAgICAgIHNwYW4uc2V0QXR0cmlidXRlKCdleGVjdXRpb24uc3VjY2VzcycsIGZhbHNlKTtcclxuICAgICAgICBzcGFuLnNldFN0YXR1cyh7XHJcbiAgICAgICAgICBjb2RlOiBTcGFuU3RhdHVzQ29kZS5FUlJPUixcclxuICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEF0dHJpYnV0ZTogKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIHNwYW4uc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdHJhIHVtYSBleGNlw6fDo28gbm8gc3BhblxyXG4gICAqL1xyXG4gIHJlY29yZEV4Y2VwdGlvbihzcGFuOiBTcGFuLCBlcnJvcjogRXJyb3IpOiB2b2lkIHtcclxuICAgIHNwYW4ucmVjb3JkRXhjZXB0aW9uKGVycm9yKTtcclxuICAgIHNwYW4uc2V0QXR0cmlidXRlKCdlcnJvci50eXBlJywgZXJyb3IubmFtZSk7XHJcbiAgICBzcGFuLnNldEF0dHJpYnV0ZSgnZXJyb3IubWVzc2FnZScsIGVycm9yLm1lc3NhZ2UpO1xyXG4gICAgaWYgKGVycm9yLnN0YWNrKSB7XHJcbiAgICAgIHNwYW4uc2V0QXR0cmlidXRlKCdlcnJvci5zdGFjaycsIGVycm9yLnN0YWNrKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0csOzaSBhdHJpYnV0b3MgcGFkcm9uaXphZG9zIHBhcmEgbyBzcGFuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBidWlsZEF0dHJpYnV0ZXMoZGF0YTogU3RhbmRhcmRUcmFjZURhdGEpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcclxuICAgIGNvbnN0IGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XHJcbiAgICAgICdzZXJ2aWNlLm5hbWUnOiBkYXRhLnNlcnZpY2VOYW1lIHx8IHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lLFxyXG4gICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJzogZGF0YS5lbnZpcm9ubWVudCxcclxuICAgIH07XHJcblxyXG4gICAgLy8gRXhlY3XDp8Ojb1xyXG4gICAgaWYgKGRhdGEuZXhlY3V0aW9uKSB7XHJcbiAgICAgIGlmIChkYXRhLmV4ZWN1dGlvbi5mdW5jdGlvbk5hbWUpXHJcbiAgICAgICAgYXR0cmlidXRlc1snZmFhcy5uYW1lJ10gPSBkYXRhLmV4ZWN1dGlvbi5mdW5jdGlvbk5hbWU7XHJcbiAgICAgIGlmIChkYXRhLmV4ZWN1dGlvbi5pbnZvY2F0aW9uSWQpXHJcbiAgICAgICAgYXR0cmlidXRlc1snZmFhcy5pbnZvY2F0aW9uX2lkJ10gPSBkYXRhLmV4ZWN1dGlvbi5pbnZvY2F0aW9uSWQ7XHJcbiAgICAgIGlmIChkYXRhLmV4ZWN1dGlvbi5hd3NSZXF1ZXN0SWQpXHJcbiAgICAgICAgYXR0cmlidXRlc1snYXdzLnJlcXVlc3QuaWQnXSA9IGRhdGEuZXhlY3V0aW9uLmF3c1JlcXVlc3RJZDtcclxuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLnJlcXVlc3RJZClcclxuICAgICAgICBhdHRyaWJ1dGVzWydyZXF1ZXN0LmlkJ10gPSBkYXRhLmV4ZWN1dGlvbi5yZXF1ZXN0SWQ7XHJcbiAgICAgIGlmIChkYXRhLmV4ZWN1dGlvbi5jb250cm9sbGVyKVxyXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2NvbnRyb2xsZXIubmFtZSddID0gZGF0YS5leGVjdXRpb24uY29udHJvbGxlcjtcclxuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLmNvbnRyb2xsZXJNZXRob2QpXHJcbiAgICAgICAgYXR0cmlidXRlc1snY29udHJvbGxlci5tZXRob2QnXSA9IGRhdGEuZXhlY3V0aW9uLmNvbnRyb2xsZXJNZXRob2Q7XHJcbiAgICAgIGlmIChkYXRhLmV4ZWN1dGlvbi5vcmlnaW4pIGF0dHJpYnV0ZXNbJ29yaWdpbiddID0gZGF0YS5leGVjdXRpb24ub3JpZ2luO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhUVFBcclxuICAgIGlmIChkYXRhLmh0dHApIHtcclxuICAgICAgaWYgKGRhdGEuaHR0cC5tZXRob2QpIGF0dHJpYnV0ZXNbJ2h0dHAubWV0aG9kJ10gPSBkYXRhLmh0dHAubWV0aG9kO1xyXG4gICAgICBpZiAoZGF0YS5odHRwLnVybCkgYXR0cmlidXRlc1snaHR0cC51cmwnXSA9IGRhdGEuaHR0cC51cmw7XHJcbiAgICAgIGlmIChkYXRhLmh0dHAuZW5kcG9pbnQpIGF0dHJpYnV0ZXNbJ2h0dHAudGFyZ2V0J10gPSBkYXRhLmh0dHAuZW5kcG9pbnQ7XHJcbiAgICAgIGlmIChkYXRhLmh0dHAuc3RhdHVzQ29kZSlcclxuICAgICAgICBhdHRyaWJ1dGVzWydodHRwLnN0YXR1c19jb2RlJ10gPSBkYXRhLmh0dHAuc3RhdHVzQ29kZTtcclxuICAgICAgaWYgKGRhdGEuaHR0cC5zY2hlbWUpIGF0dHJpYnV0ZXNbJ2h0dHAuc2NoZW1lJ10gPSBkYXRhLmh0dHAuc2NoZW1lO1xyXG4gICAgICBpZiAoZGF0YS5odHRwLmhvc3QpIGF0dHJpYnV0ZXNbJ2h0dHAuaG9zdCddID0gZGF0YS5odHRwLmhvc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVXN1w6FyaW9cclxuICAgIGlmIChkYXRhLnVzZXIpIHtcclxuICAgICAgaWYgKGRhdGEudXNlci5hY2NvdW50VXNlclVpZClcclxuICAgICAgICBhdHRyaWJ1dGVzWydhY2NvdW50VXNlci51aWQnXSA9IGRhdGEudXNlci5hY2NvdW50VXNlclVpZDtcclxuICAgICAgaWYgKGRhdGEudXNlci5hY2NvdW50VWlkKVxyXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2FjY291bnQudWlkJ10gPSBkYXRhLnVzZXIuYWNjb3VudFVpZDtcclxuICAgICAgaWYgKGRhdGEudXNlci5hcHBsaWNhdGlvblVpZClcclxuICAgICAgICBhdHRyaWJ1dGVzWydhcHBsaWNhdGlvbi51aWQnXSA9IGRhdGEudXNlci5hcHBsaWNhdGlvblVpZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQZXJmb3JtYW5jZVxyXG4gICAgaWYgKGRhdGEucGVyZm9ybWFuY2UpIHtcclxuICAgICAgaWYgKGRhdGEucGVyZm9ybWFuY2UuZHVyYXRpb25NcylcclxuICAgICAgICBhdHRyaWJ1dGVzWydkdXJhdGlvbi5tcyddID0gZGF0YS5wZXJmb3JtYW5jZS5kdXJhdGlvbk1zO1xyXG4gICAgICBpZiAoZGF0YS5wZXJmb3JtYW5jZS5zdWNjZXNzICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgYXR0cmlidXRlc1snZXhlY3V0aW9uLnN1Y2Nlc3MnXSA9IGRhdGEucGVyZm9ybWFuY2Uuc3VjY2VzcztcclxuICAgIH1cclxuXHJcbiAgICAvLyBFcnJvXHJcbiAgICBpZiAoZGF0YS5lcnJvcikge1xyXG4gICAgICBpZiAoZGF0YS5lcnJvci50eXBlKSBhdHRyaWJ1dGVzWydlcnJvci50eXBlJ10gPSBkYXRhLmVycm9yLnR5cGU7XHJcbiAgICAgIGlmIChkYXRhLmVycm9yLm1lc3NhZ2UpIGF0dHJpYnV0ZXNbJ2Vycm9yLm1lc3NhZ2UnXSA9IGRhdGEuZXJyb3IubWVzc2FnZTtcclxuICAgICAgaWYgKGRhdGEuZXJyb3Iuc3RhY2spIGF0dHJpYnV0ZXNbJ2Vycm9yLnN0YWNrJ10gPSBkYXRhLmVycm9yLnN0YWNrO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEF0cmlidXRvcyBjdXN0b21pemFkb3NcclxuICAgIGlmIChkYXRhLmF0dHJpYnV0ZXMpIHtcclxuICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YS5hdHRyaWJ1dGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgYXR0cmlidXRlc1trZXldID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBGaWx0cmFyIHZhbG9yZXMgdW5kZWZpbmVkL251bGxcclxuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKGF0dHJpYnV0ZXMpLmZpbHRlcihcclxuICAgICAgICAoWywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './core';
2
- export * from './tsed';
3
- export * from './sst';
@@ -1,20 +0,0 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./core"), exports);
18
- __exportStar(require("./tsed"), exports);
19
- __exportStar(require("./sst"), exports);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVsZW1ldHJ5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUI7QUFDdkIseUNBQXVCO0FBQ3ZCLHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29yZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHNlZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3N0JztcclxuIl19
@@ -1 +0,0 @@
1
- export {};
@@ -1,138 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVsZW1ldHJ5L3NzdC9fX3Rlc3RzX18vdGVsZW1ldHJ5LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBeUU7QUFHekUsSUFBQSxrQkFBUyxFQUFDLEdBQUcsRUFBRTtJQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEdBQUcsMEJBQTBCLENBQUM7SUFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLENBQUM7SUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLENBQUM7SUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDO0FBR0gsSUFBSSxlQUFvQixDQUFDO0FBQ3pCLElBQUEsa0JBQVMsRUFBQyxHQUFTLEVBQUU7SUFDbkIsZUFBZSxHQUFHLHdEQUFhLGNBQWMsR0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQSxDQUFDLENBQUM7QUFFSCxJQUFBLGlCQUFRLEVBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUM3QixJQUFBLGlCQUFRLEVBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ2pDLElBQUEsV0FBRSxFQUFDLCtDQUErQyxFQUFFLEdBQUcsRUFBRTtZQUN2RCxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUVuRCxJQUFBLGVBQU0sRUFBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QixJQUFBLGVBQU0sRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEMsSUFBQSxlQUFNLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFD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VSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUVqQixNQUFNLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUduQyxJQUFBLGVBQU0sRUFBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmliZSwgaXQsIGV4cGVjdCwgdmksIGJlZm9yZUVhY2gsIGJlZm9yZUFsbCB9IGZyb20gJ3ZpdGVzdCc7XHJcblxyXG4vLyBTZXR1cCBlbnYgdmFycyBhbnRlcyBkZSBpbXBvcnRhclxyXG5iZWZvcmVBbGwoKCkgPT4ge1xyXG4gIHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVCA9ICdodHRwczovL3Rlc3QuZXhhbXBsZS5jb20nO1xyXG4gIHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9VU0VSID0gJ3Rlc3QtdXNlcic7XHJcbiAgcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX1BBU1MgPSAndGVzdC1wYXNzJztcclxuICBwcm9jZXNzLmVudi5TRVJWSUNFX05BTUUgPSAndGVzdC1zZXJ2aWNlJztcclxufSk7XHJcblxyXG4vLyBJbXBvcnRhw6fDo28gZGluw6JtaWNhIHBhcmEgZ2FyYW50aXIgcXVlIGVudiB2YXJzIGVzdGVqYW0gc2V0YWRhc1xyXG5sZXQgdGVsZW1ldHJ5TW9kdWxlOiBhbnk7XHJcbmJlZm9yZUFsbChhc3luYyAoKSA9PiB7XHJcbiAgdGVsZW1ldHJ5TW9kdWxlID0gYXdhaXQgaW1wb3J0KCcuLi90ZWxlbWV0cnknKTtcclxufSk7XHJcblxyXG5kZXNjcmliZSgnU1NUIFRlbGVtZXRyeScsICgpID0+IHtcclxuICBkZXNjcmliZSgnZ2V0U3RhbmRhcmRMb2dnZXInLCAoKSA9PiB7XHJcbiAgICBpdCgnZGV2ZSByZXRvcm5hciB1bWEgaW5zdMOibmNpYSBkZSBTdGFuZGFyZExvZ2dlcicsICgpID0+IHtcclxuICAgICAgY29uc3QgbG9nZ2VyID0gdGVsZW1ldHJ5TW9kdWxlLmdldFN0YW5kYXJkTG9nZ2VyKCk7XHJcblxyXG4gICAgICBleHBlY3QobG9nZ2VyKS50b0JlRGVmaW5lZCgpO1xyXG4gICAgICBleHBlY3QobG9nZ2VyLmxvZ0Vycm9yKS50b0JlRGVmaW5lZCgpO1xyXG4gICAgICBleHBlY3QobG9nZ2VyLmxvZ0luZm8pLnRvQmVEZWZpbmVkKCk7XHJcbiAgICAgIGV4cGVjdChsb2dnZXIubG9nV2FybikudG9CZURlZmluZWQoKTtcclxuICAgICAgZXhwZWN0KGxvZ2dlci5sb2dEZWJ1ZykudG9CZURlZmluZWQoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGl0KCdkZXZlIHJldG9ybmFyIHNlbXByZSBhIG1lc21hIGluc3TDom5jaWEgKHNpbmdsZXRvbiknLCAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxvZ2dlcjEgPSB0ZWxlbWV0cnlNb2R1bGUuZ2V0U3RhbmRhcmRMb2dnZXIoKTtcclxuICAgICAgY29uc3QgbG9nZ2VyMiA9IHRlbGVtZXRyeU1vZHVsZS5nZXRTdGFuZGFyZExvZ2dlcigpO1xyXG5cclxuICAgICAgZXhwZWN0KGxvZ2dlcjEpLnRvQmUobG9nZ2VyMik7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpdCgnZGV2ZSB0ZXIgbcOpdG9kb3MgZGUgbG9nIGZ1bmNpb25haXMnLCBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxvZ2dlciA9IHRlbGVtZXRyeU1vZHVsZS5nZXRTdGFuZGFyZExvZ2dlcigpO1xyXG5cclxuICAgICAgLy8gVGVzdGEgc2Ugb3MgbcOpdG9kb3MgcG9kZW0gc2VyIGNoYW1hZG9zIHNlbSBlcnJvXHJcbiAgICAgIGF3YWl0IGV4cGVjdChcclxuICAgICAgICBsb2dnZXIubG9nSW5mbyh7XHJcbiAgICAgICAgICBtZXNzYWdlOiAnVGVzdCBsb2cnLFxyXG4gICAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxyXG4gICAgICAgICAgZW52aXJvbm1lbnQ6ICd0ZXN0JyxcclxuICAgICAgICB9KVxyXG4gICAgICApLnJlc29sdmVzLm5vdC50b1Rocm93KCk7XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgZGVzY3JpYmUoJ2dldFN0YW5kYXJkVHJhY2VyJywgKCkgPT4ge1xyXG4gICAgaXQoJ2RldmUgcmV0b3JuYXIgdW1hIGluc3TDom5jaWEgZGUgU3RhbmRhcmRUcmFjZXInLCAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRyYWNlciA9IHRlbGVtZXRyeU1vZHVsZS5nZXRTdGFuZGFyZFRyYWNlcigpO1xyXG5cclxuICAgICAgZXhwZWN0KHRyYWNlcikudG9CZURlZmluZWQoKTtcclxuICAgICAgZXhwZWN0KHRyYWNlci5zdGFydFNwYW4pLnRvQmVEZWZpbmVkKCk7XHJcbiAgICAgIGV4cGVjdCh0cmFjZXIucmVjb3JkRXhjZXB0aW9uKS50b0JlRGVmaW5lZCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaXQoJ2RldmUgcmV0b3JuYXIgc2VtcHJlIGEgbWVzbWEgaW5zdMOibmNpYSAoc2luZ2xldG9uKScsICgpID0+IHtcclxuICAgICAgY29uc3QgdHJhY2VyMSA9IHRlbGVtZXRyeU1vZHVsZS5nZXRTdGFuZGFyZFRyYWNlcigpO1xyXG4gICAgICBjb25zdCB0cmFjZXIyID0gdGVsZW1ldHJ5TW9kdWxlLmdldFN0YW5kYXJkVHJhY2VyKCk7XHJcblxyXG4gICAgICBleHBlY3QodHJhY2VyMSkudG9CZSh0cmFjZXIyKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGl0KCdkZXZlIGNyaWFyIHNwYW5zIGZ1bmNpb25haXMnLCAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRyYWNlciA9IHRlbGVtZXRyeU1vZHVsZS5nZXRTdGFuZGFyZFRyYWNlcigpO1xyXG5cclxuICAgICAgY29uc3Qgc3BhblJlc3VsdCA9IHRyYWNlci5zdGFydFNwYW4oe1xyXG4gICAgICAgIHNwYW5OYW1lOiAndGVzdC1zcGFuJyxcclxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXHJcbiAgICAgICAgZW52aXJvbm1lbnQ6ICd0ZXN0JyxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBleHBlY3Qoc3BhblJlc3VsdCkudG9CZURlZmluZWQoKTtcclxuICAgICAgZXhwZWN0KHNwYW5SZXN1bHQuc3BhbikudG9CZURlZmluZWQoKTtcclxuICAgICAgZXhwZWN0KHNwYW5SZXN1bHQuZW5kKS50b0JlRGVmaW5lZCgpO1xyXG4gICAgICBleHBlY3Qoc3BhblJlc3VsdC5zZXRTdWNjZXNzKS50b0JlRGVmaW5lZCgpO1xyXG4gICAgICBleHBlY3Qoc3BhblJlc3VsdC5zZXRFcnJvcikudG9CZURlZmluZWQoKTtcclxuICAgICAgZXhwZWN0KHNwYW5SZXN1bHQuc2V0QXR0cmlidXRlKS50b0JlRGVmaW5lZCgpO1xyXG5cclxuICAgICAgLy8gTGltcGFyIHNwYW5cclxuICAgICAgc3BhblJlc3VsdC5lbmQoKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICBkZXNjcmliZSgnZm9yY2VGbHVzaCcsICgpID0+IHtcclxuICAgIGl0KCdkZXZlIGV4ZWN1dGFyIHNlbSBlcnJvcycsIGFzeW5jICgpID0+IHtcclxuICAgICAgYXdhaXQgZXhwZWN0KHRlbGVtZXRyeU1vZHVsZS5mb3JjZUZsdXNoKCkpLnJlc29sdmVzLm5vdC50b1Rocm93KCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpdCgnZGV2ZSByZXRvcm5hciB1bWEgUHJvbWlzZScsICgpID0+IHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gdGVsZW1ldHJ5TW9kdWxlLmZvcmNlRmx1c2goKTtcclxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZUluc3RhbmNlT2YoUHJvbWlzZSk7XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgZGVzY3JpYmUoJ2ludGVncmHDp8OjbyBsb2dnZXIgZSB0cmFjZXInLCAoKSA9PiB7XHJcbiAgICBpdCgnZGV2ZSBmdW5jaW9uYXIgbG9nZ2VyIGUgdHJhY2VyIGp1bnRvcycsIGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3QgbG9nZ2VyID0gdGVsZW1ldHJ5TW9kdWxlLmdldFN0YW5kYXJkTG9nZ2VyKCk7XHJcbiAgICAgIGNvbnN0IHRyYWNlciA9IHRlbGVtZXRyeU1vZHVsZS5nZXRTdGFuZGFyZFRyYWNlcigpO1xyXG5cclxuICAgICAgY29uc3Qgc3BhblJlc3VsdCA9IHRyYWNlci5zdGFydFNwYW4oe1xyXG4gICAgICAgIHNwYW5OYW1lOiAnaW50ZWdyYXRpb24tdGVzdCcsXHJcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxyXG4gICAgICAgIGVudmlyb25tZW50OiAndGVzdCcsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgYXdhaXQgbG9nZ2VyLmxvZ0luZm8oe1xyXG4gICAgICAgIG1lc3NhZ2U6ICdJbnRlZ3JhdGlvbiB0ZXN0JyxcclxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXHJcbiAgICAgICAgZW52aXJvbm1lbnQ6ICd0ZXN0JyxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBzcGFuUmVzdWx0LnNldFN1Y2Nlc3ModHJ1ZSk7XHJcbiAgICAgIHNwYW5SZXN1bHQuZW5kKCk7XHJcblxyXG4gICAgICBhd2FpdCB0ZWxlbWV0cnlNb2R1bGUuZm9yY2VGbHVzaCgpO1xyXG5cclxuICAgICAgLy8gU2UgY2hlZ291IGFxdWksIHBhc3NvdVxyXG4gICAgICBleHBlY3QodHJ1ZSkudG9CZSh0cnVlKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG59KTtcclxuIl19
@@ -1 +0,0 @@
1
- export * from './middy';
@@ -1,18 +0,0 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./middy"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVsZW1ldHJ5L3NzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9taWRkeSc7XHJcbiJdfQ==
@@ -1 +0,0 @@
1
- export * from './middleware';
@@ -1,18 +0,0 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./middleware"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVsZW1ldHJ5L3NzdC9taWRkeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9taWRkbGV3YXJlJztcclxuIl19
@@ -1,5 +0,0 @@
1
- import middy from '@middy/core';
2
- interface MiddyMiddlewareOptions {
3
- }
4
- export declare const middyTelemetryMiddleware: (options?: MiddyMiddlewareOptions) => middy.MiddlewareObj;
5
- export {};
@@ -1,157 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.middyTelemetryMiddleware = void 0;
13
- const api_1 = require("@opentelemetry/api");
14
- const telemetry_1 = require("../telemetry");
15
- const perf_hooks_1 = require("perf_hooks");
16
- const middyTelemetryMiddleware = (options) => ({
17
- before: (request) => __awaiter(void 0, void 0, void 0, function* () {
18
- const startTime = perf_hooks_1.performance.now();
19
- const { context: lambdaContext } = request;
20
- const functionName = lambdaContext.functionName;
21
- const invocationId = lambdaContext.awsRequestId;
22
- const serviceName = process.env.SERVICE_NAME || 'sst-service';
23
- const event = request.event;
24
- const queryStringParameters = (event === null || event === void 0 ? void 0 : event.queryStringParameters) || {};
25
- const origin = queryStringParameters.origin || 'unknown';
26
- let stage = process.env.STAGE || 'development';
27
- if (stage === 'prod')
28
- stage = 'production';
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,
38
- origin,
39
- },
40
- });
41
- const meter = api_1.metrics.getMeter(origin);
42
- const executionTimeHistogram = meter.createHistogram('lambda_execution_duration', {
43
- description: 'Tempo total de execução do Lambda em ms',
44
- unit: 'ms',
45
- valueType: api_1.ValueType.DOUBLE,
46
- });
47
- const successCounter = meter.createCounter('total_successful_purchases', {
48
- description: 'Total de compras bem-sucedidas',
49
- });
50
- const failureCounter = meter.createCounter('total_failed_purchases', {
51
- description: 'Total de compras com falha',
52
- });
53
- request.context.otel = {
54
- spanResult,
55
- meter,
56
- executionTimeHistogram,
57
- successCounter,
58
- failureCounter,
59
- startTime,
60
- serviceName,
61
- environment: stage,
62
- origin,
63
- };
64
- }),
65
- after: (request) => __awaiter(void 0, void 0, void 0, function* () {
66
- var _a, _b, _c, _d;
67
- const otelData = request.context.otel;
68
- if (!otelData)
69
- return;
70
- const event = request.event;
71
- const queryStringParameters = (event === null || event === void 0 ? void 0 : event.queryStringParameters) || {};
72
- const origin = queryStringParameters.origin || 'unknown';
73
- const { spanResult, successCounter, executionTimeHistogram, startTime, serviceName, environment, } = otelData;
74
- spanResult.setSuccess(true);
75
- successCounter.add(1, {
76
- origin,
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,
80
- });
81
- const durationMs = perf_hooks_1.performance.now() - startTime;
82
- executionTimeHistogram.record(durationMs, {
83
- origin,
84
- status: 'success',
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,
88
- });
89
- const standardLogger = (0, telemetry_1.getStandardLogger)();
90
- yield standardLogger.logInfo({
91
- message: 'Request completed successfully',
92
- serviceName,
93
- environment,
94
- execution: {
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
- origin,
98
- },
99
- performance: {
100
- durationMs,
101
- success: true,
102
- },
103
- });
104
- spanResult.end();
105
- yield (0, telemetry_1.forceFlush)();
106
- }),
107
- onError: (request) => __awaiter(void 0, void 0, void 0, function* () {
108
- var _a, _b, _c, _d, _e, _f, _g;
109
- const otelData = request.context.otel;
110
- if (!otelData)
111
- return;
112
- const { spanResult, failureCounter, executionTimeHistogram, startTime, serviceName, environment, origin, } = otelData;
113
- const error = request.error;
114
- if (error) {
115
- spanResult.setError(error);
116
- }
117
- failureCounter.add(1, {
118
- origin,
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,
123
- });
124
- const durationMs = perf_hooks_1.performance.now() - startTime;
125
- executionTimeHistogram.record(durationMs, {
126
- origin,
127
- status: 'error',
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,
131
- });
132
- const standardLogger = (0, telemetry_1.getStandardLogger)();
133
- yield standardLogger.logError({
134
- message: (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error occurred',
135
- error: error || undefined,
136
- serviceName,
137
- environment,
138
- execution: {
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'],
142
- origin,
143
- },
144
- performance: {
145
- durationMs,
146
- success: false,
147
- },
148
- context: {
149
- errorType: (_g = error === null || error === void 0 ? void 0 : error.constructor) === null || _g === void 0 ? void 0 : _g.name,
150
- },
151
- });
152
- spanResult.end();
153
- yield (0, telemetry_1.forceFlush)();
154
- }),
155
- });
156
- exports.middyTelemetryMiddleware = middyTelemetryMiddleware;
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZWxlbWV0cnkvc3N0L21pZGR5L21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsNENBQXdEO0FBQ3hELDRDQUFnRjtBQUNoRiwyQ0FBeUM7QUFJbEMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxPQUFnQyxFQUNYLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLHdCQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFcEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDM0MsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUNoRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQ2hELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLGFBQWEsQ0FBQztRQUM5RCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBWSxDQUFDO1FBQ25DLE1BQU0scUJBQXFCLEdBQUcsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUscUJBQXFCLEtBQUksRUFBRSxDQUFDO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUM7UUFDekQsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksYUFBYSxDQUFDO1FBQy9DLElBQUksS0FBSyxLQUFLLE1BQU07WUFBRSxLQUFLLEdBQUcsWUFBWSxDQUFDO1FBRzNDLE1BQU0sY0FBYyxHQUFHLElBQUEsNkJBQWlCLEdBQUUsQ0FBQztRQUMzQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO1lBQzFDLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFdBQVc7WUFDWCxXQUFXLEVBQUUsS0FBSztZQUNsQixTQUFTLEVBQUU7Z0JBQ1QsWUFBWTtnQkFDWixZQUFZO2dCQUNaLFlBQVksRUFBRSxZQUFZO2dCQUMxQixNQUFNO2FBQ1A7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyxhQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZDLE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FDbEQsMkJBQTJCLEVBQzNCO1lBQ0UsV0FBVyxFQUFFLHlDQUF5QztZQUN0RCxJQUFJLEVBQUUsSUFBSTtZQUNWLFNBQVMsRUFBRSxlQUFTLENBQUMsTUFBTTtTQUM1QixDQUNGLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLDRCQUE0QixFQUFFO1lBQ3ZFLFdBQVcsRUFBRSxnQ0FBZ0M7U0FDOUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRTtZQUNuRSxXQUFXLEVBQUUsNEJBQTRCO1NBQzFDLENBQUMsQ0FBQztRQUVGLE9BQU8sQ0FBQyxPQUFlLENBQUMsSUFBSSxHQUFHO1lBQzlCLFVBQVU7WUFDVixLQUFLO1lBQ0wsc0JBQXNCO1lBQ3RCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsU0FBUztZQUNULFdBQVc7WUFDWCxXQUFXLEVBQUUsS0FBSztZQUNsQixNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUMsQ0FBQTtJQUVELEtBQUssRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFOztRQUN2QixNQUFNLFFBQVEsR0FBSSxPQUFPLENBQUMsT0FBZSxDQUFDLElBQUksQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDdEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQVksQ0FBQztRQUVuQyxNQUFNLHFCQUFxQixHQUFHLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHFCQUFxQixLQUFJLEVBQUUsQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO1FBRXpELE1BQU0sRUFDSixVQUFVLEVBQ1YsY0FBYyxFQUNkLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsV0FBVyxFQUNYLFdBQVcsR0FDWixHQUFHLFFBQVEsQ0FBQztRQUdiLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHNUIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDcEIsTUFBTTtZQUNOLFdBQVcsRUFBRSxDQUFBLE1BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLDBDQUFHLFdBQVcsQ0FBQyxLQUFJLFNBQVM7WUFDbkUsY0FBYyxFQUFFLFdBQVc7WUFDM0IsNkJBQTZCLEVBQUUsV0FBVztTQUMzQyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRyx3QkFBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUVqRCxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3hDLE1BQU07WUFDTixNQUFNLEVBQUUsU0FBUztZQUNqQixXQUFXLEVBQUUsQ0FBQSxNQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FBRyxXQUFXLENBQUMsS0FBSSxTQUFTO1lBQ25FLGNBQWMsRUFBRSxXQUFXO1lBQzNCLDZCQUE2QixFQUFFLFdBQVc7U0FDM0MsQ0FBQyxDQUFDO1FBR0gsTUFBTSxjQUFjLEdBQUcsSUFBQSw2QkFBaUIsR0FBRSxDQUFDO1FBRTNDLE1BQU0sY0FBYyxDQUFDLE9BQU8sQ0FBQztZQUMzQixPQUFPLEVBQUUsZ0NBQWdDO1lBQ3pDLFdBQVc7WUFDWCxXQUFXO1lBQ1gsU0FBUyxFQUFFO2dCQUNULFlBQVksRUFBRSxNQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FBRyxXQUFXLENBQVc7Z0JBQ2pFLFlBQVksRUFBRSxNQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FDdEMsb0JBQW9CLENBQ1g7Z0JBQ1gsTUFBTTthQUNQO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLFVBQVU7Z0JBQ1YsT0FBTyxFQUFFLElBQUk7YUFDZDtTQUNGLENBQUMsQ0FBQztRQUdILFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUEsc0JBQVUsR0FBRSxDQUFDO0lBQ3JCLENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFOztRQUN6QixNQUFNLFFBQVEsR0FBSSxPQUFPLENBQUMsT0FBZSxDQUFDLElBQUksQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFdEIsTUFBTSxFQUNKLFVBQVUsRUFDVixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsV0FBVyxFQUNYLE1BQU0sR0FDUCxHQUFHLFFBQVEsQ0FBQztRQUNiLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFHNUIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUdELGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3BCLE1BQU07WUFDTixVQUFVLEVBQUUsQ0FBQSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLDBDQUFFLElBQUksS0FBSSxjQUFjO1lBQ3RELFdBQVcsRUFBRSxDQUFBLE1BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLDBDQUFHLFdBQVcsQ0FBQyxLQUFJLFNBQVM7WUFDbkUsY0FBYyxFQUFFLFdBQVc7WUFDM0IsNkJBQTZCLEVBQUUsV0FBVztTQUMzQyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRyx3QkFBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUVqRCxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3hDLE1BQU07WUFDTixNQUFNLEVBQUUsT0FBTztZQUNmLFdBQVcsRUFBRSxDQUFBLE1BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLDBDQUFHLFdBQVcsQ0FBQyxLQUFJLFNBQVM7WUFDbkUsY0FBYyxFQUFFLFdBQVc7WUFDM0IsNkJBQTZCLEVBQUUsV0FBVztTQUMzQyxDQUFDLENBQUM7UUFHSCxNQUFNLGNBQWMsR0FBRyxJQUFBLDZCQUFpQixHQUFFLENBQUM7UUFFM0MsTUFBTSxjQUFjLENBQUMsUUFBUSxDQUFDO1lBQzVCLE9BQU8sRUFBRSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLEtBQUksd0JBQXdCO1lBQ25ELEtBQUssRUFBRSxLQUFLLElBQUksU0FBUztZQUN6QixXQUFXO1lBQ1gsV0FBVztZQUNYLFNBQVMsRUFBRTtnQkFDVCxZQUFZLEVBQUUsTUFBQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsMENBQUcsV0FBVyxDQUFXO2dCQUNqRSxZQUFZLEVBQUUsTUFBQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsMENBQ3RDLG9CQUFvQixDQUNYO2dCQUNYLFlBQVksRUFBRSxNQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FDdEMsb0JBQW9CLENBQ1g7Z0JBQ1gsTUFBTTthQUNQO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLFVBQVU7Z0JBQ1YsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELE9BQU8sRUFBRTtnQkFDUCxTQUFTLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsV0FBVywwQ0FBRSxJQUFJO2FBQ3BDO1NBQ0YsQ0FBQyxDQUFDO1FBR0gsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBQSxzQkFBVSxHQUFFLENBQUM7SUFDckIsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDO0FBak1VLFFBQUEsd0JBQXdCLDRCQWlNbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWlkZHkgZnJvbSAnQG1pZGR5L2NvcmUnO1xyXG5pbXBvcnQgeyBtZXRyaWNzLCBWYWx1ZVR5cGUgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xyXG5pbXBvcnQgeyBmb3JjZUZsdXNoLCBnZXRTdGFuZGFyZExvZ2dlciwgZ2V0U3RhbmRhcmRUcmFjZXIgfSBmcm9tICcuLi90ZWxlbWV0cnknO1xyXG5pbXBvcnQgeyBwZXJmb3JtYW5jZSB9IGZyb20gJ3BlcmZfaG9va3MnO1xyXG5cclxuaW50ZXJmYWNlIE1pZGR5TWlkZGxld2FyZU9wdGlvbnMge31cclxuXHJcbmV4cG9ydCBjb25zdCBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgPSAoXHJcbiAgb3B0aW9ucz86IE1pZGR5TWlkZGxld2FyZU9wdGlvbnNcclxuKTogbWlkZHkuTWlkZGxld2FyZU9iaiA9PiAoe1xyXG4gIGJlZm9yZTogYXN5bmMgKHJlcXVlc3QpID0+IHtcclxuICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xyXG5cclxuICAgIGNvbnN0IHsgY29udGV4dDogbGFtYmRhQ29udGV4dCB9ID0gcmVxdWVzdDtcclxuICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IGxhbWJkYUNvbnRleHQuZnVuY3Rpb25OYW1lO1xyXG4gICAgY29uc3QgaW52b2NhdGlvbklkID0gbGFtYmRhQ29udGV4dC5hd3NSZXF1ZXN0SWQ7XHJcbiAgICBjb25zdCBzZXJ2aWNlTmFtZSA9IHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRSB8fCAnc3N0LXNlcnZpY2UnO1xyXG4gICAgY29uc3QgZXZlbnQgPSByZXF1ZXN0LmV2ZW50IGFzIGFueTtcclxuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycyA9IGV2ZW50Py5xdWVyeVN0cmluZ1BhcmFtZXRlcnMgfHwge307XHJcbiAgICBjb25zdCBvcmlnaW4gPSBxdWVyeVN0cmluZ1BhcmFtZXRlcnMub3JpZ2luIHx8ICd1bmtub3duJztcclxuICAgIGxldCBzdGFnZSA9IHByb2Nlc3MuZW52LlNUQUdFIHx8ICdkZXZlbG9wbWVudCc7XHJcbiAgICBpZiAoc3RhZ2UgPT09ICdwcm9kJykgc3RhZ2UgPSAncHJvZHVjdGlvbic7XHJcblxyXG4gICAgLy8gVXNhciBTdGFuZGFyZFRyYWNlciBwYXJhIGNyaWFyIHNwYW4gY29tIGF0cmlidXRvcyBwYWRyb25pemFkb3NcclxuICAgIGNvbnN0IHN0YW5kYXJkVHJhY2VyID0gZ2V0U3RhbmRhcmRUcmFjZXIoKTtcclxuICAgIGNvbnN0IHNwYW5SZXN1bHQgPSBzdGFuZGFyZFRyYWNlci5zdGFydFNwYW4oe1xyXG4gICAgICBzcGFuTmFtZTogZnVuY3Rpb25OYW1lLFxyXG4gICAgICBzZXJ2aWNlTmFtZSxcclxuICAgICAgZW52aXJvbm1lbnQ6IHN0YWdlLFxyXG4gICAgICBleGVjdXRpb246IHtcclxuICAgICAgICBmdW5jdGlvbk5hbWUsXHJcbiAgICAgICAgaW52b2NhdGlvbklkLFxyXG4gICAgICAgIGF3c1JlcXVlc3RJZDogaW52b2NhdGlvbklkLFxyXG4gICAgICAgIG9yaWdpbixcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG1ldGVyID0gbWV0cmljcy5nZXRNZXRlcihvcmlnaW4pO1xyXG5cclxuICAgIGNvbnN0IGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0gPSBtZXRlci5jcmVhdGVIaXN0b2dyYW0oXHJcbiAgICAgICdsYW1iZGFfZXhlY3V0aW9uX2R1cmF0aW9uJyxcclxuICAgICAge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGVtcG8gdG90YWwgZGUgZXhlY3XDp8OjbyBkbyBMYW1iZGEgZW0gbXMnLFxyXG4gICAgICAgIHVuaXQ6ICdtcycsXHJcbiAgICAgICAgdmFsdWVUeXBlOiBWYWx1ZVR5cGUuRE9VQkxFLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgY29uc3Qgc3VjY2Vzc0NvdW50ZXIgPSBtZXRlci5jcmVhdGVDb3VudGVyKCd0b3RhbF9zdWNjZXNzZnVsX3B1cmNoYXNlcycsIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCBkZSBjb21wcmFzIGJlbS1zdWNlZGlkYXMnLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBmYWlsdXJlQ291bnRlciA9IG1ldGVyLmNyZWF0ZUNvdW50ZXIoJ3RvdGFsX2ZhaWxlZF9wdXJjaGFzZXMnLCB7XHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgZGUgY29tcHJhcyBjb20gZmFsaGEnLFxyXG4gICAgfSk7XHJcblxyXG4gICAgKHJlcXVlc3QuY29udGV4dCBhcyBhbnkpLm90ZWwgPSB7XHJcbiAgICAgIHNwYW5SZXN1bHQsXHJcbiAgICAgIG1ldGVyLFxyXG4gICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLFxyXG4gICAgICBzdWNjZXNzQ291bnRlcixcclxuICAgICAgZmFpbHVyZUNvdW50ZXIsXHJcbiAgICAgIHN0YXJ0VGltZSxcclxuICAgICAgc2VydmljZU5hbWUsXHJcbiAgICAgIGVudmlyb25tZW50OiBzdGFnZSxcclxuICAgICAgb3JpZ2luLFxyXG4gICAgfTtcclxuICB9LFxyXG5cclxuICBhZnRlcjogYXN5bmMgKHJlcXVlc3QpID0+IHtcclxuICAgIGNvbnN0IG90ZWxEYXRhID0gKHJlcXVlc3QuY29udGV4dCBhcyBhbnkpLm90ZWw7XHJcbiAgICBpZiAoIW90ZWxEYXRhKSByZXR1cm47XHJcbiAgICBjb25zdCBldmVudCA9IHJlcXVlc3QuZXZlbnQgYXMgYW55O1xyXG5cclxuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycyA9IGV2ZW50Py5xdWVyeVN0cmluZ1BhcmFtZXRlcnMgfHwge307XHJcbiAgICBjb25zdCBvcmlnaW4gPSBxdWVyeVN0cmluZ1BhcmFtZXRlcnMub3JpZ2luIHx8ICd1bmtub3duJztcclxuXHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHNwYW5SZXN1bHQsXHJcbiAgICAgIHN1Y2Nlc3NDb3VudGVyLFxyXG4gICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLFxyXG4gICAgICBzdGFydFRpbWUsXHJcbiAgICAgIHNlcnZpY2VOYW1lLFxyXG4gICAgICBlbnZpcm9ubWVudCxcclxuICAgIH0gPSBvdGVsRGF0YTtcclxuXHJcbiAgICAvLyBNYXJjYXIgc3BhbiBjb21vIHN1Y2Vzc28gdXNhbmRvIFN0YW5kYXJkVHJhY2VyXHJcbiAgICBzcGFuUmVzdWx0LnNldFN1Y2Nlc3ModHJ1ZSk7XHJcblxyXG4gICAgLy8gTcOpdHJpY2FzXHJcbiAgICBzdWNjZXNzQ291bnRlci5hZGQoMSwge1xyXG4gICAgICBvcmlnaW4sXHJcbiAgICAgICdmYWFzLm5hbWUnOiBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmYWFzLm5hbWUnXSB8fCAndW5rbm93bicsXHJcbiAgICAgICdzZXJ2aWNlLm5hbWUnOiBzZXJ2aWNlTmFtZSxcclxuICAgICAgJ2RlcGxveW1lbnQuZW52aXJvbm1lbnQubmFtZSc6IGVudmlyb25tZW50LFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xyXG5cclxuICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0ucmVjb3JkKGR1cmF0aW9uTXMsIHtcclxuICAgICAgb3JpZ2luLFxyXG4gICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcclxuICAgICAgJ2ZhYXMubmFtZSc6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2ZhYXMubmFtZSddIHx8ICd1bmtub3duJyxcclxuICAgICAgJ3NlcnZpY2UubmFtZSc6IHNlcnZpY2VOYW1lLFxyXG4gICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJzogZW52aXJvbm1lbnQsXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBMb2cgZXN0cnV0dXJhZG8gZGUgc3VjZXNzb1xyXG4gICAgY29uc3Qgc3RhbmRhcmRMb2dnZXIgPSBnZXRTdGFuZGFyZExvZ2dlcigpO1xyXG5cclxuICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8oe1xyXG4gICAgICBtZXNzYWdlOiAnUmVxdWVzdCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcclxuICAgICAgc2VydmljZU5hbWUsXHJcbiAgICAgIGVudmlyb25tZW50LFxyXG4gICAgICBleGVjdXRpb246IHtcclxuICAgICAgICBmdW5jdGlvbk5hbWU6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2ZhYXMubmFtZSddIGFzIHN0cmluZyxcclxuICAgICAgICBpbnZvY2F0aW9uSWQ6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bXHJcbiAgICAgICAgICAnZmFhcy5pbnZvY2F0aW9uX2lkJ1xyXG4gICAgICAgIF0gYXMgc3RyaW5nLFxyXG4gICAgICAgIG9yaWdpbixcclxuICAgICAgfSxcclxuICAgICAgcGVyZm9ybWFuY2U6IHtcclxuICAgICAgICBkdXJhdGlvbk1zLFxyXG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBGaW5hbGl6YXIgc3BhblxyXG4gICAgc3BhblJlc3VsdC5lbmQoKTtcclxuICAgIGF3YWl0IGZvcmNlRmx1c2goKTtcclxuICB9LFxyXG5cclxuICBvbkVycm9yOiBhc3luYyAocmVxdWVzdCkgPT4ge1xyXG4gICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcclxuICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHNwYW5SZXN1bHQsXHJcbiAgICAgIGZhaWx1cmVDb3VudGVyLFxyXG4gICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLFxyXG4gICAgICBzdGFydFRpbWUsXHJcbiAgICAgIHNlcnZpY2VOYW1lLFxyXG4gICAgICBlbnZpcm9ubWVudCxcclxuICAgICAgb3JpZ2luLFxyXG4gICAgfSA9IG90ZWxEYXRhO1xyXG4gICAgY29uc3QgZXJyb3IgPSByZXF1ZXN0LmVycm9yO1xyXG5cclxuICAgIC8vIE1hcmNhciBzcGFuIGNvbW8gZXJybyB1c2FuZG8gU3RhbmRhcmRUcmFjZXJcclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICBzcGFuUmVzdWx0LnNldEVycm9yKGVycm9yKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBNw6l0cmljYXNcclxuICAgIGZhaWx1cmVDb3VudGVyLmFkZCgxLCB7XHJcbiAgICAgIG9yaWdpbixcclxuICAgICAgZXJyb3JfdHlwZTogZXJyb3I/LmNvbnN0cnVjdG9yPy5uYW1lIHx8ICdVbmtub3duRXJyb3InLFxyXG4gICAgICAnZmFhcy5uYW1lJzogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZmFhcy5uYW1lJ10gfHwgJ3Vua25vd24nLFxyXG4gICAgICAnc2VydmljZS5uYW1lJzogc2VydmljZU5hbWUsXHJcbiAgICAgICdkZXBsb3ltZW50LmVudmlyb25tZW50Lm5hbWUnOiBlbnZpcm9ubWVudCxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZTtcclxuXHJcbiAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLnJlY29yZChkdXJhdGlvbk1zLCB7XHJcbiAgICAgIG9yaWdpbixcclxuICAgICAgc3RhdHVzOiAnZXJyb3InLFxyXG4gICAgICAnZmFhcy5uYW1lJzogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZmFhcy5uYW1lJ10gfHwgJ3Vua25vd24nLFxyXG4gICAgICAnc2VydmljZS5uYW1lJzogc2VydmljZU5hbWUsXHJcbiAgICAgICdkZXBsb3ltZW50LmVudmlyb25tZW50Lm5hbWUnOiBlbnZpcm9ubWVudCxcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIExvZyBlc3RydXR1cmFkbyBkZSBlcnJvXHJcbiAgICBjb25zdCBzdGFuZGFyZExvZ2dlciA9IGdldFN0YW5kYXJkTG9nZ2VyKCk7XHJcblxyXG4gICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3Ioe1xyXG4gICAgICBtZXNzYWdlOiBlcnJvcj8ubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvciBvY2N1cnJlZCcsXHJcbiAgICAgIGVycm9yOiBlcnJvciB8fCB1bmRlZmluZWQsXHJcbiAgICAgIHNlcnZpY2VOYW1lLFxyXG4gICAgICBlbnZpcm9ubWVudCxcclxuICAgICAgZXhlY3V0aW9uOiB7XHJcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmYWFzLm5hbWUnXSBhcyBzdHJpbmcsXHJcbiAgICAgICAgaW52b2NhdGlvbklkOiBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uW1xyXG4gICAgICAgICAgJ2ZhYXMuaW52b2NhdGlvbl9pZCdcclxuICAgICAgICBdIGFzIHN0cmluZyxcclxuICAgICAgICBhd3NSZXF1ZXN0SWQ6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bXHJcbiAgICAgICAgICAnZmFhcy5pbnZvY2F0aW9uX2lkJ1xyXG4gICAgICAgIF0gYXMgc3RyaW5nLFxyXG4gICAgICAgIG9yaWdpbixcclxuICAgICAgfSxcclxuICAgICAgcGVyZm9ybWFuY2U6IHtcclxuICAgICAgICBkdXJhdGlvbk1zLFxyXG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgZXJyb3JUeXBlOiBlcnJvcj8uY29uc3RydWN0b3I/Lm5hbWUsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBGaW5hbGl6YXIgc3BhblxyXG4gICAgc3BhblJlc3VsdC5lbmQoKTtcclxuICAgIGF3YWl0IGZvcmNlRmx1c2goKTtcclxuICB9LFxyXG59KTtcclxuIl19
@@ -1,4 +0,0 @@
1
- import { StandardLogger, StandardTracer } from '../core';
2
- export declare const getStandardLogger: () => StandardLogger;
3
- export declare const getStandardTracer: () => StandardTracer;
4
- export declare const forceFlush: () => Promise<void>;