@lopatnov/express-reverse-proxy 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (853) hide show
  1. package/.git/COMMIT_EDITMSG +1 -1
  2. package/.git/FETCH_HEAD +6 -1
  3. package/.git/ORIG_HEAD +1 -1
  4. package/.git/index +0 -0
  5. package/.git/logs/HEAD +2 -0
  6. package/.git/logs/refs/heads/master +2 -0
  7. package/.git/logs/refs/remotes/origin/dependabot/npm_and_yarn/async-2.6.4 +1 -0
  8. package/.git/logs/refs/remotes/origin/dependabot/npm_and_yarn/follow-redirects-1.14.8 +1 -0
  9. package/.git/logs/refs/remotes/origin/dependabot/npm_and_yarn/follow-redirects-1.15.1 +1 -0
  10. package/.git/logs/refs/remotes/origin/dependabot/npm_and_yarn/minimist-1.2.6 +2 -0
  11. package/.git/logs/refs/remotes/origin/dependabot/npm_and_yarn/moment-2.29.4 +2 -0
  12. package/.git/logs/refs/remotes/origin/dependabot/npm_and_yarn/vm2-3.9.10 +1 -0
  13. package/.git/logs/refs/remotes/origin/dependabot/npm_and_yarn/vm2-3.9.7 +1 -0
  14. package/.git/logs/refs/remotes/origin/master +2 -0
  15. package/.git/objects/05/7279a8af3092f351c4ae469bd547adfc76f7a4 +0 -0
  16. package/.git/objects/06/051cdbe81b43e531f1ca0fa765cb4c91d91ea1 +0 -0
  17. package/.git/objects/12/3d8423180da838ba0af1284aae79e1a955c98b +0 -0
  18. package/.git/objects/14/3d5eca2e4998e6899de6049e38b4bf2559e4e0 +0 -0
  19. package/.git/objects/16/a3a924f2a6924622e739eebe236ef713030c8b +0 -0
  20. package/.git/objects/1d/559712ab5ec703cf8e866b24b8dfb3b321ff03 +0 -0
  21. package/.git/objects/1f/4bda8b3565949d26f700322b343189d29bffdf +3 -0
  22. package/.git/objects/22/034a86b3f190407ef7a2c0eaf212ddaa686f16 +0 -0
  23. package/.git/objects/25/9462200ffecedc2eef36f888eb503e3f2e81ec +0 -0
  24. package/.git/objects/28/220d00bdbed408d7a98ece866fb5af1e7d1395 +0 -0
  25. package/.git/objects/33/f5906b4664855687be03e7d6d93092c9daf955 +0 -0
  26. package/.git/objects/39/fb332adf9703decb515ff845b2c93ee7bdd191 +0 -0
  27. package/.git/objects/3a/4d74b53dc2acdf09452ccf6c30100a929f557d +0 -0
  28. package/.git/objects/3b/f4ee4b9fb6b872ee61b1a392113d208ca7c762 +0 -0
  29. package/.git/objects/4b/47d7aeb054f8ab581690b65dcb12308ba90b6c +0 -0
  30. package/.git/objects/5b/c7e4571e0196bc7913762a38c0698ab23b4b40 +0 -0
  31. package/.git/objects/5e/3da9aaf50f9faecdc9cb1ebeab3fba5a9e8fb4 +0 -0
  32. package/.git/objects/5f/7c7f1513de49814f849f66114759c6daef837d +0 -0
  33. package/.git/objects/64/967bb9704893349c92a31f5291fc0eb2c13fa9 +0 -0
  34. package/.git/objects/7f/3277bd2a1e2b01b395caf1e0e8999c1682c223 +0 -0
  35. package/.git/objects/83/5696f89cedc2214df0ffc788f08c4d58a97c95 +0 -0
  36. package/.git/objects/85/b13d9fef3c897366d43df137438cd28f915087 +0 -0
  37. package/.git/objects/95/d70526c36e8b3e5c814f64645623371d57946d +0 -0
  38. package/.git/objects/98/898b1fd7b14788c34282603fca629e813ba546 +0 -0
  39. package/.git/objects/9d/31d2fc81e780e5e2de1c51b8e705005e94d59d +0 -0
  40. package/.git/objects/a2/955bbd248d85219a4264c1b21dc7c2d0481d11 +0 -0
  41. package/.git/objects/a4/a1ac412998cdfe316b39e29e5462057602c1d6 +0 -0
  42. package/.git/objects/be/6b92cd3ae0f90b9b3fae0ca6661931dae6c83a +0 -0
  43. package/.git/objects/c0/e2ecce02f4d74977c088b07ddae70af1b0204b +0 -0
  44. package/.git/objects/ca/4942a1100642a56ccf314d1e9c4db6da1ee5d2 +0 -0
  45. package/.git/objects/cc/6904a6336d2a954e954bb0d1e50aea08c83494 +0 -0
  46. package/.git/objects/cd/084b222732a6e80a2440e9ecdd773aedb197e6 +0 -0
  47. package/.git/objects/d5/2717c6fd9c3deeb0ff98151d64927d2a6234c6 +0 -0
  48. package/.git/objects/d9/981364d8a15210123a3585846031c62eaecd8f +0 -0
  49. package/.git/objects/dd/b3b7a413e020bae0d7a4bec93871427e70d257 +0 -0
  50. package/.git/objects/e5/2673bb0d2f0856fee0cef63f2018cf38aaf12a +0 -0
  51. package/.git/objects/e9/bd949a381501bde67f21ba4d00c670cd65663c +0 -0
  52. package/.git/objects/ef/2403cca5e0283f168e74e1e0548f0bee6ba64b +5 -0
  53. package/.git/objects/ef/de9a8166073eaffcbdb334a63e93ab2e0e2bb2 +3 -0
  54. package/.git/objects/f2/9fbde97f3b548ee6ec891b4b411707ebf0561a +0 -0
  55. package/.git/objects/f5/f2285b984ce7ef265cf79ce10ba51dcc9f9ad6 +0 -0
  56. package/.git/objects/fd/a93fd9e44b59cfec306dd85a72db21360569a4 +0 -0
  57. package/.git/refs/heads/master +1 -1
  58. package/.git/refs/remotes/origin/dependabot/npm_and_yarn/async-2.6.4 +1 -0
  59. package/.git/refs/remotes/origin/dependabot/npm_and_yarn/follow-redirects-1.14.8 +1 -0
  60. package/.git/refs/remotes/origin/dependabot/npm_and_yarn/follow-redirects-1.15.1 +1 -0
  61. package/.git/refs/remotes/origin/dependabot/npm_and_yarn/minimist-1.2.6 +1 -0
  62. package/.git/refs/remotes/origin/dependabot/npm_and_yarn/moment-2.29.4 +1 -0
  63. package/.git/refs/remotes/origin/dependabot/npm_and_yarn/vm2-3.9.10 +1 -0
  64. package/.git/refs/remotes/origin/dependabot/npm_and_yarn/vm2-3.9.7 +1 -0
  65. package/.git/refs/remotes/origin/master +1 -1
  66. package/.git/tortoisegit.data +0 -0
  67. package/.git/tortoisegit.index +0 -0
  68. package/README.md +17 -7
  69. package/node_modules/@eslint/eslintrc/LICENSE +21 -0
  70. package/node_modules/@eslint/eslintrc/README.md +61 -0
  71. package/node_modules/@eslint/eslintrc/conf/config-schema.js +79 -0
  72. package/node_modules/@eslint/eslintrc/conf/environments.js +179 -0
  73. package/node_modules/@eslint/eslintrc/conf/eslint-all.cjs +12 -0
  74. package/node_modules/@eslint/eslintrc/conf/eslint-recommended.cjs +12 -0
  75. package/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js +520 -0
  76. package/node_modules/@eslint/eslintrc/lib/config-array/config-array.js +523 -0
  77. package/node_modules/@eslint/eslintrc/lib/config-array/config-dependency.js +115 -0
  78. package/node_modules/@eslint/eslintrc/lib/config-array/extracted-config.js +145 -0
  79. package/node_modules/@eslint/eslintrc/lib/config-array/ignore-pattern.js +238 -0
  80. package/node_modules/@eslint/eslintrc/lib/config-array/index.js +19 -0
  81. package/node_modules/@eslint/eslintrc/lib/config-array/override-tester.js +225 -0
  82. package/node_modules/@eslint/eslintrc/lib/config-array-factory.js +1103 -0
  83. package/node_modules/@eslint/eslintrc/lib/flat-compat.js +310 -0
  84. package/node_modules/@eslint/eslintrc/lib/index-universal.js +29 -0
  85. package/node_modules/@eslint/eslintrc/lib/index.js +56 -0
  86. package/node_modules/@eslint/eslintrc/lib/shared/ajv.js +191 -0
  87. package/node_modules/@eslint/eslintrc/lib/shared/config-ops.js +135 -0
  88. package/node_modules/@eslint/eslintrc/lib/shared/config-validator.js +325 -0
  89. package/node_modules/@eslint/eslintrc/lib/shared/deprecation-warnings.js +63 -0
  90. package/node_modules/@eslint/eslintrc/lib/shared/naming.js +96 -0
  91. package/node_modules/@eslint/eslintrc/lib/shared/relative-module-resolver.js +42 -0
  92. package/node_modules/@eslint/eslintrc/lib/shared/types.js +149 -0
  93. package/node_modules/@eslint/eslintrc/package.json +81 -0
  94. package/node_modules/@eslint/eslintrc/universal.js +9 -0
  95. package/node_modules/@humanwhocodes/config-array/CHANGELOG.md +9 -0
  96. package/node_modules/@humanwhocodes/config-array/LICENSE +201 -0
  97. package/node_modules/@humanwhocodes/config-array/README.md +266 -0
  98. package/node_modules/@humanwhocodes/config-array/api.js +523 -0
  99. package/node_modules/@humanwhocodes/config-array/package.json +61 -0
  100. package/node_modules/@humanwhocodes/object-schema/.eslintrc.js +29 -0
  101. package/node_modules/@humanwhocodes/object-schema/.github/workflows/nodejs-test.yml +27 -0
  102. package/node_modules/@humanwhocodes/object-schema/.github/workflows/release-please.yml +39 -0
  103. package/node_modules/@humanwhocodes/object-schema/CHANGELOG.md +8 -0
  104. package/node_modules/@humanwhocodes/object-schema/LICENSE +29 -0
  105. package/node_modules/@humanwhocodes/object-schema/README.md +234 -0
  106. package/node_modules/@humanwhocodes/object-schema/package.json +33 -0
  107. package/node_modules/@humanwhocodes/object-schema/src/index.js +7 -0
  108. package/node_modules/@humanwhocodes/object-schema/src/merge-strategy.js +53 -0
  109. package/node_modules/@humanwhocodes/object-schema/src/object-schema.js +235 -0
  110. package/node_modules/@humanwhocodes/object-schema/src/validation-strategy.js +102 -0
  111. package/node_modules/@humanwhocodes/object-schema/tests/merge-strategy.js +66 -0
  112. package/node_modules/@humanwhocodes/object-schema/tests/object-schema.js +611 -0
  113. package/node_modules/@humanwhocodes/object-schema/tests/validation-strategy.js +186 -0
  114. package/node_modules/@opencensus/core/LICENSE +202 -0
  115. package/node_modules/@opencensus/core/README.md +108 -0
  116. package/node_modules/@opencensus/core/build/src/common/console-logger.d.ts +60 -0
  117. package/node_modules/@opencensus/core/build/src/common/console-logger.js +97 -0
  118. package/node_modules/@opencensus/core/build/src/common/time-util.d.ts +41 -0
  119. package/node_modules/@opencensus/core/build/src/common/time-util.js +74 -0
  120. package/node_modules/@opencensus/core/build/src/common/types.d.ts +29 -0
  121. package/node_modules/@opencensus/core/build/src/common/types.js +18 -0
  122. package/node_modules/@opencensus/core/build/src/common/validations.d.ts +31 -0
  123. package/node_modules/@opencensus/core/build/src/common/validations.js +46 -0
  124. package/node_modules/@opencensus/core/build/src/common/version.d.ts +16 -0
  125. package/node_modules/@opencensus/core/build/src/common/version.js +24 -0
  126. package/node_modules/@opencensus/core/build/src/exporters/console-exporter.d.ts +70 -0
  127. package/node_modules/@opencensus/core/build/src/exporters/console-exporter.js +91 -0
  128. package/node_modules/@opencensus/core/build/src/exporters/exporter-buffer.d.ts +59 -0
  129. package/node_modules/@opencensus/core/build/src/exporters/exporter-buffer.js +104 -0
  130. package/node_modules/@opencensus/core/build/src/exporters/types.d.ts +52 -0
  131. package/node_modules/@opencensus/core/build/src/exporters/types.js +18 -0
  132. package/node_modules/@opencensus/core/build/src/index.d.ts +50 -0
  133. package/node_modules/@opencensus/core/build/src/index.js +59 -0
  134. package/node_modules/@opencensus/core/build/src/internal/clock.d.ts +43 -0
  135. package/node_modules/@opencensus/core/build/src/internal/clock.js +68 -0
  136. package/node_modules/@opencensus/core/build/src/internal/cls-ah.d.ts +20 -0
  137. package/node_modules/@opencensus/core/build/src/internal/cls-ah.js +128 -0
  138. package/node_modules/@opencensus/core/build/src/internal/cls.d.ts +28 -0
  139. package/node_modules/@opencensus/core/build/src/internal/cls.js +45 -0
  140. package/node_modules/@opencensus/core/build/src/internal/string-utils.d.ts +35 -0
  141. package/node_modules/@opencensus/core/build/src/internal/string-utils.js +49 -0
  142. package/node_modules/@opencensus/core/build/src/internal/util.d.ts +16 -0
  143. package/node_modules/@opencensus/core/build/src/internal/util.js +34 -0
  144. package/node_modules/@opencensus/core/build/src/metrics/export/base-metric-producer.d.ts +27 -0
  145. package/node_modules/@opencensus/core/build/src/metrics/export/base-metric-producer.js +25 -0
  146. package/node_modules/@opencensus/core/build/src/metrics/export/metric-producer-manager.d.ts +17 -0
  147. package/node_modules/@opencensus/core/build/src/metrics/export/metric-producer-manager.js +70 -0
  148. package/node_modules/@opencensus/core/build/src/metrics/export/types.d.ts +331 -0
  149. package/node_modules/@opencensus/core/build/src/metrics/export/types.js +69 -0
  150. package/node_modules/@opencensus/core/build/src/metrics/gauges/derived-gauge.d.ts +110 -0
  151. package/node_modules/@opencensus/core/build/src/metrics/gauges/derived-gauge.js +150 -0
  152. package/node_modules/@opencensus/core/build/src/metrics/gauges/gauge.d.ts +114 -0
  153. package/node_modules/@opencensus/core/build/src/metrics/gauges/gauge.js +162 -0
  154. package/node_modules/@opencensus/core/build/src/metrics/gauges/types.d.ts +45 -0
  155. package/node_modules/@opencensus/core/build/src/metrics/gauges/types.js +18 -0
  156. package/node_modules/@opencensus/core/build/src/metrics/metric-component.d.ts +29 -0
  157. package/node_modules/@opencensus/core/build/src/metrics/metric-component.js +40 -0
  158. package/node_modules/@opencensus/core/build/src/metrics/metric-registry.d.ts +93 -0
  159. package/node_modules/@opencensus/core/build/src/metrics/metric-registry.js +152 -0
  160. package/node_modules/@opencensus/core/build/src/metrics/metrics.d.ts +27 -0
  161. package/node_modules/@opencensus/core/build/src/metrics/metrics.js +35 -0
  162. package/node_modules/@opencensus/core/build/src/metrics/utils.d.ts +30 -0
  163. package/node_modules/@opencensus/core/build/src/metrics/utils.js +42 -0
  164. package/node_modules/@opencensus/core/build/src/resource/resource.d.ts +98 -0
  165. package/node_modules/@opencensus/core/build/src/resource/resource.js +167 -0
  166. package/node_modules/@opencensus/core/build/src/resource/types.d.ts +31 -0
  167. package/node_modules/@opencensus/core/build/src/resource/types.js +18 -0
  168. package/node_modules/@opencensus/core/build/src/stats/bucket-boundaries.d.ts +49 -0
  169. package/node_modules/@opencensus/core/build/src/stats/bucket-boundaries.js +90 -0
  170. package/node_modules/@opencensus/core/build/src/stats/metric-producer.d.ts +34 -0
  171. package/node_modules/@opencensus/core/build/src/stats/metric-producer.js +40 -0
  172. package/node_modules/@opencensus/core/build/src/stats/metric-utils.d.ts +40 -0
  173. package/node_modules/@opencensus/core/build/src/stats/metric-utils.js +83 -0
  174. package/node_modules/@opencensus/core/build/src/stats/recorder.d.ts +26 -0
  175. package/node_modules/@opencensus/core/build/src/stats/recorder.js +76 -0
  176. package/node_modules/@opencensus/core/build/src/stats/stats.d.ts +97 -0
  177. package/node_modules/@opencensus/core/build/src/stats/stats.js +169 -0
  178. package/node_modules/@opencensus/core/build/src/stats/types.d.ts +242 -0
  179. package/node_modules/@opencensus/core/build/src/stats/types.js +48 -0
  180. package/node_modules/@opencensus/core/build/src/stats/view.d.ts +119 -0
  181. package/node_modules/@opencensus/core/build/src/stats/view.js +194 -0
  182. package/node_modules/@opencensus/core/build/src/tags/tag-map.d.ts +26 -0
  183. package/node_modules/@opencensus/core/build/src/tags/tag-map.js +45 -0
  184. package/node_modules/@opencensus/core/build/src/tags/types.d.ts +25 -0
  185. package/node_modules/@opencensus/core/build/src/tags/types.js +18 -0
  186. package/node_modules/@opencensus/core/build/src/tags/validation.d.ts +20 -0
  187. package/node_modules/@opencensus/core/build/src/tags/validation.js +41 -0
  188. package/node_modules/@opencensus/core/build/src/trace/config/types.d.ts +82 -0
  189. package/node_modules/@opencensus/core/build/src/trace/config/types.js +18 -0
  190. package/node_modules/@opencensus/core/build/src/trace/instrumentation/base-plugin.d.ts +77 -0
  191. package/node_modules/@opencensus/core/build/src/trace/instrumentation/base-plugin.js +113 -0
  192. package/node_modules/@opencensus/core/build/src/trace/instrumentation/types.d.ts +56 -0
  193. package/node_modules/@opencensus/core/build/src/trace/instrumentation/types.js +18 -0
  194. package/node_modules/@opencensus/core/build/src/trace/model/root-span.d.ts +53 -0
  195. package/node_modules/@opencensus/core/build/src/trace/model/root-span.js +111 -0
  196. package/node_modules/@opencensus/core/build/src/trace/model/span-base.d.ts +131 -0
  197. package/node_modules/@opencensus/core/build/src/trace/model/span-base.js +210 -0
  198. package/node_modules/@opencensus/core/build/src/trace/model/span.d.ts +35 -0
  199. package/node_modules/@opencensus/core/build/src/trace/model/span.js +66 -0
  200. package/node_modules/@opencensus/core/build/src/trace/model/tracer.d.ts +112 -0
  201. package/node_modules/@opencensus/core/build/src/trace/model/tracer.js +241 -0
  202. package/node_modules/@opencensus/core/build/src/trace/model/types.d.ts +455 -0
  203. package/node_modules/@opencensus/core/build/src/trace/model/types.js +198 -0
  204. package/node_modules/@opencensus/core/build/src/trace/propagation/types.d.ts +36 -0
  205. package/node_modules/@opencensus/core/build/src/trace/propagation/types.js +18 -0
  206. package/node_modules/@opencensus/core/build/src/trace/sampler/sampler.d.ts +72 -0
  207. package/node_modules/@opencensus/core/build/src/trace/sampler/sampler.js +129 -0
  208. package/node_modules/@opencensus/core/build/src/trace/sampler/types.d.ts +29 -0
  209. package/node_modules/@opencensus/core/build/src/trace/sampler/types.js +18 -0
  210. package/node_modules/@opencensus/core/build/src/trace/types.d.ts +46 -0
  211. package/node_modules/@opencensus/core/build/src/trace/types.js +18 -0
  212. package/node_modules/@opencensus/core/node_modules/.bin/semver +12 -0
  213. package/node_modules/@opencensus/core/node_modules/.bin/semver.cmd +17 -0
  214. package/node_modules/@opencensus/core/node_modules/.bin/semver.ps1 +28 -0
  215. package/node_modules/@opencensus/core/node_modules/semver/CHANGELOG.md +39 -0
  216. package/node_modules/@opencensus/core/node_modules/semver/LICENSE +15 -0
  217. package/node_modules/@opencensus/core/node_modules/semver/README.md +412 -0
  218. package/node_modules/@opencensus/core/node_modules/semver/bin/semver +160 -0
  219. package/node_modules/@opencensus/core/node_modules/semver/package.json +28 -0
  220. package/node_modules/@opencensus/core/node_modules/semver/range.bnf +16 -0
  221. package/node_modules/@opencensus/core/node_modules/semver/semver.js +1483 -0
  222. package/node_modules/@opencensus/core/package.json +68 -0
  223. package/node_modules/@opencensus/propagation-b3/LICENSE +202 -0
  224. package/node_modules/@opencensus/propagation-b3/README.md +46 -0
  225. package/node_modules/@opencensus/propagation-b3/build/src/b3-format.d.ts +35 -0
  226. package/node_modules/@opencensus/propagation-b3/build/src/b3-format.js +77 -0
  227. package/node_modules/@opencensus/propagation-b3/build/src/index.d.ts +16 -0
  228. package/node_modules/@opencensus/propagation-b3/build/src/index.js +22 -0
  229. package/node_modules/@opencensus/propagation-b3/node_modules/.bin/semver +12 -0
  230. package/node_modules/@opencensus/propagation-b3/node_modules/.bin/semver.cmd +17 -0
  231. package/node_modules/@opencensus/propagation-b3/node_modules/.bin/semver.ps1 +28 -0
  232. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/LICENSE +202 -0
  233. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/README.md +96 -0
  234. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/common/console-logger.d.ts +51 -0
  235. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/common/console-logger.js +106 -0
  236. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/common/types.d.ts +29 -0
  237. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/common/types.js +18 -0
  238. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/common/validations.d.ts +31 -0
  239. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/common/validations.js +46 -0
  240. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/common/version.d.ts +1 -0
  241. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/common/version.js +24 -0
  242. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/exporters/console-exporter.d.ts +64 -0
  243. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/exporters/console-exporter.js +84 -0
  244. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/exporters/exporter-buffer.d.ts +44 -0
  245. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/exporters/exporter-buffer.js +104 -0
  246. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/exporters/types.d.ts +44 -0
  247. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/exporters/types.js +18 -0
  248. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/index.d.ts +37 -0
  249. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/index.js +45 -0
  250. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/internal/clock.d.ts +43 -0
  251. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/internal/clock.js +68 -0
  252. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/internal/cls-ah.d.ts +5 -0
  253. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/internal/cls-ah.js +128 -0
  254. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/internal/cls.d.ts +28 -0
  255. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/internal/cls.js +45 -0
  256. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/internal/string-utils.d.ts +35 -0
  257. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/internal/string-utils.js +49 -0
  258. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/internal/util.d.ts +1 -0
  259. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/internal/util.js +34 -0
  260. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/export/metric-producer.d.ts +27 -0
  261. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/export/metric-producer.js +25 -0
  262. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/export/types.d.ts +309 -0
  263. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/export/types.js +69 -0
  264. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/gauges/derived-gauge.d.ts +95 -0
  265. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/gauges/derived-gauge.js +151 -0
  266. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/gauges/gauge.d.ts +99 -0
  267. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/gauges/gauge.js +161 -0
  268. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/gauges/types.d.ts +45 -0
  269. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/gauges/types.js +18 -0
  270. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/metric-registry.d.ts +79 -0
  271. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/metric-registry.js +152 -0
  272. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/metrics.d.ts +26 -0
  273. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/metrics.js +34 -0
  274. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/utils.d.ts +30 -0
  275. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/metrics/utils.js +42 -0
  276. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/resource/resource.d.ts +81 -0
  277. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/resource/resource.js +160 -0
  278. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/resource/types.d.ts +31 -0
  279. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/resource/types.js +18 -0
  280. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/bucket-boundaries.d.ts +49 -0
  281. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/bucket-boundaries.js +90 -0
  282. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/metric-producer.d.ts +34 -0
  283. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/metric-producer.js +40 -0
  284. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/metric-utils.d.ts +39 -0
  285. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/metric-utils.js +84 -0
  286. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/recorder.d.ts +23 -0
  287. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/recorder.js +70 -0
  288. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/stats.d.ts +85 -0
  289. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/stats.js +145 -0
  290. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/types.d.ts +188 -0
  291. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/types.js +48 -0
  292. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/view.d.ts +118 -0
  293. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/stats/view.js +201 -0
  294. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/config/types.d.ts +68 -0
  295. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/config/types.js +18 -0
  296. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/instrumentation/base-plugin.d.ts +73 -0
  297. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/instrumentation/base-plugin.js +110 -0
  298. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/instrumentation/types.d.ts +45 -0
  299. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/instrumentation/types.js +18 -0
  300. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/model/root-span.d.ts +38 -0
  301. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/model/root-span.js +108 -0
  302. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/model/span-base.d.ts +114 -0
  303. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/model/span-base.js +165 -0
  304. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/model/span.d.ts +20 -0
  305. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/model/span.js +65 -0
  306. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/model/tracer.d.ts +95 -0
  307. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/model/tracer.js +229 -0
  308. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/model/types.d.ts +245 -0
  309. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/model/types.js +18 -0
  310. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/propagation/types.d.ts +36 -0
  311. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/propagation/types.js +18 -0
  312. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/sampler/sampler.d.ts +56 -0
  313. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/sampler/sampler.js +94 -0
  314. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/sampler/types.d.ts +29 -0
  315. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/sampler/types.js +18 -0
  316. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/types.d.ts +46 -0
  317. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/build/src/trace/types.js +18 -0
  318. package/node_modules/@opencensus/propagation-b3/node_modules/@opencensus/core/package.json +63 -0
  319. package/node_modules/@opencensus/propagation-b3/node_modules/semver/CHANGELOG.md +39 -0
  320. package/node_modules/@opencensus/propagation-b3/node_modules/semver/LICENSE +15 -0
  321. package/node_modules/@opencensus/propagation-b3/node_modules/semver/README.md +412 -0
  322. package/node_modules/@opencensus/propagation-b3/node_modules/semver/bin/semver +160 -0
  323. package/node_modules/@opencensus/propagation-b3/node_modules/semver/package.json +28 -0
  324. package/node_modules/@opencensus/propagation-b3/node_modules/semver/range.bnf +16 -0
  325. package/node_modules/@opencensus/propagation-b3/node_modules/semver/semver.js +1483 -0
  326. package/node_modules/@opencensus/propagation-b3/package.json +56 -0
  327. package/node_modules/@pm2/agent/.drone.jsonnet +104 -0
  328. package/node_modules/@pm2/agent/.mocharc.yml +12 -0
  329. package/node_modules/@pm2/agent/.vscode/launch.json +29 -0
  330. package/node_modules/@pm2/agent/LICENSE +661 -0
  331. package/node_modules/@pm2/agent/README.md +95 -0
  332. package/node_modules/@pm2/agent/config.js +30 -0
  333. package/node_modules/@pm2/agent/constants.js +98 -0
  334. package/node_modules/@pm2/agent/index.js +2 -0
  335. package/node_modules/@pm2/agent/node_modules/.bin/semver +12 -0
  336. package/node_modules/@pm2/agent/node_modules/.bin/semver.cmd +17 -0
  337. package/node_modules/@pm2/agent/node_modules/.bin/semver.ps1 +28 -0
  338. package/node_modules/@pm2/agent/node_modules/chalk/index.d.ts +411 -0
  339. package/node_modules/@pm2/agent/node_modules/chalk/license +9 -0
  340. package/node_modules/@pm2/agent/node_modules/chalk/package.json +63 -0
  341. package/node_modules/@pm2/agent/node_modules/chalk/readme.md +304 -0
  342. package/node_modules/@pm2/agent/node_modules/chalk/source/index.js +233 -0
  343. package/node_modules/@pm2/agent/node_modules/chalk/source/templates.js +134 -0
  344. package/node_modules/@pm2/agent/node_modules/chalk/source/util.js +39 -0
  345. package/node_modules/@pm2/agent/node_modules/semver/CHANGELOG.md +101 -0
  346. package/node_modules/@pm2/agent/node_modules/semver/LICENSE +15 -0
  347. package/node_modules/@pm2/agent/node_modules/semver/README.md +563 -0
  348. package/node_modules/@pm2/agent/node_modules/semver/bin/semver.js +173 -0
  349. package/node_modules/@pm2/agent/node_modules/semver/classes/comparator.js +139 -0
  350. package/node_modules/@pm2/agent/node_modules/semver/classes/index.js +5 -0
  351. package/node_modules/@pm2/agent/node_modules/semver/classes/range.js +453 -0
  352. package/node_modules/@pm2/agent/node_modules/semver/classes/semver.js +290 -0
  353. package/node_modules/@pm2/agent/node_modules/semver/functions/clean.js +6 -0
  354. package/node_modules/@pm2/agent/node_modules/semver/functions/cmp.js +48 -0
  355. package/node_modules/@pm2/agent/node_modules/semver/functions/coerce.js +51 -0
  356. package/node_modules/@pm2/agent/node_modules/semver/functions/compare-build.js +7 -0
  357. package/node_modules/@pm2/agent/node_modules/semver/functions/compare-loose.js +3 -0
  358. package/node_modules/@pm2/agent/node_modules/semver/functions/compare.js +5 -0
  359. package/node_modules/@pm2/agent/node_modules/semver/functions/diff.js +23 -0
  360. package/node_modules/@pm2/agent/node_modules/semver/functions/eq.js +3 -0
  361. package/node_modules/@pm2/agent/node_modules/semver/functions/gt.js +3 -0
  362. package/node_modules/@pm2/agent/node_modules/semver/functions/gte.js +3 -0
  363. package/node_modules/@pm2/agent/node_modules/semver/functions/inc.js +15 -0
  364. package/node_modules/@pm2/agent/node_modules/semver/functions/lt.js +3 -0
  365. package/node_modules/@pm2/agent/node_modules/semver/functions/lte.js +3 -0
  366. package/node_modules/@pm2/agent/node_modules/semver/functions/major.js +3 -0
  367. package/node_modules/@pm2/agent/node_modules/semver/functions/minor.js +3 -0
  368. package/node_modules/@pm2/agent/node_modules/semver/functions/neq.js +3 -0
  369. package/node_modules/@pm2/agent/node_modules/semver/functions/parse.js +37 -0
  370. package/node_modules/@pm2/agent/node_modules/semver/functions/patch.js +3 -0
  371. package/node_modules/@pm2/agent/node_modules/semver/functions/prerelease.js +6 -0
  372. package/node_modules/@pm2/agent/node_modules/semver/functions/rcompare.js +3 -0
  373. package/node_modules/@pm2/agent/node_modules/semver/functions/rsort.js +3 -0
  374. package/node_modules/@pm2/agent/node_modules/semver/functions/satisfies.js +10 -0
  375. package/node_modules/@pm2/agent/node_modules/semver/functions/sort.js +3 -0
  376. package/node_modules/@pm2/agent/node_modules/semver/functions/valid.js +6 -0
  377. package/node_modules/@pm2/agent/node_modules/semver/index.js +47 -0
  378. package/node_modules/@pm2/agent/node_modules/semver/internal/constants.js +17 -0
  379. package/node_modules/@pm2/agent/node_modules/semver/internal/debug.js +9 -0
  380. package/node_modules/@pm2/agent/node_modules/semver/internal/identifiers.js +23 -0
  381. package/node_modules/@pm2/agent/node_modules/semver/internal/re.js +179 -0
  382. package/node_modules/@pm2/agent/node_modules/semver/package.json +38 -0
  383. package/node_modules/@pm2/agent/node_modules/semver/preload.js +2 -0
  384. package/node_modules/@pm2/agent/node_modules/semver/range.bnf +16 -0
  385. package/node_modules/@pm2/agent/node_modules/semver/ranges/gtr.js +4 -0
  386. package/node_modules/@pm2/agent/node_modules/semver/ranges/intersects.js +7 -0
  387. package/node_modules/@pm2/agent/node_modules/semver/ranges/ltr.js +4 -0
  388. package/node_modules/@pm2/agent/node_modules/semver/ranges/max-satisfying.js +25 -0
  389. package/node_modules/@pm2/agent/node_modules/semver/ranges/min-satisfying.js +24 -0
  390. package/node_modules/@pm2/agent/node_modules/semver/ranges/min-version.js +57 -0
  391. package/node_modules/@pm2/agent/node_modules/semver/ranges/outside.js +80 -0
  392. package/node_modules/@pm2/agent/node_modules/semver/ranges/simplify.js +44 -0
  393. package/node_modules/@pm2/agent/node_modules/semver/ranges/to-comparators.js +8 -0
  394. package/node_modules/@pm2/agent/node_modules/semver/ranges/valid.js +11 -0
  395. package/node_modules/@pm2/agent/package.json +41 -0
  396. package/node_modules/@pm2/agent/src/InteractorClient.js +502 -0
  397. package/node_modules/@pm2/agent/src/InteractorDaemon.js +452 -0
  398. package/node_modules/@pm2/agent/src/PM2Client.js +112 -0
  399. package/node_modules/@pm2/agent/src/PM2Interface.js +180 -0
  400. package/node_modules/@pm2/agent/src/TransporterInterface.js +173 -0
  401. package/node_modules/@pm2/agent/src/Utility.js +395 -0
  402. package/node_modules/@pm2/agent/src/WatchDog.js +70 -0
  403. package/node_modules/@pm2/agent/src/push/DataRetriever.js +77 -0
  404. package/node_modules/@pm2/agent/src/push/PushInteractor.js +206 -0
  405. package/node_modules/@pm2/agent/src/push/TransactionAggregator.js +670 -0
  406. package/node_modules/@pm2/agent/src/reverse/ReverseInteractor.js +128 -0
  407. package/node_modules/@pm2/agent/src/transporters/Transporter.js +129 -0
  408. package/node_modules/@pm2/agent/src/transporters/WebsocketTransport.js +204 -0
  409. package/node_modules/@pm2/agent/src/utils/BinaryHeap.js +135 -0
  410. package/node_modules/@pm2/agent/src/utils/EDS.js +111 -0
  411. package/node_modules/@pm2/agent/src/utils/probes/Histogram.js +204 -0
  412. package/node_modules/@pm2/agent/src/utils/units.js +10 -0
  413. package/node_modules/@pm2/io/.drone.jsonnet +114 -0
  414. package/node_modules/@pm2/io/.mocharc.js +17 -0
  415. package/node_modules/@pm2/io/.vscode/settings.json +3 -0
  416. package/node_modules/@pm2/io/CHANGELOG.md +13 -0
  417. package/node_modules/@pm2/io/LICENSE.md +201 -0
  418. package/node_modules/@pm2/io/NOTES.md +73 -0
  419. package/node_modules/@pm2/io/README.md +574 -0
  420. package/node_modules/@pm2/io/build/main/census/config/default-config.d.ts +8 -0
  421. package/node_modules/@pm2/io/build/main/census/config/default-config.js +12 -0
  422. package/node_modules/@pm2/io/build/main/census/constants.d.ts +9 -0
  423. package/node_modules/@pm2/io/build/main/census/constants.js +12 -0
  424. package/node_modules/@pm2/io/build/main/census/exporter.d.ts +18 -0
  425. package/node_modules/@pm2/io/build/main/census/exporter.js +103 -0
  426. package/node_modules/@pm2/io/build/main/census/instrumentation/ext-types.d.ts +12 -0
  427. package/node_modules/@pm2/io/build/main/census/instrumentation/ext-types.js +1 -0
  428. package/node_modules/@pm2/io/build/main/census/instrumentation/plugin-loader.d.ts +14 -0
  429. package/node_modules/@pm2/io/build/main/census/instrumentation/plugin-loader.js +94 -0
  430. package/node_modules/@pm2/io/build/main/census/plugins/express.d.ts +13 -0
  431. package/node_modules/@pm2/io/build/main/census/plugins/express.js +120 -0
  432. package/node_modules/@pm2/io/build/main/census/plugins/http.d.ts +46 -0
  433. package/node_modules/@pm2/io/build/main/census/plugins/http.js +325 -0
  434. package/node_modules/@pm2/io/build/main/census/plugins/http2.d.ts +17 -0
  435. package/node_modules/@pm2/io/build/main/census/plugins/http2.js +163 -0
  436. package/node_modules/@pm2/io/build/main/census/plugins/https.d.ts +9 -0
  437. package/node_modules/@pm2/io/build/main/census/plugins/https.js +61 -0
  438. package/node_modules/@pm2/io/build/main/census/plugins/ioredis.d.ts +23 -0
  439. package/node_modules/@pm2/io/build/main/census/plugins/ioredis.js +89 -0
  440. package/node_modules/@pm2/io/build/main/census/plugins/mongodb.d.ts +21 -0
  441. package/node_modules/@pm2/io/build/main/census/plugins/mongodb.js +128 -0
  442. package/node_modules/@pm2/io/build/main/census/plugins/mysql.d.ts +21 -0
  443. package/node_modules/@pm2/io/build/main/census/plugins/mysql.js +82 -0
  444. package/node_modules/@pm2/io/build/main/census/plugins/mysql2.d.ts +21 -0
  445. package/node_modules/@pm2/io/build/main/census/plugins/mysql2.js +82 -0
  446. package/node_modules/@pm2/io/build/main/census/plugins/net.d.ts +8 -0
  447. package/node_modules/@pm2/io/build/main/census/plugins/net.js +79 -0
  448. package/node_modules/@pm2/io/build/main/census/plugins/pg.d.ts +23 -0
  449. package/node_modules/@pm2/io/build/main/census/plugins/pg.js +148 -0
  450. package/node_modules/@pm2/io/build/main/census/plugins/redis.d.ts +19 -0
  451. package/node_modules/@pm2/io/build/main/census/plugins/redis.js +114 -0
  452. package/node_modules/@pm2/io/build/main/census/plugins/vue.d.ts +12 -0
  453. package/node_modules/@pm2/io/build/main/census/plugins/vue.js +78 -0
  454. package/node_modules/@pm2/io/build/main/census/tracer.d.ts +19 -0
  455. package/node_modules/@pm2/io/build/main/census/tracer.js +67 -0
  456. package/node_modules/@pm2/io/build/main/configuration.d.ts +6 -0
  457. package/node_modules/@pm2/io/build/main/configuration.js +125 -0
  458. package/node_modules/@pm2/io/build/main/constants.d.ts +5 -0
  459. package/node_modules/@pm2/io/build/main/constants.js +15 -0
  460. package/node_modules/@pm2/io/build/main/featureManager.d.ts +14 -0
  461. package/node_modules/@pm2/io/build/main/featureManager.js +105 -0
  462. package/node_modules/@pm2/io/build/main/features/dependencies.d.ts +7 -0
  463. package/node_modules/@pm2/io/build/main/features/dependencies.js +45 -0
  464. package/node_modules/@pm2/io/build/main/features/entrypoint.d.ts +11 -0
  465. package/node_modules/@pm2/io/build/main/features/entrypoint.js +52 -0
  466. package/node_modules/@pm2/io/build/main/features/events.d.ts +8 -0
  467. package/node_modules/@pm2/io/build/main/features/events.js +44 -0
  468. package/node_modules/@pm2/io/build/main/features/metrics.d.ts +24 -0
  469. package/node_modules/@pm2/io/build/main/features/metrics.js +89 -0
  470. package/node_modules/@pm2/io/build/main/features/notify.d.ts +23 -0
  471. package/node_modules/@pm2/io/build/main/features/notify.js +224 -0
  472. package/node_modules/@pm2/io/build/main/features/profiling.d.ts +18 -0
  473. package/node_modules/@pm2/io/build/main/features/profiling.js +68 -0
  474. package/node_modules/@pm2/io/build/main/features/tracing.d.ts +25 -0
  475. package/node_modules/@pm2/io/build/main/features/tracing.js +149 -0
  476. package/node_modules/@pm2/io/build/main/index.d.ts +3 -0
  477. package/node_modules/@pm2/io/build/main/index.js +8 -0
  478. package/node_modules/@pm2/io/build/main/metrics/eventLoopMetrics.d.ts +17 -0
  479. package/node_modules/@pm2/io/build/main/metrics/eventLoopMetrics.js +128 -0
  480. package/node_modules/@pm2/io/build/main/metrics/httpMetrics.d.ts +18 -0
  481. package/node_modules/@pm2/io/build/main/metrics/httpMetrics.js +178 -0
  482. package/node_modules/@pm2/io/build/main/metrics/network.d.ts +15 -0
  483. package/node_modules/@pm2/io/build/main/metrics/network.js +121 -0
  484. package/node_modules/@pm2/io/build/main/metrics/runtime.d.ts +16 -0
  485. package/node_modules/@pm2/io/build/main/metrics/runtime.js +153 -0
  486. package/node_modules/@pm2/io/build/main/metrics/v8.d.ts +23 -0
  487. package/node_modules/@pm2/io/build/main/metrics/v8.js +100 -0
  488. package/node_modules/@pm2/io/build/main/pmx.d.ts +54 -0
  489. package/node_modules/@pm2/io/build/main/pmx.js +283 -0
  490. package/node_modules/@pm2/io/build/main/profilers/addonProfiler.d.ts +16 -0
  491. package/node_modules/@pm2/io/build/main/profilers/addonProfiler.js +172 -0
  492. package/node_modules/@pm2/io/build/main/profilers/inspectorProfiler.d.ts +18 -0
  493. package/node_modules/@pm2/io/build/main/profilers/inspectorProfiler.js +268 -0
  494. package/node_modules/@pm2/io/build/main/serviceManager.d.ts +7 -0
  495. package/node_modules/@pm2/io/build/main/serviceManager.js +19 -0
  496. package/node_modules/@pm2/io/build/main/services/actions.d.ts +20 -0
  497. package/node_modules/@pm2/io/build/main/services/actions.js +146 -0
  498. package/node_modules/@pm2/io/build/main/services/inspector.d.ts +8 -0
  499. package/node_modules/@pm2/io/build/main/services/inspector.js +42 -0
  500. package/node_modules/@pm2/io/build/main/services/metrics.d.ts +63 -0
  501. package/node_modules/@pm2/io/build/main/services/metrics.js +186 -0
  502. package/node_modules/@pm2/io/build/main/services/runtimeStats.d.ts +10 -0
  503. package/node_modules/@pm2/io/build/main/services/runtimeStats.js +49 -0
  504. package/node_modules/@pm2/io/build/main/services/transport.d.ts +22 -0
  505. package/node_modules/@pm2/io/build/main/services/transport.js +13 -0
  506. package/node_modules/@pm2/io/build/main/transports/IPCTransport.d.ts +17 -0
  507. package/node_modules/@pm2/io/build/main/transports/IPCTransport.js +102 -0
  508. package/node_modules/@pm2/io/build/main/transports/WebsocketTransport.d.ts +0 -0
  509. package/node_modules/@pm2/io/build/main/transports/WebsocketTransport.js +1 -0
  510. package/node_modules/@pm2/io/build/main/utils/BinaryHeap.d.ts +16 -0
  511. package/node_modules/@pm2/io/build/main/utils/BinaryHeap.js +109 -0
  512. package/node_modules/@pm2/io/build/main/utils/EDS.d.ts +21 -0
  513. package/node_modules/@pm2/io/build/main/utils/EDS.js +93 -0
  514. package/node_modules/@pm2/io/build/main/utils/EWMA.d.ts +12 -0
  515. package/node_modules/@pm2/io/build/main/utils/EWMA.js +26 -0
  516. package/node_modules/@pm2/io/build/main/utils/autocast.d.ts +13 -0
  517. package/node_modules/@pm2/io/build/main/utils/autocast.js +49 -0
  518. package/node_modules/@pm2/io/build/main/utils/metrics/counter.d.ts +10 -0
  519. package/node_modules/@pm2/io/build/main/utils/metrics/counter.js +28 -0
  520. package/node_modules/@pm2/io/build/main/utils/metrics/gauge.d.ts +7 -0
  521. package/node_modules/@pm2/io/build/main/utils/metrics/gauge.js +20 -0
  522. package/node_modules/@pm2/io/build/main/utils/metrics/histogram.d.ts +43 -0
  523. package/node_modules/@pm2/io/build/main/utils/metrics/histogram.js +160 -0
  524. package/node_modules/@pm2/io/build/main/utils/metrics/meter.d.ts +12 -0
  525. package/node_modules/@pm2/io/build/main/utils/metrics/meter.js +36 -0
  526. package/node_modules/@pm2/io/build/main/utils/miscellaneous.d.ts +4 -0
  527. package/node_modules/@pm2/io/build/main/utils/miscellaneous.js +17 -0
  528. package/node_modules/@pm2/io/build/main/utils/module.d.ts +5 -0
  529. package/node_modules/@pm2/io/build/main/utils/module.js +53 -0
  530. package/node_modules/@pm2/io/build/main/utils/stackParser.d.ts +37 -0
  531. package/node_modules/@pm2/io/build/main/utils/stackParser.js +125 -0
  532. package/node_modules/@pm2/io/build/main/utils/transactionAggregator.d.ts +74 -0
  533. package/node_modules/@pm2/io/build/main/utils/transactionAggregator.js +317 -0
  534. package/node_modules/@pm2/io/build/main/utils/units.d.ts +10 -0
  535. package/node_modules/@pm2/io/build/main/utils/units.js +16 -0
  536. package/node_modules/@pm2/io/docker-compose.yml +27 -0
  537. package/node_modules/@pm2/io/docs/README.md +106 -0
  538. package/node_modules/@pm2/io/node_modules/.bin/semver +12 -0
  539. package/node_modules/@pm2/io/node_modules/.bin/semver.cmd +17 -0
  540. package/node_modules/@pm2/io/node_modules/.bin/semver.ps1 +28 -0
  541. package/node_modules/@pm2/io/node_modules/async/CHANGELOG.md +275 -0
  542. package/node_modules/@pm2/io/node_modules/async/LICENSE +19 -0
  543. package/node_modules/@pm2/io/node_modules/async/README.md +56 -0
  544. package/node_modules/@pm2/io/node_modules/async/all.js +50 -0
  545. package/node_modules/@pm2/io/node_modules/async/allLimit.js +42 -0
  546. package/node_modules/@pm2/io/node_modules/async/allSeries.js +37 -0
  547. package/node_modules/@pm2/io/node_modules/async/any.js +52 -0
  548. package/node_modules/@pm2/io/node_modules/async/anyLimit.js +43 -0
  549. package/node_modules/@pm2/io/node_modules/async/anySeries.js +38 -0
  550. package/node_modules/@pm2/io/node_modules/async/apply.js +68 -0
  551. package/node_modules/@pm2/io/node_modules/async/applyEach.js +51 -0
  552. package/node_modules/@pm2/io/node_modules/async/applyEachSeries.js +37 -0
  553. package/node_modules/@pm2/io/node_modules/async/asyncify.js +110 -0
  554. package/node_modules/@pm2/io/node_modules/async/auto.js +289 -0
  555. package/node_modules/@pm2/io/node_modules/async/autoInject.js +170 -0
  556. package/node_modules/@pm2/io/node_modules/async/bower.json +17 -0
  557. package/node_modules/@pm2/io/node_modules/async/cargo.js +94 -0
  558. package/node_modules/@pm2/io/node_modules/async/compose.js +58 -0
  559. package/node_modules/@pm2/io/node_modules/async/concat.js +43 -0
  560. package/node_modules/@pm2/io/node_modules/async/concatLimit.js +65 -0
  561. package/node_modules/@pm2/io/node_modules/async/concatSeries.js +36 -0
  562. package/node_modules/@pm2/io/node_modules/async/constant.js +66 -0
  563. package/node_modules/@pm2/io/node_modules/async/detect.js +61 -0
  564. package/node_modules/@pm2/io/node_modules/async/detectLimit.js +48 -0
  565. package/node_modules/@pm2/io/node_modules/async/detectSeries.js +38 -0
  566. package/node_modules/@pm2/io/node_modules/async/dir.js +43 -0
  567. package/node_modules/@pm2/io/node_modules/async/doDuring.js +66 -0
  568. package/node_modules/@pm2/io/node_modules/async/doUntil.js +39 -0
  569. package/node_modules/@pm2/io/node_modules/async/doWhilst.js +59 -0
  570. package/node_modules/@pm2/io/node_modules/async/during.js +76 -0
  571. package/node_modules/@pm2/io/node_modules/async/each.js +82 -0
  572. package/node_modules/@pm2/io/node_modules/async/eachLimit.js +45 -0
  573. package/node_modules/@pm2/io/node_modules/async/eachOf.js +111 -0
  574. package/node_modules/@pm2/io/node_modules/async/eachOfLimit.js +41 -0
  575. package/node_modules/@pm2/io/node_modules/async/eachOfSeries.js +35 -0
  576. package/node_modules/@pm2/io/node_modules/async/eachSeries.js +37 -0
  577. package/node_modules/@pm2/io/node_modules/async/ensureAsync.js +73 -0
  578. package/node_modules/@pm2/io/node_modules/async/every.js +50 -0
  579. package/node_modules/@pm2/io/node_modules/async/everyLimit.js +42 -0
  580. package/node_modules/@pm2/io/node_modules/async/everySeries.js +37 -0
  581. package/node_modules/@pm2/io/node_modules/async/filter.js +45 -0
  582. package/node_modules/@pm2/io/node_modules/async/filterLimit.js +37 -0
  583. package/node_modules/@pm2/io/node_modules/async/filterSeries.js +35 -0
  584. package/node_modules/@pm2/io/node_modules/async/find.js +61 -0
  585. package/node_modules/@pm2/io/node_modules/async/findLimit.js +48 -0
  586. package/node_modules/@pm2/io/node_modules/async/findSeries.js +38 -0
  587. package/node_modules/@pm2/io/node_modules/async/foldl.js +78 -0
  588. package/node_modules/@pm2/io/node_modules/async/foldr.js +44 -0
  589. package/node_modules/@pm2/io/node_modules/async/forEach.js +82 -0
  590. package/node_modules/@pm2/io/node_modules/async/forEachLimit.js +45 -0
  591. package/node_modules/@pm2/io/node_modules/async/forEachOf.js +111 -0
  592. package/node_modules/@pm2/io/node_modules/async/forEachOfLimit.js +41 -0
  593. package/node_modules/@pm2/io/node_modules/async/forEachOfSeries.js +35 -0
  594. package/node_modules/@pm2/io/node_modules/async/forEachSeries.js +37 -0
  595. package/node_modules/@pm2/io/node_modules/async/forever.js +65 -0
  596. package/node_modules/@pm2/io/node_modules/async/groupBy.js +54 -0
  597. package/node_modules/@pm2/io/node_modules/async/groupByLimit.js +71 -0
  598. package/node_modules/@pm2/io/node_modules/async/groupBySeries.js +37 -0
  599. package/node_modules/@pm2/io/node_modules/async/index.js +582 -0
  600. package/node_modules/@pm2/io/node_modules/async/inject.js +78 -0
  601. package/node_modules/@pm2/io/node_modules/async/internal/DoublyLinkedList.js +88 -0
  602. package/node_modules/@pm2/io/node_modules/async/internal/applyEach.js +38 -0
  603. package/node_modules/@pm2/io/node_modules/async/internal/breakLoop.js +9 -0
  604. package/node_modules/@pm2/io/node_modules/async/internal/consoleFunc.js +42 -0
  605. package/node_modules/@pm2/io/node_modules/async/internal/createTester.js +44 -0
  606. package/node_modules/@pm2/io/node_modules/async/internal/doLimit.js +12 -0
  607. package/node_modules/@pm2/io/node_modules/async/internal/doParallel.js +23 -0
  608. package/node_modules/@pm2/io/node_modules/async/internal/doParallelLimit.js +23 -0
  609. package/node_modules/@pm2/io/node_modules/async/internal/eachOfLimit.js +74 -0
  610. package/node_modules/@pm2/io/node_modules/async/internal/filter.js +75 -0
  611. package/node_modules/@pm2/io/node_modules/async/internal/findGetResult.js +10 -0
  612. package/node_modules/@pm2/io/node_modules/async/internal/getIterator.js +13 -0
  613. package/node_modules/@pm2/io/node_modules/async/internal/initialParams.js +21 -0
  614. package/node_modules/@pm2/io/node_modules/async/internal/iterator.js +58 -0
  615. package/node_modules/@pm2/io/node_modules/async/internal/map.js +35 -0
  616. package/node_modules/@pm2/io/node_modules/async/internal/notId.js +10 -0
  617. package/node_modules/@pm2/io/node_modules/async/internal/once.js +15 -0
  618. package/node_modules/@pm2/io/node_modules/async/internal/onlyOnce.js +15 -0
  619. package/node_modules/@pm2/io/node_modules/async/internal/parallel.js +42 -0
  620. package/node_modules/@pm2/io/node_modules/async/internal/queue.js +204 -0
  621. package/node_modules/@pm2/io/node_modules/async/internal/reject.js +21 -0
  622. package/node_modules/@pm2/io/node_modules/async/internal/setImmediate.js +42 -0
  623. package/node_modules/@pm2/io/node_modules/async/internal/slice.js +16 -0
  624. package/node_modules/@pm2/io/node_modules/async/internal/withoutIndex.js +12 -0
  625. package/node_modules/@pm2/io/node_modules/async/internal/wrapAsync.js +25 -0
  626. package/node_modules/@pm2/io/node_modules/async/log.js +41 -0
  627. package/node_modules/@pm2/io/node_modules/async/map.js +54 -0
  628. package/node_modules/@pm2/io/node_modules/async/mapLimit.js +37 -0
  629. package/node_modules/@pm2/io/node_modules/async/mapSeries.js +36 -0
  630. package/node_modules/@pm2/io/node_modules/async/mapValues.js +63 -0
  631. package/node_modules/@pm2/io/node_modules/async/mapValuesLimit.js +61 -0
  632. package/node_modules/@pm2/io/node_modules/async/mapValuesSeries.js +37 -0
  633. package/node_modules/@pm2/io/node_modules/async/memoize.js +101 -0
  634. package/node_modules/@pm2/io/node_modules/async/nextTick.js +51 -0
  635. package/node_modules/@pm2/io/node_modules/async/package.json +80 -0
  636. package/node_modules/@pm2/io/node_modules/async/parallel.js +90 -0
  637. package/node_modules/@pm2/io/node_modules/async/parallelLimit.js +40 -0
  638. package/node_modules/@pm2/io/node_modules/async/priorityQueue.js +98 -0
  639. package/node_modules/@pm2/io/node_modules/async/queue.js +130 -0
  640. package/node_modules/@pm2/io/node_modules/async/race.js +70 -0
  641. package/node_modules/@pm2/io/node_modules/async/reduce.js +78 -0
  642. package/node_modules/@pm2/io/node_modules/async/reduceRight.js +44 -0
  643. package/node_modules/@pm2/io/node_modules/async/reflect.js +81 -0
  644. package/node_modules/@pm2/io/node_modules/async/reflectAll.js +105 -0
  645. package/node_modules/@pm2/io/node_modules/async/reject.js +45 -0
  646. package/node_modules/@pm2/io/node_modules/async/rejectLimit.js +37 -0
  647. package/node_modules/@pm2/io/node_modules/async/rejectSeries.js +35 -0
  648. package/node_modules/@pm2/io/node_modules/async/retry.js +156 -0
  649. package/node_modules/@pm2/io/node_modules/async/retryable.js +65 -0
  650. package/node_modules/@pm2/io/node_modules/async/select.js +45 -0
  651. package/node_modules/@pm2/io/node_modules/async/selectLimit.js +37 -0
  652. package/node_modules/@pm2/io/node_modules/async/selectSeries.js +35 -0
  653. package/node_modules/@pm2/io/node_modules/async/seq.js +91 -0
  654. package/node_modules/@pm2/io/node_modules/async/series.js +85 -0
  655. package/node_modules/@pm2/io/node_modules/async/setImmediate.js +45 -0
  656. package/node_modules/@pm2/io/node_modules/async/some.js +52 -0
  657. package/node_modules/@pm2/io/node_modules/async/someLimit.js +43 -0
  658. package/node_modules/@pm2/io/node_modules/async/someSeries.js +38 -0
  659. package/node_modules/@pm2/io/node_modules/async/sortBy.js +91 -0
  660. package/node_modules/@pm2/io/node_modules/async/timeout.js +89 -0
  661. package/node_modules/@pm2/io/node_modules/async/times.js +50 -0
  662. package/node_modules/@pm2/io/node_modules/async/timesLimit.js +42 -0
  663. package/node_modules/@pm2/io/node_modules/async/timesSeries.js +32 -0
  664. package/node_modules/@pm2/io/node_modules/async/transform.js +87 -0
  665. package/node_modules/@pm2/io/node_modules/async/tryEach.js +81 -0
  666. package/node_modules/@pm2/io/node_modules/async/unmemoize.js +25 -0
  667. package/node_modules/@pm2/io/node_modules/async/until.js +41 -0
  668. package/node_modules/@pm2/io/node_modules/async/waterfall.js +113 -0
  669. package/node_modules/@pm2/io/node_modules/async/whilst.js +72 -0
  670. package/node_modules/@pm2/io/node_modules/async/wrapSync.js +110 -0
  671. package/node_modules/@pm2/io/node_modules/eventemitter2/CHANGELOG.md +122 -0
  672. package/node_modules/@pm2/io/node_modules/eventemitter2/LICENSE.txt +21 -0
  673. package/node_modules/@pm2/io/node_modules/eventemitter2/README.md +809 -0
  674. package/node_modules/@pm2/io/node_modules/eventemitter2/eventemitter2.d.ts +150 -0
  675. package/node_modules/@pm2/io/node_modules/eventemitter2/index.js +1 -0
  676. package/node_modules/@pm2/io/node_modules/eventemitter2/lib/eventemitter2.js +1629 -0
  677. package/node_modules/@pm2/io/node_modules/eventemitter2/package.json +89 -0
  678. package/node_modules/@pm2/io/node_modules/semver/CHANGELOG.md +70 -0
  679. package/node_modules/@pm2/io/node_modules/semver/LICENSE +15 -0
  680. package/node_modules/@pm2/io/node_modules/semver/README.md +443 -0
  681. package/node_modules/@pm2/io/node_modules/semver/bin/semver.js +174 -0
  682. package/node_modules/@pm2/io/node_modules/semver/package.json +28 -0
  683. package/node_modules/@pm2/io/node_modules/semver/range.bnf +16 -0
  684. package/node_modules/@pm2/io/node_modules/semver/semver.js +1596 -0
  685. package/node_modules/@pm2/io/package.json +97 -0
  686. package/node_modules/@pm2/io/pres/io-black.png +0 -0
  687. package/node_modules/@pm2/io/pres/io-white.png +0 -0
  688. package/node_modules/@pm2/io/test.sh +67 -0
  689. package/node_modules/@pm2/js-api/.drone.jsonnet +100 -0
  690. package/node_modules/@pm2/js-api/LICENSE +201 -0
  691. package/node_modules/@pm2/js-api/README.md +375 -0
  692. package/node_modules/@pm2/js-api/constants.js +21 -0
  693. package/node_modules/@pm2/js-api/index.js +1 -0
  694. package/node_modules/@pm2/js-api/node_modules/async/CHANGELOG.md +275 -0
  695. package/node_modules/@pm2/js-api/node_modules/async/LICENSE +19 -0
  696. package/node_modules/@pm2/js-api/node_modules/async/README.md +56 -0
  697. package/node_modules/@pm2/js-api/node_modules/async/all.js +50 -0
  698. package/node_modules/@pm2/js-api/node_modules/async/allLimit.js +42 -0
  699. package/node_modules/@pm2/js-api/node_modules/async/allSeries.js +37 -0
  700. package/node_modules/@pm2/js-api/node_modules/async/any.js +52 -0
  701. package/node_modules/@pm2/js-api/node_modules/async/anyLimit.js +43 -0
  702. package/node_modules/@pm2/js-api/node_modules/async/anySeries.js +38 -0
  703. package/node_modules/@pm2/js-api/node_modules/async/apply.js +68 -0
  704. package/node_modules/@pm2/js-api/node_modules/async/applyEach.js +51 -0
  705. package/node_modules/@pm2/js-api/node_modules/async/applyEachSeries.js +37 -0
  706. package/node_modules/@pm2/js-api/node_modules/async/asyncify.js +110 -0
  707. package/node_modules/@pm2/js-api/node_modules/async/auto.js +289 -0
  708. package/node_modules/@pm2/js-api/node_modules/async/autoInject.js +170 -0
  709. package/node_modules/@pm2/js-api/node_modules/async/bower.json +17 -0
  710. package/node_modules/@pm2/js-api/node_modules/async/cargo.js +94 -0
  711. package/node_modules/@pm2/js-api/node_modules/async/compose.js +58 -0
  712. package/node_modules/@pm2/js-api/node_modules/async/concat.js +43 -0
  713. package/node_modules/@pm2/js-api/node_modules/async/concatLimit.js +65 -0
  714. package/node_modules/@pm2/js-api/node_modules/async/concatSeries.js +36 -0
  715. package/node_modules/@pm2/js-api/node_modules/async/constant.js +66 -0
  716. package/node_modules/@pm2/js-api/node_modules/async/detect.js +61 -0
  717. package/node_modules/@pm2/js-api/node_modules/async/detectLimit.js +48 -0
  718. package/node_modules/@pm2/js-api/node_modules/async/detectSeries.js +38 -0
  719. package/node_modules/@pm2/js-api/node_modules/async/dir.js +43 -0
  720. package/node_modules/@pm2/js-api/node_modules/async/doDuring.js +66 -0
  721. package/node_modules/@pm2/js-api/node_modules/async/doUntil.js +39 -0
  722. package/node_modules/@pm2/js-api/node_modules/async/doWhilst.js +59 -0
  723. package/node_modules/@pm2/js-api/node_modules/async/during.js +76 -0
  724. package/node_modules/@pm2/js-api/node_modules/async/each.js +82 -0
  725. package/node_modules/@pm2/js-api/node_modules/async/eachLimit.js +45 -0
  726. package/node_modules/@pm2/js-api/node_modules/async/eachOf.js +111 -0
  727. package/node_modules/@pm2/js-api/node_modules/async/eachOfLimit.js +41 -0
  728. package/node_modules/@pm2/js-api/node_modules/async/eachOfSeries.js +35 -0
  729. package/node_modules/@pm2/js-api/node_modules/async/eachSeries.js +37 -0
  730. package/node_modules/@pm2/js-api/node_modules/async/ensureAsync.js +73 -0
  731. package/node_modules/@pm2/js-api/node_modules/async/every.js +50 -0
  732. package/node_modules/@pm2/js-api/node_modules/async/everyLimit.js +42 -0
  733. package/node_modules/@pm2/js-api/node_modules/async/everySeries.js +37 -0
  734. package/node_modules/@pm2/js-api/node_modules/async/filter.js +45 -0
  735. package/node_modules/@pm2/js-api/node_modules/async/filterLimit.js +37 -0
  736. package/node_modules/@pm2/js-api/node_modules/async/filterSeries.js +35 -0
  737. package/node_modules/@pm2/js-api/node_modules/async/find.js +61 -0
  738. package/node_modules/@pm2/js-api/node_modules/async/findLimit.js +48 -0
  739. package/node_modules/@pm2/js-api/node_modules/async/findSeries.js +38 -0
  740. package/node_modules/@pm2/js-api/node_modules/async/foldl.js +78 -0
  741. package/node_modules/@pm2/js-api/node_modules/async/foldr.js +44 -0
  742. package/node_modules/@pm2/js-api/node_modules/async/forEach.js +82 -0
  743. package/node_modules/@pm2/js-api/node_modules/async/forEachLimit.js +45 -0
  744. package/node_modules/@pm2/js-api/node_modules/async/forEachOf.js +111 -0
  745. package/node_modules/@pm2/js-api/node_modules/async/forEachOfLimit.js +41 -0
  746. package/node_modules/@pm2/js-api/node_modules/async/forEachOfSeries.js +35 -0
  747. package/node_modules/@pm2/js-api/node_modules/async/forEachSeries.js +37 -0
  748. package/node_modules/@pm2/js-api/node_modules/async/forever.js +65 -0
  749. package/node_modules/@pm2/js-api/node_modules/async/groupBy.js +54 -0
  750. package/node_modules/@pm2/js-api/node_modules/async/groupByLimit.js +71 -0
  751. package/node_modules/@pm2/js-api/node_modules/async/groupBySeries.js +37 -0
  752. package/node_modules/@pm2/js-api/node_modules/async/index.js +582 -0
  753. package/node_modules/@pm2/js-api/node_modules/async/inject.js +78 -0
  754. package/node_modules/@pm2/js-api/node_modules/async/internal/DoublyLinkedList.js +88 -0
  755. package/node_modules/@pm2/js-api/node_modules/async/internal/applyEach.js +38 -0
  756. package/node_modules/@pm2/js-api/node_modules/async/internal/breakLoop.js +9 -0
  757. package/node_modules/@pm2/js-api/node_modules/async/internal/consoleFunc.js +42 -0
  758. package/node_modules/@pm2/js-api/node_modules/async/internal/createTester.js +44 -0
  759. package/node_modules/@pm2/js-api/node_modules/async/internal/doLimit.js +12 -0
  760. package/node_modules/@pm2/js-api/node_modules/async/internal/doParallel.js +23 -0
  761. package/node_modules/@pm2/js-api/node_modules/async/internal/doParallelLimit.js +23 -0
  762. package/node_modules/@pm2/js-api/node_modules/async/internal/eachOfLimit.js +74 -0
  763. package/node_modules/@pm2/js-api/node_modules/async/internal/filter.js +75 -0
  764. package/node_modules/@pm2/js-api/node_modules/async/internal/findGetResult.js +10 -0
  765. package/node_modules/@pm2/js-api/node_modules/async/internal/getIterator.js +13 -0
  766. package/node_modules/@pm2/js-api/node_modules/async/internal/initialParams.js +21 -0
  767. package/node_modules/@pm2/js-api/node_modules/async/internal/iterator.js +58 -0
  768. package/node_modules/@pm2/js-api/node_modules/async/internal/map.js +35 -0
  769. package/node_modules/@pm2/js-api/node_modules/async/internal/notId.js +10 -0
  770. package/node_modules/@pm2/js-api/node_modules/async/internal/once.js +15 -0
  771. package/node_modules/@pm2/js-api/node_modules/async/internal/onlyOnce.js +15 -0
  772. package/node_modules/@pm2/js-api/node_modules/async/internal/parallel.js +42 -0
  773. package/node_modules/@pm2/js-api/node_modules/async/internal/queue.js +204 -0
  774. package/node_modules/@pm2/js-api/node_modules/async/internal/reject.js +21 -0
  775. package/node_modules/@pm2/js-api/node_modules/async/internal/setImmediate.js +42 -0
  776. package/node_modules/@pm2/js-api/node_modules/async/internal/slice.js +16 -0
  777. package/node_modules/@pm2/js-api/node_modules/async/internal/withoutIndex.js +12 -0
  778. package/node_modules/@pm2/js-api/node_modules/async/internal/wrapAsync.js +25 -0
  779. package/node_modules/@pm2/js-api/node_modules/async/log.js +41 -0
  780. package/node_modules/@pm2/js-api/node_modules/async/map.js +54 -0
  781. package/node_modules/@pm2/js-api/node_modules/async/mapLimit.js +37 -0
  782. package/node_modules/@pm2/js-api/node_modules/async/mapSeries.js +36 -0
  783. package/node_modules/@pm2/js-api/node_modules/async/mapValues.js +63 -0
  784. package/node_modules/@pm2/js-api/node_modules/async/mapValuesLimit.js +61 -0
  785. package/node_modules/@pm2/js-api/node_modules/async/mapValuesSeries.js +37 -0
  786. package/node_modules/@pm2/js-api/node_modules/async/memoize.js +101 -0
  787. package/node_modules/@pm2/js-api/node_modules/async/nextTick.js +51 -0
  788. package/node_modules/@pm2/js-api/node_modules/async/package.json +80 -0
  789. package/node_modules/@pm2/js-api/node_modules/async/parallel.js +90 -0
  790. package/node_modules/@pm2/js-api/node_modules/async/parallelLimit.js +40 -0
  791. package/node_modules/@pm2/js-api/node_modules/async/priorityQueue.js +98 -0
  792. package/node_modules/@pm2/js-api/node_modules/async/queue.js +130 -0
  793. package/node_modules/@pm2/js-api/node_modules/async/race.js +70 -0
  794. package/node_modules/@pm2/js-api/node_modules/async/reduce.js +78 -0
  795. package/node_modules/@pm2/js-api/node_modules/async/reduceRight.js +44 -0
  796. package/node_modules/@pm2/js-api/node_modules/async/reflect.js +81 -0
  797. package/node_modules/@pm2/js-api/node_modules/async/reflectAll.js +105 -0
  798. package/node_modules/@pm2/js-api/node_modules/async/reject.js +45 -0
  799. package/node_modules/@pm2/js-api/node_modules/async/rejectLimit.js +37 -0
  800. package/node_modules/@pm2/js-api/node_modules/async/rejectSeries.js +35 -0
  801. package/node_modules/@pm2/js-api/node_modules/async/retry.js +156 -0
  802. package/node_modules/@pm2/js-api/node_modules/async/retryable.js +65 -0
  803. package/node_modules/@pm2/js-api/node_modules/async/select.js +45 -0
  804. package/node_modules/@pm2/js-api/node_modules/async/selectLimit.js +37 -0
  805. package/node_modules/@pm2/js-api/node_modules/async/selectSeries.js +35 -0
  806. package/node_modules/@pm2/js-api/node_modules/async/seq.js +91 -0
  807. package/node_modules/@pm2/js-api/node_modules/async/series.js +85 -0
  808. package/node_modules/@pm2/js-api/node_modules/async/setImmediate.js +45 -0
  809. package/node_modules/@pm2/js-api/node_modules/async/some.js +52 -0
  810. package/node_modules/@pm2/js-api/node_modules/async/someLimit.js +43 -0
  811. package/node_modules/@pm2/js-api/node_modules/async/someSeries.js +38 -0
  812. package/node_modules/@pm2/js-api/node_modules/async/sortBy.js +91 -0
  813. package/node_modules/@pm2/js-api/node_modules/async/timeout.js +89 -0
  814. package/node_modules/@pm2/js-api/node_modules/async/times.js +50 -0
  815. package/node_modules/@pm2/js-api/node_modules/async/timesLimit.js +42 -0
  816. package/node_modules/@pm2/js-api/node_modules/async/timesSeries.js +32 -0
  817. package/node_modules/@pm2/js-api/node_modules/async/transform.js +87 -0
  818. package/node_modules/@pm2/js-api/node_modules/async/tryEach.js +81 -0
  819. package/node_modules/@pm2/js-api/node_modules/async/unmemoize.js +25 -0
  820. package/node_modules/@pm2/js-api/node_modules/async/until.js +41 -0
  821. package/node_modules/@pm2/js-api/node_modules/async/waterfall.js +113 -0
  822. package/node_modules/@pm2/js-api/node_modules/async/whilst.js +72 -0
  823. package/node_modules/@pm2/js-api/node_modules/async/wrapSync.js +110 -0
  824. package/node_modules/@pm2/js-api/node_modules/eventemitter2/CHANGELOG.md +122 -0
  825. package/node_modules/@pm2/js-api/node_modules/eventemitter2/LICENSE.txt +21 -0
  826. package/node_modules/@pm2/js-api/node_modules/eventemitter2/README.md +809 -0
  827. package/node_modules/@pm2/js-api/node_modules/eventemitter2/eventemitter2.d.ts +150 -0
  828. package/node_modules/@pm2/js-api/node_modules/eventemitter2/index.js +1 -0
  829. package/node_modules/@pm2/js-api/node_modules/eventemitter2/lib/eventemitter2.js +1629 -0
  830. package/node_modules/@pm2/js-api/node_modules/eventemitter2/package.json +89 -0
  831. package/node_modules/@pm2/js-api/package.json +77 -0
  832. package/node_modules/@pm2/js-api/src/api_mappings.json +1 -0
  833. package/node_modules/@pm2/js-api/src/auth_strategies/browser_strategy.js +67 -0
  834. package/node_modules/@pm2/js-api/src/auth_strategies/embed_strategy.js +138 -0
  835. package/node_modules/@pm2/js-api/src/auth_strategies/standalone_strategy.js +33 -0
  836. package/node_modules/@pm2/js-api/src/auth_strategies/strategy.js +57 -0
  837. package/node_modules/@pm2/js-api/src/endpoint.js +34 -0
  838. package/node_modules/@pm2/js-api/src/keymetrics.js +78 -0
  839. package/node_modules/@pm2/js-api/src/namespace.js +76 -0
  840. package/node_modules/@pm2/js-api/src/network.js +464 -0
  841. package/node_modules/@pm2/js-api/src/utils/validator.js +164 -0
  842. package/node_modules/@pm2/js-api/src/utils/websocket.js +181 -0
  843. package/node_modules/@pm2/pm2-version-check/README.md +8 -0
  844. package/node_modules/@pm2/pm2-version-check/index.js +54 -0
  845. package/node_modules/@pm2/pm2-version-check/package.json +11 -0
  846. package/node_modules/@tootallnate/once/package.json +45 -0
  847. package/node_modules/@types/json5/README.md +18 -0
  848. package/node_modules/@types/json5/index.d.ts +44 -0
  849. package/node_modules/@types/json5/package.json +16 -0
  850. package/node_modules/@types/json5/types-metadata.json +25 -0
  851. package/package.json +2 -2
  852. package/server-config.json +3 -0
  853. package/server.js +190 -181
