@vtex/api 6.48.1-beta.2 → 6.48.1-beta.3

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 (179) hide show
  1. package/lib/HttpClient/GraphQLClient.d.ts +1 -1
  2. package/lib/HttpClient/HttpClient.d.ts +2 -3
  3. package/lib/HttpClient/HttpClient.js +14 -14
  4. package/lib/HttpClient/agents.d.ts +2 -5
  5. package/lib/HttpClient/agents.js +4 -10
  6. package/lib/HttpClient/index.js +2 -7
  7. package/lib/HttpClient/middlewares/cache.d.ts +1 -1
  8. package/lib/HttpClient/middlewares/cache.js +36 -38
  9. package/lib/HttpClient/middlewares/cancellationToken.d.ts +1 -1
  10. package/lib/HttpClient/middlewares/cancellationToken.js +1 -2
  11. package/lib/HttpClient/middlewares/inflight.d.ts +1 -1
  12. package/lib/HttpClient/middlewares/inflight.js +3 -6
  13. package/lib/HttpClient/middlewares/memoization.d.ts +1 -1
  14. package/lib/HttpClient/middlewares/memoization.js +8 -9
  15. package/lib/HttpClient/middlewares/metrics.js +7 -8
  16. package/lib/HttpClient/middlewares/notFound.d.ts +1 -1
  17. package/lib/HttpClient/middlewares/notFound.js +2 -4
  18. package/lib/HttpClient/middlewares/recorder.js +1 -2
  19. package/lib/HttpClient/middlewares/request/HttpAgentSingleton.js +1 -1
  20. package/lib/HttpClient/middlewares/request/index.d.ts +1 -1
  21. package/lib/HttpClient/middlewares/request/index.js +10 -13
  22. package/lib/HttpClient/middlewares/request/setupAxios/index.d.ts +1 -0
  23. package/lib/HttpClient/middlewares/request/setupAxios/index.js +4 -5
  24. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/exponentialBackoff.js +5 -6
  25. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/index.js +0 -1
  26. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/index.js +8 -8
  27. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/spanSetup.js +8 -10
  28. package/lib/HttpClient/middlewares/tracing.js +10 -11
  29. package/lib/HttpClient/typings.d.ts +2 -2
  30. package/lib/caches/DiskCache.js +2 -2
  31. package/lib/caches/LRUCache.d.ts +2 -2
  32. package/lib/caches/LRUDiskCache.d.ts +1 -1
  33. package/lib/caches/LRUDiskCache.js +2 -2
  34. package/lib/caches/MultilayeredCache.d.ts +2 -2
  35. package/lib/caches/MultilayeredCache.js +6 -6
  36. package/lib/caches/index.js +2 -6
  37. package/lib/caches/typings.d.ts +5 -5
  38. package/lib/clients/IOClient.d.ts +1 -1
  39. package/lib/clients/IOClients.d.ts +1 -1
  40. package/lib/clients/apps/AppClient.js +1 -1
  41. package/lib/clients/apps/AppGraphQLClient.js +1 -1
  42. package/lib/clients/apps/Billing.d.ts +1 -1
  43. package/lib/clients/apps/Builder.d.ts +7 -7
  44. package/lib/clients/apps/Builder.js +1 -1
  45. package/lib/clients/apps/MessagesGraphQL.d.ts +1 -1
  46. package/lib/clients/apps/MessagesGraphQL.js +3 -3
  47. package/lib/clients/apps/Settings.js +3 -3
  48. package/lib/clients/apps/catalogGraphQL/index.d.ts +4 -4
  49. package/lib/clients/apps/catalogGraphQL/index.js +4 -4
  50. package/lib/clients/apps/index.js +2 -6
  51. package/lib/clients/external/ID.d.ts +4 -4
  52. package/lib/clients/external/PaymentProvider.d.ts +2 -2
  53. package/lib/clients/external/index.js +2 -6
  54. package/lib/clients/index.js +2 -6
  55. package/lib/clients/infra/Apps.d.ts +27 -32
  56. package/lib/clients/infra/Apps.js +16 -16
  57. package/lib/clients/infra/Assets.d.ts +5 -6
  58. package/lib/clients/infra/Assets.js +11 -11
  59. package/lib/clients/infra/BillingMetrics.d.ts +1 -1
  60. package/lib/clients/infra/Events.d.ts +1 -1
  61. package/lib/clients/infra/Events.js +1 -1
  62. package/lib/clients/infra/Housekeeper.d.ts +3 -3
  63. package/lib/clients/infra/Registry.d.ts +17 -23
  64. package/lib/clients/infra/Registry.js +3 -3
  65. package/lib/clients/infra/Router.d.ts +8 -8
  66. package/lib/clients/infra/Sphinx.d.ts +2 -2
  67. package/lib/clients/infra/VBase.d.ts +14 -15
  68. package/lib/clients/infra/VBase.js +2 -2
  69. package/lib/clients/infra/Workspaces.d.ts +7 -7
  70. package/lib/clients/infra/index.js +2 -6
  71. package/lib/clients/janus/JanusClient.d.ts +1 -1
  72. package/lib/clients/janus/LicenseManager.js +1 -1
  73. package/lib/clients/janus/Segment.d.ts +3 -3
  74. package/lib/clients/janus/Segment.js +2 -2
  75. package/lib/clients/janus/Session.d.ts +2 -2
  76. package/lib/clients/janus/Tenant.d.ts +1 -1
  77. package/lib/clients/janus/index.js +2 -6
  78. package/lib/constants.d.ts +1 -1
  79. package/lib/constants.js +1 -1
  80. package/lib/errors/ResolverError.js +1 -1
  81. package/lib/errors/index.js +2 -6
  82. package/lib/index.js +2 -6
  83. package/lib/metrics/MetricsAccumulator.d.ts +2 -2
  84. package/lib/metrics/MetricsAccumulator.js +9 -9
  85. package/lib/responses.d.ts +4 -4
  86. package/lib/service/index.js +6 -7
  87. package/lib/service/loaders.js +6 -8
  88. package/lib/service/logger/console.js +4 -7
  89. package/lib/service/logger/index.js +2 -6
  90. package/lib/service/logger/logger.js +2 -2
  91. package/lib/service/logger/metricsLogger.js +10 -10
  92. package/lib/service/master.js +6 -7
  93. package/lib/service/metrics/requestMetricsMiddleware.js +13 -14
  94. package/lib/service/tracing/TracerSingleton.js +9 -9
  95. package/lib/service/tracing/metrics/MetricNames.js +12 -12
  96. package/lib/service/tracing/metrics/instruments.js +7 -14
  97. package/lib/service/tracing/metrics/measurers/EventLoopLagMeasurer.js +5 -5
  98. package/lib/service/tracing/tracingMiddlewares.js +15 -18
  99. package/lib/service/worker/index.js +23 -24
  100. package/lib/service/worker/listeners.js +1 -2
  101. package/lib/service/worker/runtime/Service.js +1 -1
  102. package/lib/service/worker/runtime/builtIn/handlers.js +3 -6
  103. package/lib/service/worker/runtime/builtIn/middlewares.js +3 -5
  104. package/lib/service/worker/runtime/events/index.d.ts +1 -1
  105. package/lib/service/worker/runtime/events/index.js +10 -11
  106. package/lib/service/worker/runtime/events/middlewares/body.js +2 -2
  107. package/lib/service/worker/runtime/events/middlewares/context.js +1 -1
  108. package/lib/service/worker/runtime/events/router.js +2 -3
  109. package/lib/service/worker/runtime/graphql/index.js +7 -8
  110. package/lib/service/worker/runtime/graphql/middlewares/error.js +5 -5
  111. package/lib/service/worker/runtime/graphql/middlewares/query.js +6 -7
  112. package/lib/service/worker/runtime/graphql/middlewares/response.js +1 -1
  113. package/lib/service/worker/runtime/graphql/middlewares/run.js +2 -3
  114. package/lib/service/worker/runtime/graphql/middlewares/updateSchema.js +3 -4
  115. package/lib/service/worker/runtime/graphql/middlewares/upload.js +1 -1
  116. package/lib/service/worker/runtime/graphql/schema/index.d.ts +1 -1
  117. package/lib/service/worker/runtime/graphql/schema/index.js +7 -8
  118. package/lib/service/worker/runtime/graphql/schema/messagesLoaderV2.d.ts +2 -2
  119. package/lib/service/worker/runtime/graphql/schema/messagesLoaderV2.js +3 -4
  120. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Deprecated.js +1 -1
  121. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Settings.js +1 -1
  122. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslatableV2.js +2 -2
  123. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslateTo.js +2 -2
  124. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/index.js +1 -1
  125. package/lib/service/worker/runtime/graphql/schema/typeDefs/index.js +1 -2
  126. package/lib/service/worker/runtime/graphql/schema/typeDefs/sanitizedString.js +2 -2
  127. package/lib/service/worker/runtime/graphql/typings.d.ts +3 -3
  128. package/lib/service/worker/runtime/graphql/utils/cacheControl.js +1 -2
  129. package/lib/service/worker/runtime/graphql/utils/error.js +9 -10
  130. package/lib/service/worker/runtime/graphql/utils/pathname.js +2 -3
  131. package/lib/service/worker/runtime/graphql/utils/translations.d.ts +1 -1
  132. package/lib/service/worker/runtime/graphql/utils/translations.js +4 -7
  133. package/lib/service/worker/runtime/http/index.d.ts +2 -2
  134. package/lib/service/worker/runtime/http/index.js +20 -22
  135. package/lib/service/worker/runtime/http/middlewares/context.js +5 -7
  136. package/lib/service/worker/runtime/http/middlewares/error.js +1 -1
  137. package/lib/service/worker/runtime/http/middlewares/rateLimit.js +1 -1
  138. package/lib/service/worker/runtime/http/middlewares/setCookie.js +5 -5
  139. package/lib/service/worker/runtime/http/middlewares/settings.d.ts +1 -1
  140. package/lib/service/worker/runtime/http/middlewares/settings.js +9 -13
  141. package/lib/service/worker/runtime/http/middlewares/timings.js +3 -3
  142. package/lib/service/worker/runtime/http/router.js +2 -3
  143. package/lib/service/worker/runtime/http/routes.js +5 -8
  144. package/lib/service/worker/runtime/method.d.ts +2 -2
  145. package/lib/service/worker/runtime/method.js +1 -1
  146. package/lib/service/worker/runtime/statusTrack.d.ts +1 -1
  147. package/lib/service/worker/runtime/statusTrack.js +5 -10
  148. package/lib/service/worker/runtime/typings.d.ts +10 -10
  149. package/lib/service/worker/runtime/utils/compose.d.ts +2 -2
  150. package/lib/service/worker/runtime/utils/compose.js +2 -4
  151. package/lib/service/worker/runtime/utils/context.d.ts +2 -2
  152. package/lib/service/worker/runtime/utils/context.js +4 -5
  153. package/lib/service/worker/runtime/utils/recorder.js +1 -1
  154. package/lib/service/worker/runtime/utils/toArray.js +1 -2
  155. package/lib/tracing/UserLandTracer.js +2 -3
  156. package/lib/tracing/errorReporting/ErrorReport.js +13 -13
  157. package/lib/tracing/index.js +1 -1
  158. package/lib/tracing/utils.js +4 -5
  159. package/lib/utils/MineWinsConflictsResolver.d.ts +4 -4
  160. package/lib/utils/MineWinsConflictsResolver.js +10 -10
  161. package/lib/utils/app.js +23 -39
  162. package/lib/utils/appsStaleIfError.d.ts +0 -1
  163. package/lib/utils/appsStaleIfError.js +9 -17
  164. package/lib/utils/billingOptions.js +1 -2
  165. package/lib/utils/binding.js +2 -4
  166. package/lib/utils/buildFullPath.d.ts +11 -0
  167. package/lib/utils/buildFullPath.js +54 -0
  168. package/lib/utils/domain.js +1 -1
  169. package/lib/utils/error.js +4 -5
  170. package/lib/utils/index.js +2 -6
  171. package/lib/utils/log.js +2 -3
  172. package/lib/utils/message.js +5 -8
  173. package/lib/utils/renameBy.js +1 -2
  174. package/lib/utils/retry.js +6 -8
  175. package/lib/utils/status.js +1 -2
  176. package/lib/utils/tenant.js +2 -4
  177. package/lib/utils/time.d.ts +1 -1
  178. package/lib/utils/time.js +14 -23
  179. package/package.json +2 -2