@@ -0,0 +1,670 @@
1
+ 'use strict'
2
+
3
+ const cst = require('../../constants.js')
4
+ const log = require('debug')('interactor:aggregator')
5
+ const Utility = require('../Utility.js')
6
+ const fclone = require('fclone')
7
+ const Histogram = require('../utils/probes/Histogram')
8
+
9
+ /**
10
+ *
11
+ * # Data structure sent to interactor
12
+ *
13
+ * {
14
+ * 'process_name': {
15
+ * process : {}, // PM2 process meta data
16
+ * data : {
17
+ * routes : [ // array of all routes ordered by count
18
+ * {
19
+ * path: '/', // path of the route
20
+ * meta: {
21
+ * count: 50, // count of this route
22
+ * max: 300, // max latency of this route
23
+ * min: 50, // min latency of this route
24
+ * mean: 120 // mean latency of this route
25
+ * }
26
+ * variances: [{ // array of variance order by count
27
+ * spans : [
28
+ * ... // transactions
29
+ * ],
30
+ * count: 50, // count of this variance
31
+ * max: 300, // max latency of this variance
32
+ * min: 50, // min latency of this variance
33
+ * mean: 120 // mean latency of this variance
34
+ * }]
35
+ * }
36
+ * ],
37
+ * meta : {
38
+ * trace_count : 50, // trace number
39
+ * mean_latency : 40, // global app latency in ms
40
+ * http_meter : 30, // global app req per minutes
41
+ * db_meter : 20, // number of database transaction per min
42
+ * }
43
+ * }
44
+ * }
45
+ * }
46
+ */
47
+
48
+ module.exports = class TransactionAggregator {
49
+ constructor (pushInteractor) {
50
+ this.processes = {}
51
+ this.stackParser = pushInteractor._stackParser
52
+ this.pushInteractor = pushInteractor
53
+
54
+ this.LABELS = {
55
+ 'HTTP_RESPONSE_CODE_LABEL_KEY': 'http/status_code',
56
+ 'HTTP_URL_LABEL_KEY': 'http/url',
57
+ 'HTTP_METHOD_LABEL_KEY': 'http/method',
58
+ 'HTTP_RESPONSE_SIZE_LABEL_KEY': 'http/response/size',
59
+ 'STACK_TRACE_DETAILS_KEY': 'stacktrace',
60
+ 'ERROR_DETAILS_NAME': 'error/name',
61
+ 'ERROR_DETAILS_MESSAGE': 'error/message',
62
+ 'HTTP_SOURCE_IP': 'http/source/ip',
63
+ 'HTTP_PATH_LABEL_KEY': 'http/path'
64
+ }
65
+ this.SPANS_DB = ['redis', 'mysql', 'pg', 'mongo', 'outbound_http']
66
+ this.REGEX_JSON_CLEANUP = /":(?!\[|{)\\"[^"]*\\"|":(["'])(?:(?=(\\?))\2.)*?\1|":(?!\[|{)[^,}\]]*|":\[[^{]*]/g
67
+
68
+ this.init()
69
+ }
70
+
71
+ /**
72
+ * First method to call in real environment
73
+ * - Listen to restart event for initialization period
74
+ * - Clear aggregation on process stop
75
+ * - Launch worker to attach data to be pushed to KM
76
+ */
77
+ init () {
78
+ // New Process Online, reset & wait a bit before processing
79
+ this.pushInteractor._ipm2.bus.on('process:event', (data) => {
80
+ if (data.event !== 'online' || !this.processes[data.process.name]) return false
81
+
82
+ let rev = (data.process.versioning && data.process.versioning.revision)
83
+ ? data.process.versioning.revision : null
84
+
85
+ this.resetAggregation(data.process.name, {
86
+ rev: rev,
87
+ server: this.pushInteractor.opts.MACHINE_NAME
88
+ })
89
+ })
90
+
91
+ // Process getting offline, delete aggregation
92
+ this.pushInteractor._ipm2.bus.on('process:event', (data) => {
93
+ if (data.event !== 'stop' || !this.processes[data.process.name]) return false
94
+ log('Deleting aggregation for %s', data.process.name)
95
+ delete this.processes[data.process.name]
96
+ })
97
+
98
+ this.launchWorker()
99
+ }
100
+
101
+ /**
102
+ * Reset aggregation for target app_name
103
+ */
104
+ resetAggregation (appName, meta) {
105
+ log('Reseting agg for app:%s meta:%j', appName, meta)
106
+
107
+ if (this.processes[appName].initialization_timeout) {
108
+ log('Reseting initialization timeout app:%s', appName)
109
+ clearTimeout(this.processes[appName].initialization_timeout)
110
+ clearInterval(this.processes[appName].notifier)
111
+ this.processes[appName].notifier = null
112
+ }
113
+
114
+ this.processes[appName] = this.initializeRouteMeta({
115
+ name: appName,
116
+ rev: meta.rev,
117
+ server: meta.server
118
+ })
119
+
120
+ let start = Date.now()
121
+ this.processes[appName].notifier = setInterval(_ => {
122
+ let elapsed = Date.now() - start
123
+ // failsafe
124
+ if (elapsed / 1000 > cst.AGGREGATION_DURATION) {
125
+ clearInterval(this.processes[appName].notifier)
126
+ this.processes[appName].notifier = null
127
+ }
128
+
129
+ let msg = {
130
+ data: {
131
+ learning_duration: cst.AGGREGATION_DURATION,
132
+ elapsed: elapsed
133
+ },
134
+ process: this.processes[appName].process
135
+ }
136
+ this.pushInteractor && this.pushInteractor.transport.send('axm:transaction:learning', msg)
137
+ }, 5000)
138
+
139
+ this.processes[appName].initialization_timeout = setTimeout(_ => {
140
+ log('Initialization timeout finished for app:%s', appName)
141
+ clearInterval(this.processes[appName].notifier)
142
+ this.processes[appName].notifier = null
143
+ this.processes[appName].initialization_timeout = null
144
+ }, cst.AGGREGATION_DURATION)
145
+ }
146
+
147
+ /**
148
+ * Clear aggregated data for all process
149
+ */
150
+ clearData () {
151
+ Object.keys(this.processes).forEach((process) => {
152
+ this.resetAggregation(process, this.processes[process].process)
153
+ })
154
+ }
155
+
156
+ /**
157
+ * Generate new entry for application
158
+ *
159
+ * @param {Object} process process meta
160
+ */
161
+ initializeRouteMeta (process) {
162
+ if (process.pm_id) delete process.pm_id
163
+
164
+ return {
165
+ routes: {},
166
+ meta: {
167
+ trace_count: 0,
168
+ http_meter: new Utility.EWMA(),
169
+ db_meter: new Utility.EWMA(),
170
+ histogram: new Histogram({ measurement: 'median' }),
171
+ db_histograms: {}
172
+ },
173
+ process: process
174
+ }
175
+ }
176
+
177
+ getAggregation () {
178
+ return this.processes
179
+ }
180
+
181
+ validateData (packet) {
182
+ if (!packet || !packet.data) {
183
+ log('Packet malformated', packet)
184
+ return false
185
+ }
186
+
187
+ if (!packet.process) {
188
+ log('Got packet without process: %j', packet)
189
+ return false
190
+ }
191
+
192
+ if (!packet.data.spans || !packet.data.spans[0]) {
193
+ log('Trace without spans: %s', Object.keys(packet.data))
194
+ return false
195
+ }
196
+
197
+ if (!packet.data.spans[0].labels) {
198
+ log('Trace spans without labels: %s', Object.keys(packet.data.spans))
199
+ return false
200
+ }
201
+
202
+ return true
203
+ }
204
+
205
+ /**
206
+ * Main method to aggregate and compute stats for traces
207
+ *
208
+ * @param {Object} packet
209
+ * @param {Object} packet.process process metadata
210
+ * @param {Object} packet.data trace
211
+ */
212
+ aggregate (packet) {
213
+ if (this.validateData(packet) === false) return false
214
+
215
+ const newTrace = packet.data
216
+ const appName = packet.process.name
217
+
218
+ if (!this.processes[appName]) {
219
+ this.processes[appName] = this.initializeRouteMeta(packet.process)
220
+ }
221
+
222
+ let process = this.processes[appName]
223
+
224
+ // Get http path of current span
225
+ let path = newTrace.spans[0].labels[this.LABELS.HTTP_PATH_LABEL_KEY]
226
+ if (!path) return false
227
+
228
+ // Cleanup spans
229
+ this.censorSpans(newTrace.spans)
230
+
231
+ // remove spans with startTime == endTime
232
+ newTrace.spans = newTrace.spans.filter((span) => {
233
+ return span.endTime !== span.startTime
234
+ })
235
+
236
+ // compute duration of child spans
237
+ newTrace.spans.forEach((span) => {
238
+ span.mean = Math.round(new Date(span.endTime) - new Date(span.startTime))
239
+ delete span.endTime
240
+ })
241
+
242
+ // Update app meta (mean_latency, http_meter, db_meter, trace_count)
243
+ newTrace.spans.forEach((span) => {
244
+ if (!span.name || !span.kind) return false
245
+
246
+ if (span.kind === 'RPC_SERVER') {
247
+ process.meta.histogram.update(span.mean)
248
+ return process.meta.http_meter.update()
249
+ }
250
+
251
+ // Override outbount http queries for processing
252
+ if (span.labels && span.labels['http/method'] && span.labels['http/status_code']) {
253
+ span.labels['service'] = span.name
254
+ span.name = 'outbound_http'
255
+ }
256
+
257
+ for (let i = 0, len = this.SPANS_DB.length; i < len; i++) {
258
+ if (span.name.indexOf(this.SPANS_DB[i]) > -1) {
259
+ process.meta.db_meter.update()
260
+ if (!process.meta.db_histograms[this.SPANS_DB[i]]) {
261
+ process.meta.db_histograms[this.SPANS_DB[i]] = new Histogram({ measurement: 'mean' })
262
+ }
263
+ process.meta.db_histograms[this.SPANS_DB[i]].update(span.mean)
264
+ break
265
+ }
266
+ }
267
+ })
268
+
269
+ process.meta.trace_count++
270
+
271
+ /**
272
+ * Handle traces aggregation
273
+ */
274
+ if (path[0] === '/' && path !== '/') {
275
+ path = path.substr(1, path.length - 1)
276
+ }
277
+
278
+ let matched = this.matchPath(path, process.routes)
279
+
280
+ if (!matched) {
281
+ process.routes[path] = []
282
+ this.mergeTrace(process.routes[path], newTrace, process)
283
+ } else {
284
+ this.mergeTrace(process.routes[matched], newTrace, process)
285
+ }
286
+
287
+ return this.processes
288
+ }
289
+
290
+ /**
291
+ * Merge new trace and compute mean, min, max, count
292
+ *
293
+ * @param {Object} aggregated previous aggregated route
294
+ * @param {Object} trace
295
+ */
296
+ mergeTrace (aggregated, trace, process) {
297
+ if (!aggregated || !trace) return
298
+
299
+ // if the trace doesn't any spans stop aggregation here
300
+ if (trace.spans.length === 0) return
301
+
302
+ // create data structure if needed
303
+ if (!aggregated.variances) aggregated.variances = []
304
+ if (!aggregated.meta) {
305
+ aggregated.meta = {
306
+ histogram: new Histogram({ measurement: 'median' }),
307
+ meter: new Utility.EWMA()
308
+ }
309
+ }
310
+
311
+ aggregated.meta.histogram.update(trace.spans[0].mean)
312
+ aggregated.meta.meter.update()
313
+
314
+ const merge = (variance) => {
315
+ // no variance found so its a new one
316
+ if (variance == null) {
317
+ delete trace.projectId
318
+ delete trace.traceId
319
+ trace.histogram = new Histogram({ measurement: 'median' })
320
+ trace.histogram.update(trace.spans[0].mean)
321
+
322
+ trace.spans.forEach((span) => {
323
+ span.histogram = new Histogram({ measurement: 'median' })
324
+ span.histogram.update(span.mean)
325
+ delete span.mean
326
+ })
327
+
328
+ // parse strackrace
329
+ this.parseStacktrace(trace.spans)
330
+ aggregated.variances.push(trace)
331
+ } else {
332
+ // check to see if request is anormally slow, if yes send it as inquisitor
333
+ if (trace.spans[0].mean > variance.histogram.percentiles([0.95])[0.95] &&
334
+ typeof pushInteractor !== 'undefined' && !process.initialization_timeout) {
335
+ // serialize and add metadata
336
+ this.parseStacktrace(trace.spans)
337
+ let data = {
338
+ trace: fclone(trace.spans),
339
+ variance: fclone(variance.spans.map((span) => {
340
+ return {
341
+ labels: span.labels,
342
+ kind: span.kind,
343
+ name: span.name,
344
+ startTime: span.startTime,
345
+ percentiles: {
346
+ p5: variance.histogram.percentiles([0.5])[0.5],
347
+ p95: variance.histogram.percentiles([0.95])[0.95]
348
+ }
349
+ }
350
+ })),
351
+ meta: {
352
+ value: trace.spans[0].mean,
353
+ percentiles: {
354
+ p5: variance.histogram.percentiles([0.5])[0.5],
355
+ p75: variance.histogram.percentiles([0.75])[0.75],
356
+ p95: variance.histogram.percentiles([0.95])[0.95],
357
+ p99: variance.histogram.percentiles([0.99])[0.99]
358
+ },
359
+ min: variance.histogram.getMin(),
360
+ max: variance.histogram.getMax(),
361
+ count: variance.histogram.getCount()
362
+ },
363
+ process: process.process
364
+ }
365
+ this.pushInteractor.transport.send('axm:transaction:outlier', data)
366
+ }
367
+
368
+ // variance found, merge spans
369
+ variance.histogram.update(trace.spans[0].mean)
370
+
371
+ // update duration of spans to be mean
372
+ this.updateSpanDuration(variance.spans, trace.spans, variance.count)
373
+
374
+ // delete stacktrace before merging
375
+ trace.spans.forEach((span) => {
376
+ delete span.labels.stacktrace
377
+ })
378
+ }
379
+ }
380
+
381
+ // for every variance, check spans same variance
382
+ for (let i = 0; i < aggregated.variances.length; i++) {
383
+ if (this.compareList(aggregated.variances[i].spans, trace.spans)) {
384
+ return merge(aggregated.variances[i])
385
+ }
386
+ }
387
+ // else its a new variance
388
+ return merge(null)
389
+ }
390
+
391
+ /**
392
+ * Parkour simultaneously both spans list to update value of the first one using value of the second one
393
+ * The first should be variance already aggregated for which we want to merge the second one
394
+ * The second one is a new trace, so we need to re-compute mean/min/max time for each spans
395
+ */
396
+ updateSpanDuration (spans, newSpans) {
397
+ for (let i = 0, len = spans.length; i < len; i++) {
398
+ if (!newSpans[i]) continue
399
+ spans[i].histogram.update(newSpans[i].mean)
400
+ }
401
+ }
402
+
403
+ /**
404
+ * Compare two spans list by going down on each span and comparing child and attribute
405
+ */
406
+ compareList (one, two) {
407
+ if (one.length !== two.length) return false
408
+
409
+ for (let i = 0, len = one; i < len; i++) {
410
+ if (one[i].name !== two[i].name) return false
411
+ if (one[i].kind !== two[i].kind) return false
412
+ if (!one[i].labels && two[i].labels) return false
413
+ if (one[i].labels && !two[i].labels) return false
414
+ if (one[i].labels.length !== two[i].labels.length) return false
415
+ }
416
+ return true
417
+ }
418
+
419
+ /**
420
+ * Will return the route if we found an already matched route
421
+ */
422
+ matchPath (path, routes) {
423
+ // empty route is / without the fist slash
424
+ if (!path || !routes) return false
425
+ if (path === '/') return routes[path] ? path : null
426
+
427
+ // remove the last slash if exist
428
+ if (path[path.length - 1] === '/') {
429
+ path = path.substr(0, path.length - 1)
430
+ }
431
+
432
+ // split to get array of segment
433
+ path = path.split('/')
434
+
435
+ // if the path has only one segment, we just need to compare the key
436
+ if (path.length === 1) return routes[path[0]] ? routes[path[0]] : null
437
+
438
+ // check in routes already stored for match
439
+ let keys = Object.keys(routes)
440
+ for (let i = 0, len = keys.length; i < len; i++) {
441
+ let route = keys[i]
442
+ let segments = route.split('/')
443
+
444
+ if (segments.length !== path.length) continue
445
+
446
+ for (let j = path.length - 1; j >= 0; j--) {
447
+ // different segment, try to find if new route or not
448
+ if (path[j] !== segments[j]) {
449
+ // if the aggregator already have matched that segment with a wildcard and the next segment is the same
450
+ if (this.isIdentifier(path[j]) && segments[j] === '*' && path[j - 1] === segments[j - 1]) {
451
+ return segments.join('/')
452
+ // case a let in url match, so we continue because they must be other let in url
453
+ } else if (path[j - 1] !== undefined && path[j - 1] === segments[j - 1] && this.isIdentifier(path[j]) && this.isIdentifier(segments[j])) {
454
+ segments[j] = '*'
455
+ // update routes in cache
456
+ routes[segments.join('/')] = routes[route]
457
+ delete routes[keys[i]]
458
+ return segments.join('/')
459
+ } else {
460
+ break
461
+ }
462
+ }
463
+
464
+ // if finish to iterate over segment of path, we must be on the same route
465
+ if (j === 0) return segments.join('/')
466
+ }
467
+ }
468
+ }
469
+
470
+ launchWorker () {
471
+ this._worker = setInterval(_ => {
472
+ let normalized = this.prepareAggregationforShipping()
473
+ Object.keys(normalized).forEach((key) => {
474
+ this.pushInteractor.transport.send('axm:transaction', normalized[key])
475
+ })
476
+ }, cst.TRACE_FLUSH_INTERVAL)
477
+ }
478
+
479
+ /**
480
+ * Normalize aggregation
481
+ */
482
+ prepareAggregationforShipping () {
483
+ let normalized = {}
484
+
485
+ // Iterate each applications
486
+ Object.keys(this.processes).forEach((appName) => {
487
+ let process = this.processes[appName]
488
+ let routes = process.routes
489
+
490
+ if (process.initialization_timeout) {
491
+ log('Waiting for app %s to be initialized', appName)
492
+ return null
493
+ }
494
+
495
+ normalized[appName] = {
496
+ data: {
497
+ routes: [],
498
+ meta: fclone({
499
+ trace_count: process.meta.trace_count,
500
+ http_meter: Math.round(process.meta.http_meter.rate(1000) * 100) / 100,
501
+ db_meter: Math.round(process.meta.db_meter.rate(1000) * 100) / 100,
502
+ http_percentiles: {
503
+ median: process.meta.histogram.percentiles([0.5])[0.5],
504
+ p95: process.meta.histogram.percentiles([0.95])[0.95],
505
+ p99: process.meta.histogram.percentiles([0.99])[0.99]
506
+ },
507
+ db_percentiles: {}
508
+ })
509
+ },
510
+ process: process.process
511
+ }
512
+
513
+ // compute percentiles for each db spans if they exist
514
+ this.SPANS_DB.forEach((name) => {
515
+ let histogram = process.meta.db_histograms[name]
516
+ if (!histogram) return
517
+ normalized[appName].data.meta.db_percentiles[name] = fclone(histogram.percentiles([0.5])[0.5])
518
+ })
519
+
520
+ Object.keys(routes).forEach((path) => {
521
+ let data = routes[path]
522
+
523
+ // hard check for invalid data
524
+ if (!data.variances || data.variances.length === 0) return
525
+
526
+ // get top 5 variances of the same route
527
+ const variances = data.variances.sort((a, b) => {
528
+ return b.count - a.count
529
+ }).slice(0, 5)
530
+
531
+ // create a copy without reference to stored one
532
+ let routeCopy = {
533
+ path: path === '/' ? '/' : '/' + path,
534
+ meta: fclone({
535
+ min: data.meta.histogram.getMin(),
536
+ max: data.meta.histogram.getMax(),
537
+ count: data.meta.histogram.getCount(),
538
+ meter: Math.round(data.meta.meter.rate(1000) * 100) / 100,
539
+ median: data.meta.histogram.percentiles([0.5])[0.5],
540
+ p95: data.meta.histogram.percentiles([0.95])[0.95]
541
+ }),
542
+ variances: []
543
+ }
544
+
545
+ variances.forEach((variance) => {
546
+ // hard check for invalid data
547
+ if (!variance.spans || variance.spans.length === 0) return
548
+
549
+ // deep copy of variances data
550
+ let tmp = fclone({
551
+ spans: [],
552
+ count: variance.histogram.getCount(),
553
+ min: variance.histogram.getMin(),
554
+ max: variance.histogram.getMax(),
555
+ median: variance.histogram.percentiles([0.5])[0.5],
556
+ p95: variance.histogram.percentiles([0.95])[0.95]
557
+ })
558
+
559
+ // get data for each span
560
+ variance.spans.forEach((span) => {
561
+ tmp.spans.push(fclone({
562
+ name: span.name,
563
+ labels: span.labels,
564
+ kind: span.kind,
565
+ startTime: span.startTime,
566
+ min: span.histogram.getMin(),
567
+ max: span.histogram.getMax(),
568
+ median: span.histogram.percentiles([0.5])[0.5]
569
+ }))
570
+ })
571
+ // push serialized into normalized data
572
+ routeCopy.variances.push(tmp)
573
+ })
574
+ // push the route into normalized data
575
+ normalized[appName].data.routes.push(routeCopy)
576
+ })
577
+ })
578
+
579
+ return normalized
580
+ }
581
+
582
+ /**
583
+ * Check if the string can be a id of some sort
584
+ *
585
+ * @param {String} id
586
+ */
587
+ isIdentifier (id) {
588
+ id = typeof (id) !== 'string' ? id + '' : id
589
+
590
+ // uuid v1/v4 with/without dash
591
+ if (id.match(/[0-9a-f]{8}-[0-9a-f]{4}-[14][0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}|[0-9a-f]{12}[14][0-9a-f]{19}/i)) {
592
+ return true
593
+ // if number
594
+ } else if (id.match(/\d+/)) {
595
+ return true
596
+ // if suit of nbr/letters
597
+ } else if (id.match(/[0-9]+[a-z]+|[a-z]+[0-9]+/)) {
598
+ return true
599
+ // if match pattern with multiple char spaced by . - _ @
600
+ } else if (id.match(/((?:[0-9a-zA-Z]+[@\-_.][0-9a-zA-Z]+|[0-9a-zA-Z]+[@\-_.]|[@\-_.][0-9a-zA-Z]+)+)/)) {
601
+ return true
602
+ }
603
+ return false
604
+ }
605
+
606
+ /**
607
+ * Cleanup trace data
608
+ * - delete result(s)
609
+ * - replace labels value with a question mark
610
+ *
611
+ * @param {Object} spans list of span for a trace
612
+ */
613
+ censorSpans (spans) {
614
+ if (!spans) return log('spans is null')
615
+ if (cst.DEBUG) return
616
+
617
+ spans.forEach((span) => {
618
+ if (!span.labels) return
619
+
620
+ delete span.labels.results
621
+ delete span.labels.result
622
+ delete span.spanId
623
+ delete span.parentSpanId
624
+ delete span.labels.values
625
+
626
+ Object.keys(span.labels).forEach((key) => {
627
+ if (typeof (span.labels[key]) === 'string' && key !== 'stacktrace') {
628
+ span.labels[key] = span.labels[key].replace(this.REGEX_JSON_CLEANUP, '\": \"?\"') // eslint-disable-line
629
+ }
630
+ })
631
+ })
632
+ }
633
+
634
+ /**
635
+ * Parse stackrace of spans to extract and normalize data
636
+ *
637
+ * @param {Object} spans list of span for a trace
638
+ */
639
+ parseStacktrace (spans) {
640
+ if (!spans) return log('spans is null')
641
+
642
+ spans.forEach((span) => {
643
+ // if empty make sure that it doesnt exist
644
+ if (!span ||
645
+ !span.labels ||
646
+ !span.labels.stacktrace ||
647
+ typeof (span.labels.stacktrace) !== 'string') return
648
+
649
+ // you never know what come through that door
650
+ try {
651
+ span.labels.stacktrace = JSON.parse(span.labels.stacktrace)
652
+ } catch (e) {
653
+ return
654
+ }
655
+
656
+ if (!span.labels.stacktrace || !(span.labels.stacktrace.stack_frame instanceof Array)) return
657
+ // parse the stacktrace
658
+ let result = this.stackParser.parse(span.labels.stacktrace.stack_frame)
659
+ if (result) {
660
+ span.labels['source/file'] = result.callsite || undefined
661
+ span.labels['source/context'] = result.context || undefined
662
+ }
663
+ })
664
+
665
+ spans.forEach((span) => {
666
+ if (!span || !span.labels) return
667
+ delete span.labels.stacktrace
668
+ })
669
+ }
670
+ }