@@ -4,16 +4,16 @@ exports.addRequestMetricsMiddleware = void 0;
4
4
  const stream_1 = require("stream");
5
5
  const utils_1 = require("../../utils");
6
6
  const instruments_1 = require("../tracing/metrics/instruments");
7
- const addRequestMetricsMiddleware = () => {
8
- const concurrentRequests = (0, instruments_1.createConcurrentRequestsInstrument)();
9
- const requestTimings = (0, instruments_1.createRequestsTimingsInstrument)();
10
- const totalRequests = (0, instruments_1.createTotalRequestsInstrument)();
11
- const responseSizes = (0, instruments_1.createRequestsResponseSizesInstrument)();
12
- const abortedRequests = (0, instruments_1.createTotalAbortedRequestsInstrument)();
7
+ exports.addRequestMetricsMiddleware = () => {
8
+ const concurrentRequests = instruments_1.createConcurrentRequestsInstrument();
9
+ const requestTimings = instruments_1.createRequestsTimingsInstrument();
10
+ const totalRequests = instruments_1.createTotalRequestsInstrument();
11
+ const responseSizes = instruments_1.createRequestsResponseSizesInstrument();
12
+ const abortedRequests = instruments_1.createTotalAbortedRequestsInstrument();
13
13
  return async function addRequestMetrics(ctx, next) {
14
14
  const start = process.hrtime();
15
15
  concurrentRequests.inc(1);
16
- ctx.req.once('aborted', () => abortedRequests.inc({ ["handler" /* RequestsMetricLabels.REQUEST_HANDLER */]: ctx.requestHandlerName }, 1));
16
+ ctx.req.once('aborted', () => abortedRequests.inc({ ["handler" /* REQUEST_HANDLER */]: ctx.requestHandlerName }, 1));
17
17
  let responseClosed = false;
18
18
  ctx.res.once('close', () => (responseClosed = true));
19
19
  try {
@@ -22,25 +22,24 @@ const addRequestMetricsMiddleware = () => {
22
22
  finally {
23
23
  const responseLength = ctx.response.length;
24
24
  if (responseLength) {
25
- responseSizes.observe({ ["handler" /* RequestsMetricLabels.REQUEST_HANDLER */]: ctx.requestHandlerName }, responseLength);
25
+ responseSizes.observe({ ["handler" /* REQUEST_HANDLER */]: ctx.requestHandlerName }, responseLength);
26
26
  }
27
27
  totalRequests.inc({
28
- ["handler" /* RequestsMetricLabels.REQUEST_HANDLER */]: ctx.requestHandlerName,
29
- ["status_code" /* RequestsMetricLabels.STATUS_CODE */]: ctx.response.status,
28
+ ["handler" /* REQUEST_HANDLER */]: ctx.requestHandlerName,
29
+ ["status_code" /* STATUS_CODE */]: ctx.response.status,
30
30
  }, 1);
31
31
  const onResFinished = () => {
32
32
  requestTimings.observe({
33
- ["handler" /* RequestsMetricLabels.REQUEST_HANDLER */]: ctx.requestHandlerName,
34
- }, (0, utils_1.hrToMillisFloat)(process.hrtime(start)));
33
+ ["handler" /* REQUEST_HANDLER */]: ctx.requestHandlerName,
34
+ }, utils_1.hrToMillisFloat(process.hrtime(start)));
35
35
  concurrentRequests.dec(1);
36
36
  };
37
37
  if (responseClosed) {
38
38
  onResFinished();
39
39
  }
40
40
  else {
41
- (0, stream_1.finished)(ctx.res, onResFinished);
41
+ stream_1.finished(ctx.res, onResFinished);
42
42
  }
43
43
  }
44
44
  };
45
45
  };
46
- exports.addRequestMetricsMiddleware = addRequestMetricsMiddleware;
@@ -16,14 +16,14 @@ class TracerSingleton {
16
16
  return TracerSingleton.singleton;
17
17
  }
18
18
  static initServiceTracer() {
19
- return TracerSingleton.createJaegerTracer((0, utils_1.appIdToAppAtMajor)(constants_1.APP.ID), {
20
- ["app.linked" /* AppTags.VTEX_APP_LINKED */]: constants_1.LINKED,
21
- ["app.node_vtex_api_version" /* AppTags.VTEX_APP_NODE_VTEX_API_VERSION */]: constants_1.NODE_VTEX_API_VERSION,
22
- ["app.production" /* AppTags.VTEX_APP_PRODUCTION */]: constants_1.PRODUCTION,
23
- ["app.region" /* AppTags.VTEX_APP_REGION */]: constants_1.REGION,
24
- ["app.version" /* AppTags.VTEX_APP_VERSION */]: constants_1.APP.VERSION,
25
- ["app.workspace" /* AppTags.VTEX_APP_WORKSPACE */]: constants_1.WORKSPACE,
26
- ["app.node_env" /* AppTags.VTEX_APP_NODE_ENV */]: constants_1.NODE_ENV !== null && constants_1.NODE_ENV !== void 0 ? constants_1.NODE_ENV : 'undefined',
19
+ return TracerSingleton.createJaegerTracer(utils_1.appIdToAppAtMajor(constants_1.APP.ID), {
20
+ ["app.linked" /* VTEX_APP_LINKED */]: constants_1.LINKED,
21
+ ["app.node_vtex_api_version" /* VTEX_APP_NODE_VTEX_API_VERSION */]: constants_1.NODE_VTEX_API_VERSION,
22
+ ["app.production" /* VTEX_APP_PRODUCTION */]: constants_1.PRODUCTION,
23
+ ["app.region" /* VTEX_APP_REGION */]: constants_1.REGION,
24
+ ["app.version" /* VTEX_APP_VERSION */]: constants_1.APP.VERSION,
25
+ ["app.workspace" /* VTEX_APP_WORKSPACE */]: constants_1.WORKSPACE,
26
+ ["app.node_env" /* VTEX_APP_NODE_ENV */]: constants_1.NODE_ENV !== null && constants_1.NODE_ENV !== void 0 ? constants_1.NODE_ENV : 'undefined',
27
27
  });
28
28
  }
29
29
  static createJaegerTracer(serviceName, defaultTags) {
@@ -43,7 +43,7 @@ class TracerSingleton {
43
43
  metrics: new jaeger_client_1.PrometheusMetricsFactory(prom_client_1.default, 'runtime'),
44
44
  tags: defaultTags,
45
45
  };
46
- return (0, jaeger_client_1.initTracer)(config, options);
46
+ return jaeger_client_1.initTracer(config, options);
47
47
  }
48
48
  }
49
49
  exports.TracerSingleton = TracerSingleton;
@@ -4,42 +4,42 @@ exports.BETWEEN_SCRAPES_EVENT_LOOP_LAG_PERCENTILES = exports.BETWEEN_SCRAPES_EVE
4
4
  exports.CONCURRENT_REQUESTS = {
5
5
  name: 'io_http_requests_current',
6
6
  help: 'The current number of requests in course.',
7
- type: "gauge" /* METRIC_TYPES.GAUGE */,
7
+ type: "gauge" /* GAUGE */,
8
8
  };
9
9
  exports.REQUESTS_TOTAL = {
10
10
  name: 'runtime_http_requests_total',
11
11
  help: 'The total number of HTTP requests.',
12
- labelNames: ["status_code" /* RequestsMetricLabels.STATUS_CODE */, "handler" /* RequestsMetricLabels.REQUEST_HANDLER */],
13
- type: "counter" /* METRIC_TYPES.COUNTER */,
12
+ labelNames: ["status_code" /* STATUS_CODE */, "handler" /* REQUEST_HANDLER */],
13
+ type: "counter" /* COUNTER */,
14
14
  };
15
15
  exports.REQUESTS_ABORTED = {
16
16
  name: 'runtime_http_aborted_requests_total',
17
17
  help: 'The total number of HTTP requests aborted.',
18
- labelNames: ["handler" /* RequestsMetricLabels.REQUEST_HANDLER */],
19
- type: "counter" /* METRIC_TYPES.COUNTER */,
18
+ labelNames: ["handler" /* REQUEST_HANDLER */],
19
+ type: "counter" /* COUNTER */,
20
20
  };
21
21
  exports.REQUEST_TIMINGS = {
22
22
  name: 'runtime_http_requests_duration_milliseconds',
23
23
  help: 'The incoming http requests total duration.',
24
- labelNames: ["handler" /* RequestsMetricLabels.REQUEST_HANDLER */],
24
+ labelNames: ["handler" /* REQUEST_HANDLER */],
25
25
  buckets: [10, 20, 40, 80, 160, 320, 640, 1280, 2560, 5120],
26
- type: "histogram" /* METRIC_TYPES.HISTOGRAM */,
26
+ type: "histogram" /* HISTOGRAM */,
27
27
  };
28
28
  exports.REQUEST_RESPONSE_SIZES = {
29
29
  name: 'runtime_http_response_size_bytes',
30
30
  help: `The outgoing response sizes (only applicable when the response isn't a stream).`,
31
- labelNames: ["handler" /* RequestsMetricLabels.REQUEST_HANDLER */],
31
+ labelNames: ["handler" /* REQUEST_HANDLER */],
32
32
  buckets: [500, 2000, 8000, 16000, 64000, 256000, 1024000, 4096000],
33
- type: "histogram" /* METRIC_TYPES.HISTOGRAM */,
33
+ type: "histogram" /* HISTOGRAM */,
34
34
  };
35
35
  exports.BETWEEN_SCRAPES_EVENT_LOOP_LAG_MAX = {
36
36
  name: 'runtime_event_loop_lag_max_between_scrapes_seconds',
37
37
  help: 'The max event loop lag that occurred between this and the previous scrape',
38
- type: "gauge" /* METRIC_TYPES.GAUGE */,
38
+ type: "gauge" /* GAUGE */,
39
39
  };
40
40
  exports.BETWEEN_SCRAPES_EVENT_LOOP_LAG_PERCENTILES = {
41
41
  name: 'runtime_event_loop_lag_percentiles_between_scrapes_seconds',
42
42
  help: 'Event loop lag percentiles from the observations that occurred between this and the previous scrape',
43
- labelNames: ["percentile" /* EventLoopMetricLabels.PERCENTILE */],
44
- type: "gauge" /* METRIC_TYPES.GAUGE */,
43
+ labelNames: ["percentile" /* PERCENTILE */],
44
+ type: "gauge" /* GAUGE */,
45
45
  };
@@ -3,17 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createEventLoopLagPercentilesInstrument = exports.createEventLoopLagMaxInstrument = exports.createConcurrentRequestsInstrument = exports.createRequestsResponseSizesInstrument = exports.createRequestsTimingsInstrument = exports.createTotalAbortedRequestsInstrument = exports.createTotalRequestsInstrument = void 0;
4
4
  const prom_client_1 = require("prom-client");
5
5
  const MetricNames_1 = require("./MetricNames");
6
- const createTotalRequestsInstrument = () => new prom_client_1.Counter(MetricNames_1.REQUESTS_TOTAL);
7
- exports.createTotalRequestsInstrument = createTotalRequestsInstrument;
8
- const createTotalAbortedRequestsInstrument = () => new prom_client_1.Counter(MetricNames_1.REQUESTS_ABORTED);
9
- exports.createTotalAbortedRequestsInstrument = createTotalAbortedRequestsInstrument;
10
- const createRequestsTimingsInstrument = () => new prom_client_1.Histogram(MetricNames_1.REQUEST_TIMINGS);
11
- exports.createRequestsTimingsInstrument = createRequestsTimingsInstrument;
12
- const createRequestsResponseSizesInstrument = () => new prom_client_1.Histogram(MetricNames_1.REQUEST_RESPONSE_SIZES);
13
- exports.createRequestsResponseSizesInstrument = createRequestsResponseSizesInstrument;
14
- const createConcurrentRequestsInstrument = () => new prom_client_1.Gauge(MetricNames_1.CONCURRENT_REQUESTS);
15
- exports.createConcurrentRequestsInstrument = createConcurrentRequestsInstrument;
16
- const createEventLoopLagMaxInstrument = () => new prom_client_1.Gauge(MetricNames_1.BETWEEN_SCRAPES_EVENT_LOOP_LAG_MAX);
17
- exports.createEventLoopLagMaxInstrument = createEventLoopLagMaxInstrument;
18
- const createEventLoopLagPercentilesInstrument = () => new prom_client_1.Gauge(MetricNames_1.BETWEEN_SCRAPES_EVENT_LOOP_LAG_PERCENTILES);
19
- exports.createEventLoopLagPercentilesInstrument = createEventLoopLagPercentilesInstrument;
6
+ exports.createTotalRequestsInstrument = () => new prom_client_1.Counter(MetricNames_1.REQUESTS_TOTAL);
7
+ exports.createTotalAbortedRequestsInstrument = () => new prom_client_1.Counter(MetricNames_1.REQUESTS_ABORTED);
8
+ exports.createRequestsTimingsInstrument = () => new prom_client_1.Histogram(MetricNames_1.REQUEST_TIMINGS);
9
+ exports.createRequestsResponseSizesInstrument = () => new prom_client_1.Histogram(MetricNames_1.REQUEST_RESPONSE_SIZES);
10
+ exports.createConcurrentRequestsInstrument = () => new prom_client_1.Gauge(MetricNames_1.CONCURRENT_REQUESTS);
11
+ exports.createEventLoopLagMaxInstrument = () => new prom_client_1.Gauge(MetricNames_1.BETWEEN_SCRAPES_EVENT_LOOP_LAG_MAX);
12
+ exports.createEventLoopLagPercentilesInstrument = () => new prom_client_1.Gauge(MetricNames_1.BETWEEN_SCRAPES_EVENT_LOOP_LAG_PERCENTILES);
@@ -6,21 +6,21 @@ const utils_1 = require("../../../../utils");
6
6
  const instruments_1 = require("../instruments");
7
7
  class EventLoopLagMeasurer {
8
8
  constructor() {
9
- this.eventLoopDelayMonitor = (0, perf_hooks_1.monitorEventLoopDelay)({ resolution: 10 });
10
- this.percentilesInstrument = (0, instruments_1.createEventLoopLagPercentilesInstrument)();
11
- this.maxInstrument = (0, instruments_1.createEventLoopLagMaxInstrument)();
9
+ this.eventLoopDelayMonitor = perf_hooks_1.monitorEventLoopDelay({ resolution: 10 });
10
+ this.percentilesInstrument = instruments_1.createEventLoopLagPercentilesInstrument();
11
+ this.maxInstrument = instruments_1.createEventLoopLagMaxInstrument();
12
12
  }
13
13
  start() {
14
14
  this.eventLoopDelayMonitor.enable();
15
15
  }
16
16
  async updateInstrumentsAndReset() {
17
- this.maxInstrument.set((0, utils_1.nanosecondsToSeconds)(this.eventLoopDelayMonitor.max));
17
+ this.maxInstrument.set(utils_1.nanosecondsToSeconds(this.eventLoopDelayMonitor.max));
18
18
  this.setPercentileObservation(95);
19
19
  this.setPercentileObservation(99);
20
20
  this.eventLoopDelayMonitor.reset();
21
21
  }
22
22
  setPercentileObservation(percentile) {
23
- this.percentilesInstrument.set({ ["percentile" /* EventLoopMetricLabels.PERCENTILE */]: percentile }, (0, utils_1.nanosecondsToSeconds)(this.eventLoopDelayMonitor.percentile(percentile)));
23
+ this.percentilesInstrument.set({ ["percentile" /* PERCENTILE */]: percentile }, utils_1.nanosecondsToSeconds(this.eventLoopDelayMonitor.percentile(percentile)));
24
24
  }
25
25
  }
26
26
  exports.EventLoopLagMeasurer = EventLoopLagMeasurer;
@@ -9,7 +9,7 @@ const Tags_1 = require("../../tracing/Tags");
9
9
  const utils_1 = require("../../tracing/utils");
10
10
  const utils_2 = require("../../utils");
11
11
  const PATHS_BLACKLISTED_FOR_TRACING = ['/_status', '/healthcheck'];
12
- const addTracingMiddleware = (tracer) => {
12
+ exports.addTracingMiddleware = (tracer) => {
13
13
  return async function addTracing(ctx, next) {
14
14
  var _a;
15
15
  const rootSpan = tracer.extract(opentracing_1.FORMAT_HTTP_HEADERS, ctx.request.headers);
@@ -22,7 +22,7 @@ const addTracingMiddleware = (tracer) => {
22
22
  childOf: rootSpan,
23
23
  tags: { [Tags_1.OpentracingTags.SPAN_KIND]: Tags_1.OpentracingTags.SPAN_KIND_RPC_SERVER },
24
24
  });
25
- const initialSamplingDecision = (0, tracing_1.getTraceInfo)(currentSpan).isSampled;
25
+ const initialSamplingDecision = tracing_1.getTraceInfo(currentSpan).isSampled;
26
26
  ctx.tracing = { currentSpan, tracer };
27
27
  let responseClosed = false;
28
28
  ctx.res.once('close', () => (responseClosed = true));
@@ -37,7 +37,7 @@ const addTracingMiddleware = (tracer) => {
37
37
  throw err;
38
38
  }
39
39
  finally {
40
- const traceInfo = (0, tracing_1.getTraceInfo)(currentSpan);
40
+ const traceInfo = tracing_1.getTraceInfo(currentSpan);
41
41
  if (traceInfo === null || traceInfo === void 0 ? void 0 : traceInfo.isSampled) {
42
42
  if (!initialSamplingDecision) {
43
43
  currentSpan === null || currentSpan === void 0 ? void 0 : currentSpan.setTag(Tags_1.OpentracingTags.SPAN_KIND, Tags_1.OpentracingTags.SPAN_KIND_RPC_SERVER);
@@ -46,13 +46,13 @@ const addTracingMiddleware = (tracer) => {
46
46
  [Tags_1.OpentracingTags.HTTP_URL]: ctx.request.href,
47
47
  [Tags_1.OpentracingTags.HTTP_METHOD]: ctx.request.method,
48
48
  [Tags_1.OpentracingTags.HTTP_STATUS_CODE]: ctx.response.status,
49
- ["http.path" /* CustomHttpTags.HTTP_PATH */]: ctx.request.path,
50
- ["vtex.request_id" /* VTEXIncomingRequestTags.VTEX_REQUEST_ID */]: ctx.get(constants_1.REQUEST_ID_HEADER),
51
- ["vtex.incoming.workspace" /* VTEXIncomingRequestTags.VTEX_WORKSPACE */]: ctx.get(constants_1.WORKSPACE_HEADER),
52
- ["vtex.incoming.account" /* VTEXIncomingRequestTags.VTEX_ACCOUNT */]: ctx.get(constants_1.ACCOUNT_HEADER),
49
+ ["http.path" /* HTTP_PATH */]: ctx.request.path,
50
+ ["vtex.request_id" /* VTEX_REQUEST_ID */]: ctx.get(constants_1.REQUEST_ID_HEADER),
51
+ ["vtex.incoming.workspace" /* VTEX_WORKSPACE */]: ctx.get(constants_1.WORKSPACE_HEADER),
52
+ ["vtex.incoming.account" /* VTEX_ACCOUNT */]: ctx.get(constants_1.ACCOUNT_HEADER),
53
53
  });
54
- currentSpan === null || currentSpan === void 0 ? void 0 : currentSpan.log((0, utils_1.cloneAndSanitizeHeaders)(ctx.request.headers, 'req.headers.'));
55
- currentSpan === null || currentSpan === void 0 ? void 0 : currentSpan.log((0, utils_1.cloneAndSanitizeHeaders)(ctx.response.headers, 'res.headers.'));
54
+ currentSpan === null || currentSpan === void 0 ? void 0 : currentSpan.log(utils_1.cloneAndSanitizeHeaders(ctx.request.headers, 'req.headers.'));
55
+ currentSpan === null || currentSpan === void 0 ? void 0 : currentSpan.log(utils_1.cloneAndSanitizeHeaders(ctx.response.headers, 'res.headers.'));
56
56
  ctx.set(constants_1.TRACE_ID_HEADER, traceInfo.traceId);
57
57
  }
58
58
  const onResFinished = () => {
@@ -62,13 +62,12 @@ const addTracingMiddleware = (tracer) => {
62
62
  onResFinished();
63
63
  }
64
64
  else {
65
- (0, stream_1.finished)(ctx.res, onResFinished);
65
+ stream_1.finished(ctx.res, onResFinished);
66
66
  }
67
67
  }
68
68
  };
69
69
  };
70
- exports.addTracingMiddleware = addTracingMiddleware;
71
- const nameSpanOperationMiddleware = (operationType, operationName) => {
70
+ exports.nameSpanOperationMiddleware = (operationType, operationName) => {
72
71
  return function nameSpanOperation(ctx, next) {
73
72
  var _a, _b;
74
73
  ctx.requestHandlerName = `${operationType}:${operationName}`;
@@ -76,8 +75,7 @@ const nameSpanOperationMiddleware = (operationType, operationName) => {
76
75
  return next();
77
76
  };
78
77
  };
79
- exports.nameSpanOperationMiddleware = nameSpanOperationMiddleware;
80
- const traceUserLandRemainingPipelineMiddleware = () => {
78
+ exports.traceUserLandRemainingPipelineMiddleware = () => {
81
79
  return async function traceUserLandRemainingPipeline(ctx, next) {
82
80
  const tracingCtx = ctx.tracing;
83
81
  ctx.tracing = undefined;
@@ -87,7 +85,7 @@ const traceUserLandRemainingPipelineMiddleware = () => {
87
85
  userLandTracer.lockFallbackSpan();
88
86
  const startTime = process.hrtime();
89
87
  try {
90
- span === null || span === void 0 ? void 0 : span.log({ event: "user-middlewares-start" /* RuntimeLogEvents.USER_MIDDLEWARES_START */ });
88
+ span === null || span === void 0 ? void 0 : span.log({ event: "user-middlewares-start" /* USER_MIDDLEWARES_START */ });
91
89
  await next();
92
90
  }
93
91
  catch (err) {
@@ -99,14 +97,13 @@ const traceUserLandRemainingPipelineMiddleware = () => {
99
97
  }
100
98
  finally {
101
99
  span === null || span === void 0 ? void 0 : span.log({
102
- event: "user-middlewares-finish" /* RuntimeLogEvents.USER_MIDDLEWARES_FINISH */,
103
- ["user-middlewares-duration" /* RuntimeLogFields.USER_MIDDLEWARES_DURATION */]: (0, utils_2.hrToMillis)(process.hrtime(startTime)),
100
+ event: "user-middlewares-finish" /* USER_MIDDLEWARES_FINISH */,
101
+ ["user-middlewares-duration" /* USER_MIDDLEWARES_DURATION */]: utils_2.hrToMillis(process.hrtime(startTime)),
104
102
  });
105
103
  ctx.tracing = tracingCtx;
106
104
  }
107
105
  };
108
106
  };
109
- exports.traceUserLandRemainingPipelineMiddleware = traceUserLandRemainingPipelineMiddleware;
110
107
  function shouldTrace(ctx, rootSpan) {
111
108
  var _a, _b, _c;
112
109
  /** Should trace if path isnt blacklisted and sampling decision came from the edge
@@ -41,7 +41,7 @@ const upSignal = () => {
41
41
  path: '/_up',
42
42
  port: 5000,
43
43
  };
44
- const req = (0, http_1.request)(options);
44
+ const req = http_1.request(options);
45
45
  req.write(data);
46
46
  req.end();
47
47
  };
@@ -49,10 +49,10 @@ const isUpSignal = (message) => message === constants_1.UP_SIGNAL;
49
49
  const onMessage = (service) => (message) => {
50
50
  if (isUpSignal(message)) {
51
51
  upSignal();
52
- (0, routes_1.logAvailableRoutes)(service);
52
+ routes_1.logAvailableRoutes(service);
53
53
  }
54
- else if ((0, statusTrack_1.isStatusTrack)(message)) {
55
- (0, statusTrack_1.trackStatus)();
54
+ else if (statusTrack_1.isStatusTrack(message)) {
55
+ statusTrack_1.trackStatus();
56
56
  }
57
57
  else {
58
58
  listeners_1.logger.warn({
@@ -73,13 +73,13 @@ const createAppHttpHandlers = ({ config: { routes, clients } }, serviceJSON, glo
73
73
  const { path: servicePath, public: publicRoute = false, extensible = false, } = serviceRoute;
74
74
  if (publicRoute || extensible) {
75
75
  acc.pub[routeId] = {
76
- handler: (0, http_2.createPublicHttpRoute)(clients, routes[routeId], serviceRoute, routeId, globalLimiter),
76
+ handler: http_2.createPublicHttpRoute(clients, routes[routeId], serviceRoute, routeId, globalLimiter),
77
77
  path: servicePath,
78
78
  };
79
79
  }
80
80
  else {
81
81
  acc.pvt[routeId] = {
82
- handler: (0, http_2.createPrivateHttpRoute)(clients, routes[routeId], serviceRoute, routeId, globalLimiter),
82
+ handler: http_2.createPrivateHttpRoute(clients, routes[routeId], serviceRoute, routeId, globalLimiter),
83
83
  path: `/:account/:workspace${servicePath.replace(/\*([^/]*)/g, ':$1*')}`,
84
84
  };
85
85
  }
@@ -98,7 +98,7 @@ const createAppGraphQLHandler = ({ config: { graphql, clients } }, { routes }, g
98
98
  return {
99
99
  pvt: {
100
100
  [graphql_1.GRAPHQL_ROUTE]: {
101
- handler: (0, graphql_1.createGraphQLRoute)(graphql, clients, route, graphql_1.GRAPHQL_ROUTE, globalLimiter),
101
+ handler: graphql_1.createGraphQLRoute(graphql, clients, route, graphql_1.GRAPHQL_ROUTE, globalLimiter),
102
102
  path: `/:account/:workspace${route.path}`,
103
103
  },
104
104
  },
@@ -111,7 +111,7 @@ const createAppEventHandlers = ({ config: { events, clients } }, serviceJSON, gl
111
111
  return Object.keys(events).reduce((acc, eventId) => {
112
112
  var _a;
113
113
  const serviceEvent = (_a = serviceJSON.events) === null || _a === void 0 ? void 0 : _a[eventId];
114
- acc[eventId] = (0, events_1.createEventHandler)(clients, eventId, events[eventId], serviceEvent, globalLimiter);
114
+ acc[eventId] = events_1.createEventHandler(clients, eventId, events[eventId], serviceEvent, globalLimiter);
115
115
  return acc;
116
116
  }, {});
117
117
  }
@@ -120,11 +120,11 @@ const createAppEventHandlers = ({ config: { events, clients } }, serviceJSON, gl
120
120
  const createRuntimeHttpHandlers = (appEventHandlers, serviceJSON) => ({
121
121
  pvt: {
122
122
  __events: {
123
- handler: (0, router_1.routerFromEventHandlers)(appEventHandlers),
123
+ handler: router_1.routerFromEventHandlers(appEventHandlers),
124
124
  path: '/:account/:workspace/_events',
125
125
  },
126
126
  __healthCheck: {
127
- handler: (0, handlers_1.healthcheckHandler)(serviceJSON),
127
+ handler: handlers_1.healthcheckHandler(serviceJSON),
128
128
  path: '/healthcheck',
129
129
  },
130
130
  __metricsLogger: {
@@ -136,7 +136,7 @@ const createRuntimeHttpHandlers = (appEventHandlers, serviceJSON) => ({
136
136
  path: '/_status',
137
137
  },
138
138
  __whoami: {
139
- handler: (0, handlers_1.whoAmIHandler)(serviceJSON),
139
+ handler: handlers_1.whoAmIHandler(serviceJSON),
140
140
  path: '/:account/:workspace/_whoami',
141
141
  },
142
142
  },
@@ -146,30 +146,30 @@ const scaleClientCaches = (scaleFactor, options) => Object.entries(options || {}
146
146
  const previous = opts.memoryCache.storage.max;
147
147
  const current = previous / scaleFactor;
148
148
  opts.memoryCache.storage.max = current;
149
- (0, console_1.logOnceToDevConsole)(`Scaling ${name} cache capacity from ${previous} to ${current}`, logger_1.LogLevel.Warn);
149
+ console_1.logOnceToDevConsole(`Scaling ${name} cache capacity from ${previous} to ${current}`, logger_1.LogLevel.Warn);
150
150
  }
151
151
  });
152
- const startWorker = (serviceJSON) => {
152
+ exports.startWorker = (serviceJSON) => {
153
153
  var _a, _b;
154
- (0, listeners_1.addProcessListeners)();
154
+ listeners_1.addProcessListeners();
155
155
  const tracer = TracerSingleton_1.TracerSingleton.getTracer();
156
156
  const app = new koa_1.default();
157
157
  app.proxy = true;
158
158
  app
159
159
  .use(error_1.error)
160
- .use((0, middlewares_1.prometheusLoggerMiddleware)())
161
- .use((0, tracingMiddlewares_1.addTracingMiddleware)(tracer))
162
- .use((0, requestMetricsMiddleware_1.addRequestMetricsMiddleware)())
163
- .use((0, middlewares_1.addMetricsLoggerMiddleware)())
164
- .use((0, rateLimit_1.concurrentRateLimiter)((_a = serviceJSON === null || serviceJSON === void 0 ? void 0 : serviceJSON.rateLimitPerReplica) === null || _a === void 0 ? void 0 : _a.concurrent))
165
- .use((0, koa_compress_1.default)())
160
+ .use(middlewares_1.prometheusLoggerMiddleware())
161
+ .use(tracingMiddlewares_1.addTracingMiddleware(tracer))
162
+ .use(requestMetricsMiddleware_1.addRequestMetricsMiddleware())
163
+ .use(middlewares_1.addMetricsLoggerMiddleware())
164
+ .use(rateLimit_1.concurrentRateLimiter((_a = serviceJSON === null || serviceJSON === void 0 ? void 0 : serviceJSON.rateLimitPerReplica) === null || _a === void 0 ? void 0 : _a.concurrent))
165
+ .use(koa_compress_1.default())
166
166
  .use(middlewares_1.recorderMiddleware);
167
- const service = (0, loaders_1.getService)();
167
+ const service = loaders_1.getService();
168
168
  const { config: { clients } } = service;
169
169
  if (clients) {
170
170
  scaleClientCaches(serviceJSON.workers, clients.options);
171
171
  }
172
- const globalLimiter = (0, tokenBucket_1.createTokenBucket)((_b = serviceJSON === null || serviceJSON === void 0 ? void 0 : serviceJSON.rateLimitPerReplica) === null || _b === void 0 ? void 0 : _b.perMinute);
172
+ const globalLimiter = tokenBucket_1.createTokenBucket((_b = serviceJSON === null || serviceJSON === void 0 ? void 0 : serviceJSON.rateLimitPerReplica) === null || _b === void 0 ? void 0 : _b.perMinute);
173
173
  const appHttpHandlers = createAppHttpHandlers(service, serviceJSON, globalLimiter);
174
174
  const appEventHandlers = createAppEventHandlers(service, serviceJSON, globalLimiter);
175
175
  const appGraphQLHandlers = createAppGraphQLHandler(service, serviceJSON, globalLimiter);
@@ -183,7 +183,7 @@ const startWorker = (serviceJSON) => {
183
183
  // TODO: Fix ramda typings. Apparently there was an update that broke things
184
184
  .reduce(ramda_1.mergeDeepRight);
185
185
  if (httpHandlers === null || httpHandlers === void 0 ? void 0 : httpHandlers.pub) {
186
- const publicHandlersRouter = (0, router_2.routerFromPublicHttpHandlers)(httpHandlers.pub);
186
+ const publicHandlersRouter = router_2.routerFromPublicHttpHandlers(httpHandlers.pub);
187
187
  app.use(publicHandlersRouter);
188
188
  }
189
189
  if (httpHandlers === null || httpHandlers === void 0 ? void 0 : httpHandlers.pvt) {
@@ -193,5 +193,4 @@ const startWorker = (serviceJSON) => {
193
193
  process.on('message', onMessage(serviceJSON));
194
194
  return app;
195
195
  };
196
- exports.startWorker = startWorker;
197
196
  global.metrics = new MetricsAccumulator_1.MetricsAccumulator();
@@ -9,7 +9,7 @@ let watched;
9
9
  const handleSignal = signal => {
10
10
  process.exit(os_1.constants.signals[signal]);
11
11
  };
12
- const addProcessListeners = () => {
12
+ exports.addProcessListeners = () => {
13
13
  // Listeners already set up
14
14
  if (watched) {
15
15
  return;
@@ -38,4 +38,3 @@ const addProcessListeners = () => {
38
38
  process.on('SIGINT', handleSignal);
39
39
  process.on('SIGTERM', handleSignal);
40
40
  };
41
- exports.addProcessListeners = addProcessListeners;
@@ -17,7 +17,7 @@ class Service {
17
17
  constructor(config) {
18
18
  this.config = config;
19
19
  if (config.routes && config.routes.graphql) {
20
- (0, logger_1.logOnceToDevConsole)(`Route id "graphql" is reserved and apps containing this routes will stop working in the near future. To create a GraphQL app, export a "graphql" key with {resolvers}.`, logger_1.LogLevel.Warn);
20
+ logger_1.logOnceToDevConsole(`Route id "graphql" is reserved and apps containing this routes will stop working in the near future. To create a GraphQL app, export a "graphql" key with {resolvers}.`, logger_1.LogLevel.Warn);
21
21
  }
22
22
  }
23
23
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.metricsLoggerHandler = exports.healthcheckHandler = exports.whoAmIHandler = void 0;
4
- const whoAmIHandler = ({ events, routes, }) => (ctx) => {
4
+ exports.whoAmIHandler = ({ events, routes, }) => (ctx) => {
5
5
  var _a, _b;
6
6
  ctx.requestHandlerName = 'builtin:whoami';
7
7
  (_b = (_a = ctx.tracing) === null || _a === void 0 ? void 0 : _a.currentSpan) === null || _b === void 0 ? void 0 : _b.setOperationName(ctx.requestHandlerName);
@@ -12,8 +12,7 @@ const whoAmIHandler = ({ events, routes, }) => (ctx) => {
12
12
  };
13
13
  ctx.set('Cache-Control', 'public, max-age=86400'); // cache for 24 hours
14
14
  };
15
- exports.whoAmIHandler = whoAmIHandler;
16
- const healthcheckHandler = ({ events, routes, }) => (ctx) => {
15
+ exports.healthcheckHandler = ({ events, routes, }) => (ctx) => {
17
16
  var _a, _b;
18
17
  ctx.requestHandlerName = 'builtin:healthcheck';
19
18
  (_b = (_a = ctx.tracing) === null || _a === void 0 ? void 0 : _a.currentSpan) === null || _b === void 0 ? void 0 : _b.setOperationName(ctx.requestHandlerName);
@@ -23,12 +22,10 @@ const healthcheckHandler = ({ events, routes, }) => (ctx) => {
23
22
  routes,
24
23
  };
25
24
  };
26
- exports.healthcheckHandler = healthcheckHandler;
27
- const metricsLoggerHandler = (ctx) => {
25
+ exports.metricsLoggerHandler = (ctx) => {
28
26
  var _a, _b;
29
27
  ctx.requestHandlerName = 'builtin:metrics-logger';
30
28
  (_b = (_a = ctx.tracing) === null || _a === void 0 ? void 0 : _a.currentSpan) === null || _b === void 0 ? void 0 : _b.setOperationName(ctx.requestHandlerName);
31
29
  ctx.status = 200;
32
30
  ctx.body = ctx.metricsLogger.getSummaries();
33
31
  };
34
- exports.metricsLoggerHandler = metricsLoggerHandler;
@@ -14,16 +14,15 @@ async function recorderMiddleware(ctx, next) {
14
14
  return;
15
15
  }
16
16
  exports.recorderMiddleware = recorderMiddleware;
17
- const addMetricsLoggerMiddleware = () => {
17
+ exports.addMetricsLoggerMiddleware = () => {
18
18
  const metricsLogger = new metricsLogger_1.MetricsLogger();
19
19
  return (ctx, next) => {
20
20
  ctx.metricsLogger = metricsLogger;
21
21
  return next();
22
22
  };
23
23
  };
24
- exports.addMetricsLoggerMiddleware = addMetricsLoggerMiddleware;
25
- const prometheusLoggerMiddleware = () => {
26
- (0, prom_client_1.collectDefaultMetrics)();
24
+ exports.prometheusLoggerMiddleware = () => {
25
+ prom_client_1.collectDefaultMetrics();
27
26
  const eventLoopLagMeasurer = new EventLoopLagMeasurer_1.EventLoopLagMeasurer();
28
27
  eventLoopLagMeasurer.start();
29
28
  return async (ctx, next) => {
@@ -40,4 +39,3 @@ const prometheusLoggerMiddleware = () => {
40
39
  ctx.status = 200;
41
40
  };
42
41
  };
43
- exports.prometheusLoggerMiddleware = prometheusLoggerMiddleware;
@@ -1,4 +1,4 @@
1
1
  import TokenBucket from 'tokenbucket';
2
2
  import { IOClients } from '../../../../clients/IOClients';
3
3
  import { ClientsConfig, EventHandler, ParamsContext, RecorderState, ServiceContext, ServiceEvent } from '../typings';
4
- export declare const createEventHandler: <T extends IOClients, U extends RecorderState, V extends ParamsContext>(clientsConfig: ClientsConfig<T>, eventId: string, handler: EventHandler<T, U> | EventHandler<T, U>[], serviceEvent: ServiceEvent | undefined, globalLimiter: TokenBucket | undefined) => import("koa-compose").ComposedMiddleware<ServiceContext<T, U, V>>;
4
+ export declare const createEventHandler: <T extends IOClients, U extends RecorderState, V extends ParamsContext>(clientsConfig: ClientsConfig<T>, eventId: string, handler: import("koa-compose").Middleware<import("../typings").EventContext<T, U>> | import("koa-compose").Middleware<import("../typings").EventContext<T, U>>[], serviceEvent: ServiceEvent | undefined, globalLimiter: TokenBucket | undefined) => import("koa-compose").ComposedMiddleware<ServiceContext<T, U, V>>;
@@ -10,25 +10,24 @@ const compose_1 = require("../utils/compose");
10
10
  const toArray_1 = require("../utils/toArray");
11
11
  const body_1 = require("./middlewares/body");
12
12
  const context_1 = require("./middlewares/context");
13
- const createEventHandler = (clientsConfig, eventId, handler, serviceEvent, globalLimiter) => {
13
+ exports.createEventHandler = (clientsConfig, eventId, handler, serviceEvent, globalLimiter) => {
14
14
  var _a, _b;
15
15
  const { implementation, options } = clientsConfig;
16
- const middlewares = (0, toArray_1.toArray)(handler);
16
+ const middlewares = toArray_1.toArray(handler);
17
17
  const pipeline = [
18
- (0, tracingMiddlewares_1.nameSpanOperationMiddleware)('event-handler', eventId),
18
+ tracingMiddlewares_1.nameSpanOperationMiddleware('event-handler', eventId),
19
19
  context_1.eventContextMiddleware,
20
20
  body_1.parseBodyMiddleware,
21
- (0, clients_1.clients)(implementation, options),
22
- ...((serviceEvent === null || serviceEvent === void 0 ? void 0 : serviceEvent.settingsType) === 'workspace' || (serviceEvent === null || serviceEvent === void 0 ? void 0 : serviceEvent.settingsType) === 'userAndWorkspace' ? [(0, settings_1.getServiceSettings)()] : []),
21
+ clients_1.clients(implementation, options),
22
+ ...((serviceEvent === null || serviceEvent === void 0 ? void 0 : serviceEvent.settingsType) === 'workspace' || (serviceEvent === null || serviceEvent === void 0 ? void 0 : serviceEvent.settingsType) === 'userAndWorkspace' ? [settings_1.getServiceSettings()] : []),
23
23
  timings_1.timings,
24
- (0, rateLimit_1.concurrentRateLimiter)((_a = serviceEvent === null || serviceEvent === void 0 ? void 0 : serviceEvent.rateLimitPerReplica) === null || _a === void 0 ? void 0 : _a.concurrent),
25
- (0, rateLimit_1.perMinuteRateLimiter)((_b = serviceEvent === null || serviceEvent === void 0 ? void 0 : serviceEvent.rateLimitPerReplica) === null || _b === void 0 ? void 0 : _b.perMinute, globalLimiter),
26
- (0, tracingMiddlewares_1.traceUserLandRemainingPipelineMiddleware)(),
24
+ rateLimit_1.concurrentRateLimiter((_a = serviceEvent === null || serviceEvent === void 0 ? void 0 : serviceEvent.rateLimitPerReplica) === null || _a === void 0 ? void 0 : _a.concurrent),
25
+ rateLimit_1.perMinuteRateLimiter((_b = serviceEvent === null || serviceEvent === void 0 ? void 0 : serviceEvent.rateLimitPerReplica) === null || _b === void 0 ? void 0 : _b.perMinute, globalLimiter),
26
+ tracingMiddlewares_1.traceUserLandRemainingPipelineMiddleware(),
27
27
  contextAdapter(middlewares),
28
28
  ];
29
- return (0, compose_1.compose)(pipeline);
29
+ return compose_1.compose(pipeline);
30
30
  };
31
- exports.createEventHandler = createEventHandler;
32
31
  function contextAdapter(middlewares) {
33
32
  return async function middlewareCascade(ctx) {
34
33
  const ctxEvent = {
@@ -42,7 +41,7 @@ function contextAdapter(middlewares) {
42
41
  timings: ctx.timings,
43
42
  vtex: ctx.vtex,
44
43
  };
45
- await (0, compose_1.composeForEvents)(middlewares)(ctxEvent);
44
+ await compose_1.composeForEvents(middlewares)(ctxEvent);
46
45
  ctx.status = 204;
47
46
  };
48
47
  }
@@ -9,7 +9,7 @@ const logger_1 = require("../../../../logger");
9
9
  const console_1 = require("./../../../../logger/console");
10
10
  async function parseBodyMiddleware(ctx, next) {
11
11
  try {
12
- ctx.state.body = await (0, co_body_1.default)(ctx.req);
12
+ ctx.state.body = await co_body_1.default(ctx.req);
13
13
  }
14
14
  catch (err) {
15
15
  if (!(err instanceof Error)) {
@@ -18,7 +18,7 @@ async function parseBodyMiddleware(ctx, next) {
18
18
  const msg = `Error parsing event body: ${err.message || err}`;
19
19
  ctx.status = 500;
20
20
  ctx.body = msg;
21
- (0, console_1.logOnceToDevConsole)(msg, logger_1.LogLevel.Error);
21
+ console_1.logOnceToDevConsole(msg, logger_1.LogLevel.Error);
22
22
  return;
23
23
  }
24
24
  await next();
@@ -6,7 +6,7 @@ const context_1 = require("../../utils/context");
6
6
  async function eventContextMiddleware(ctx, next) {
7
7
  const { request: { header } } = ctx;
8
8
  ctx.vtex = {
9
- ...(0, context_1.prepareHandlerCtx)(header, ctx.tracing),
9
+ ...context_1.prepareHandlerCtx(header, ctx.tracing),
10
10
  eventInfo: {
11
11
  key: header[constants_1.EVENT_KEY_HEADER],
12
12
  sender: header[constants_1.EVENT_SENDER_HEADER],
@@ -4,7 +4,7 @@ exports.routerFromEventHandlers = void 0;
4
4
  const constants_1 = require("../../../../constants");
5
5
  const logger_1 = require("../../../logger");
6
6
  const console_1 = require("./../../../logger/console");
7
- const routerFromEventHandlers = (events) => {
7
+ exports.routerFromEventHandlers = (events) => {
8
8
  return async (ctx, next) => {
9
9
  const handlerId = ctx.get(constants_1.EVENT_HANDLER_ID_HEADER);
10
10
  if (!handlerId || !events) {
@@ -20,10 +20,9 @@ const routerFromEventHandlers = (events) => {
20
20
  const msg = `Event handler not found for ${handlerId}`;
21
21
  ctx.response.status = 404;
22
22
  ctx.response.body = msg;
23
- (0, console_1.logOnceToDevConsole)(msg, logger_1.LogLevel.Error);
23
+ console_1.logOnceToDevConsole(msg, logger_1.LogLevel.Error);
24
24
  return;
25
25
  }
26
26
  await handler(ctx, next);
27
27
  };
28
28
  };
29
- exports.routerFromEventHandlers = routerFromEventHandlers;