@openclaw/diagnostics-otel 2026.7.2-beta.3 → 2026.7.2-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1012) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/{runtime-api-DIKLPu2g.js → runtime-api-Cxmw9wkt.js} +13 -21
  3. package/dist/runtime-api.js +1 -1
  4. package/node_modules/@opentelemetry/api-logs/build/esm/version.d.ts +1 -1
  5. package/node_modules/@opentelemetry/api-logs/build/esm/version.js +1 -1
  6. package/node_modules/@opentelemetry/api-logs/build/esm/version.js.map +1 -1
  7. package/node_modules/@opentelemetry/api-logs/build/esnext/version.d.ts +1 -1
  8. package/node_modules/@opentelemetry/api-logs/build/esnext/version.js +1 -1
  9. package/node_modules/@opentelemetry/api-logs/build/esnext/version.js.map +1 -1
  10. package/node_modules/@opentelemetry/api-logs/build/src/version.d.ts +1 -1
  11. package/node_modules/@opentelemetry/api-logs/build/src/version.js +1 -1
  12. package/node_modules/@opentelemetry/api-logs/build/src/version.js.map +1 -1
  13. package/node_modules/@opentelemetry/api-logs/package.json +3 -3
  14. package/node_modules/@opentelemetry/configuration/README.md +76 -9
  15. package/node_modules/@opentelemetry/configuration/build/src/EnvironmentConfigFactory.js +2 -2
  16. package/node_modules/@opentelemetry/configuration/build/src/EnvironmentConfigFactory.js.map +1 -1
  17. package/node_modules/@opentelemetry/configuration/build/src/FileConfigFactory.d.ts +19 -1
  18. package/node_modules/@opentelemetry/configuration/build/src/FileConfigFactory.js +87 -123
  19. package/node_modules/@opentelemetry/configuration/build/src/FileConfigFactory.js.map +1 -1
  20. package/node_modules/@opentelemetry/configuration/build/src/generated/types.d.ts +40 -15
  21. package/node_modules/@opentelemetry/configuration/build/src/generated/types.js +1 -1
  22. package/node_modules/@opentelemetry/configuration/build/src/generated/types.js.map +1 -1
  23. package/node_modules/@opentelemetry/configuration/build/src/generated/validator.js +688 -568
  24. package/node_modules/@opentelemetry/configuration/build/src/generated/validator.js.map +1 -1
  25. package/node_modules/@opentelemetry/configuration/build/src/index.d.ts +2 -1
  26. package/node_modules/@opentelemetry/configuration/build/src/index.js +4 -1
  27. package/node_modules/@opentelemetry/configuration/build/src/index.js.map +1 -1
  28. package/node_modules/@opentelemetry/configuration/build/src/utils.js +1 -0
  29. package/node_modules/@opentelemetry/configuration/build/src/utils.js.map +1 -1
  30. package/node_modules/@opentelemetry/configuration/build/src/version.d.ts +1 -1
  31. package/node_modules/@opentelemetry/configuration/build/src/version.js +1 -1
  32. package/node_modules/@opentelemetry/configuration/build/src/version.js.map +1 -1
  33. package/node_modules/@opentelemetry/configuration/package.json +5 -5
  34. package/node_modules/@opentelemetry/context-async-hooks/build/src/version.d.ts +1 -1
  35. package/node_modules/@opentelemetry/context-async-hooks/build/src/version.js +1 -1
  36. package/node_modules/@opentelemetry/context-async-hooks/build/src/version.js.map +1 -1
  37. package/node_modules/@opentelemetry/context-async-hooks/package.json +3 -3
  38. package/node_modules/@opentelemetry/core/build/esm/common/time.js +16 -2
  39. package/node_modules/@opentelemetry/core/build/esm/common/time.js.map +1 -1
  40. package/node_modules/@opentelemetry/core/build/esm/version.d.ts +1 -1
  41. package/node_modules/@opentelemetry/core/build/esm/version.js +1 -1
  42. package/node_modules/@opentelemetry/core/build/esm/version.js.map +1 -1
  43. package/node_modules/@opentelemetry/core/build/esnext/common/time.js +16 -2
  44. package/node_modules/@opentelemetry/core/build/esnext/common/time.js.map +1 -1
  45. package/node_modules/@opentelemetry/core/build/esnext/version.d.ts +1 -1
  46. package/node_modules/@opentelemetry/core/build/esnext/version.js +1 -1
  47. package/node_modules/@opentelemetry/core/build/esnext/version.js.map +1 -1
  48. package/node_modules/@opentelemetry/core/build/src/common/time.js +16 -2
  49. package/node_modules/@opentelemetry/core/build/src/common/time.js.map +1 -1
  50. package/node_modules/@opentelemetry/core/build/src/version.d.ts +1 -1
  51. package/node_modules/@opentelemetry/core/build/src/version.js +1 -1
  52. package/node_modules/@opentelemetry/core/build/src/version.js.map +1 -1
  53. package/node_modules/@opentelemetry/core/package.json +4 -4
  54. package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/README.md +3 -3
  55. package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/version.d.ts +1 -1
  56. package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/version.js +1 -1
  57. package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/build/src/version.js.map +1 -1
  58. package/node_modules/@opentelemetry/exporter-logs-otlp-grpc/package.json +10 -10
  59. package/node_modules/@opentelemetry/exporter-logs-otlp-http/README.md +2 -2
  60. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/version.d.ts +1 -1
  61. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/version.js +1 -1
  62. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esm/version.js.map +1 -1
  63. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esnext/version.d.ts +1 -1
  64. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esnext/version.js +1 -1
  65. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/esnext/version.js.map +1 -1
  66. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/version.d.ts +1 -1
  67. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/version.js +1 -1
  68. package/node_modules/@opentelemetry/exporter-logs-otlp-http/build/src/version.js.map +1 -1
  69. package/node_modules/@opentelemetry/exporter-logs-otlp-http/package.json +12 -12
  70. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/README.md +1 -1
  71. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esm/version.d.ts +1 -1
  72. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esm/version.js +1 -1
  73. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esm/version.js.map +1 -1
  74. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esnext/version.d.ts +1 -1
  75. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esnext/version.js +1 -1
  76. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/esnext/version.js.map +1 -1
  77. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/version.d.ts +1 -1
  78. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/version.js +1 -1
  79. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/build/src/version.js.map +1 -1
  80. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/package.json +9 -13
  81. package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/version.d.ts +1 -1
  82. package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/version.js +1 -1
  83. package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/build/src/version.js.map +1 -1
  84. package/node_modules/@opentelemetry/exporter-metrics-otlp-grpc/package.json +10 -10
  85. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.d.ts +1 -1
  86. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.js +1 -1
  87. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esm/version.js.map +1 -1
  88. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.d.ts +1 -1
  89. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.js +1 -1
  90. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/esnext/version.js.map +1 -1
  91. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.d.ts +1 -1
  92. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.js +1 -1
  93. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/build/src/version.js.map +1 -1
  94. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/package.json +11 -11
  95. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esm/version.d.ts +1 -1
  96. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esm/version.js +1 -1
  97. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esm/version.js.map +1 -1
  98. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esnext/version.d.ts +1 -1
  99. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esnext/version.js +1 -1
  100. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/esnext/version.js.map +1 -1
  101. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/version.d.ts +1 -1
  102. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/version.js +1 -1
  103. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/build/src/version.js.map +1 -1
  104. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/package.json +12 -12
  105. package/node_modules/@opentelemetry/exporter-prometheus/build/src/version.d.ts +1 -1
  106. package/node_modules/@opentelemetry/exporter-prometheus/build/src/version.js +1 -1
  107. package/node_modules/@opentelemetry/exporter-prometheus/build/src/version.js.map +1 -1
  108. package/node_modules/@opentelemetry/exporter-prometheus/package.json +6 -6
  109. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/README.md +13 -62
  110. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/OTLPTraceExporter.d.ts +1 -1
  111. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/OTLPTraceExporter.js.map +1 -1
  112. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/version.d.ts +1 -1
  113. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/version.js +1 -1
  114. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/build/src/version.js.map +1 -1
  115. package/node_modules/@opentelemetry/exporter-trace-otlp-grpc/package.json +7 -9
  116. package/node_modules/@opentelemetry/exporter-trace-otlp-http/README.md +6 -6
  117. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/platform/browser/OTLPTraceExporter.d.ts +1 -1
  118. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/platform/browser/OTLPTraceExporter.js.map +1 -1
  119. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/platform/node/OTLPTraceExporter.d.ts +1 -1
  120. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/platform/node/OTLPTraceExporter.js.map +1 -1
  121. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/version.d.ts +1 -1
  122. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/version.js +1 -1
  123. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/version.js.map +1 -1
  124. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/platform/browser/OTLPTraceExporter.d.ts +1 -1
  125. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/platform/browser/OTLPTraceExporter.js.map +1 -1
  126. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/platform/node/OTLPTraceExporter.d.ts +1 -1
  127. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/platform/node/OTLPTraceExporter.js.map +1 -1
  128. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/version.d.ts +1 -1
  129. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/version.js +1 -1
  130. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esnext/version.js.map +1 -1
  131. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/browser/OTLPTraceExporter.d.ts +1 -1
  132. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/browser/OTLPTraceExporter.js.map +1 -1
  133. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/node/OTLPTraceExporter.d.ts +1 -1
  134. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/platform/node/OTLPTraceExporter.js.map +1 -1
  135. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/version.d.ts +1 -1
  136. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/version.js +1 -1
  137. package/node_modules/@opentelemetry/exporter-trace-otlp-http/build/src/version.js.map +1 -1
  138. package/node_modules/@opentelemetry/exporter-trace-otlp-http/package.json +11 -11
  139. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/README.md +5 -6
  140. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/platform/browser/OTLPTraceExporter.d.ts +1 -1
  141. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/platform/browser/OTLPTraceExporter.js.map +1 -1
  142. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/platform/node/OTLPTraceExporter.d.ts +1 -1
  143. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/platform/node/OTLPTraceExporter.js.map +1 -1
  144. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/version.d.ts +1 -1
  145. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/version.js +1 -1
  146. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esm/version.js.map +1 -1
  147. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/platform/browser/OTLPTraceExporter.d.ts +1 -1
  148. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/platform/browser/OTLPTraceExporter.js.map +1 -1
  149. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/platform/node/OTLPTraceExporter.d.ts +1 -1
  150. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/platform/node/OTLPTraceExporter.js.map +1 -1
  151. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/version.d.ts +1 -1
  152. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/version.js +1 -1
  153. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/esnext/version.js.map +1 -1
  154. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/platform/browser/OTLPTraceExporter.d.ts +1 -1
  155. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/platform/browser/OTLPTraceExporter.js.map +1 -1
  156. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/platform/node/OTLPTraceExporter.d.ts +1 -1
  157. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/platform/node/OTLPTraceExporter.js.map +1 -1
  158. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/version.d.ts +1 -1
  159. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/version.js +1 -1
  160. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/build/src/version.js.map +1 -1
  161. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/package.json +11 -11
  162. package/node_modules/@opentelemetry/exporter-zipkin/README.md +1 -1
  163. package/node_modules/@opentelemetry/exporter-zipkin/build/esm/transform.d.ts +1 -1
  164. package/node_modules/@opentelemetry/exporter-zipkin/build/esm/transform.js.map +1 -1
  165. package/node_modules/@opentelemetry/exporter-zipkin/build/esm/version.d.ts +1 -1
  166. package/node_modules/@opentelemetry/exporter-zipkin/build/esm/version.js +1 -1
  167. package/node_modules/@opentelemetry/exporter-zipkin/build/esm/version.js.map +1 -1
  168. package/node_modules/@opentelemetry/exporter-zipkin/build/esm/zipkin.d.ts +1 -1
  169. package/node_modules/@opentelemetry/exporter-zipkin/build/esm/zipkin.js.map +1 -1
  170. package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/transform.d.ts +1 -1
  171. package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/transform.js.map +1 -1
  172. package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/version.d.ts +1 -1
  173. package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/version.js +1 -1
  174. package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/version.js.map +1 -1
  175. package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/zipkin.d.ts +1 -1
  176. package/node_modules/@opentelemetry/exporter-zipkin/build/esnext/zipkin.js.map +1 -1
  177. package/node_modules/@opentelemetry/exporter-zipkin/build/src/transform.d.ts +1 -1
  178. package/node_modules/@opentelemetry/exporter-zipkin/build/src/transform.js.map +1 -1
  179. package/node_modules/@opentelemetry/exporter-zipkin/build/src/version.d.ts +1 -1
  180. package/node_modules/@opentelemetry/exporter-zipkin/build/src/version.js +1 -1
  181. package/node_modules/@opentelemetry/exporter-zipkin/build/src/version.js.map +1 -1
  182. package/node_modules/@opentelemetry/exporter-zipkin/build/src/zipkin.d.ts +1 -1
  183. package/node_modules/@opentelemetry/exporter-zipkin/build/src/zipkin.js.map +1 -1
  184. package/node_modules/@opentelemetry/exporter-zipkin/package.json +9 -9
  185. package/node_modules/@opentelemetry/instrumentation/README.md +6 -7
  186. package/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.d.ts +1 -1
  187. package/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.js +1 -1
  188. package/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.js.map +1 -1
  189. package/node_modules/@opentelemetry/instrumentation/build/esm/version.d.ts +1 -1
  190. package/node_modules/@opentelemetry/instrumentation/build/esm/version.js +1 -1
  191. package/node_modules/@opentelemetry/instrumentation/build/esm/version.js.map +1 -1
  192. package/node_modules/@opentelemetry/instrumentation/build/esnext/instrumentation.d.ts +1 -1
  193. package/node_modules/@opentelemetry/instrumentation/build/esnext/instrumentation.js +1 -1
  194. package/node_modules/@opentelemetry/instrumentation/build/esnext/instrumentation.js.map +1 -1
  195. package/node_modules/@opentelemetry/instrumentation/build/esnext/version.d.ts +1 -1
  196. package/node_modules/@opentelemetry/instrumentation/build/esnext/version.js +1 -1
  197. package/node_modules/@opentelemetry/instrumentation/build/esnext/version.js.map +1 -1
  198. package/node_modules/@opentelemetry/instrumentation/build/src/instrumentation.d.ts +1 -1
  199. package/node_modules/@opentelemetry/instrumentation/build/src/instrumentation.js +1 -1
  200. package/node_modules/@opentelemetry/instrumentation/build/src/instrumentation.js.map +1 -1
  201. package/node_modules/@opentelemetry/instrumentation/build/src/version.d.ts +1 -1
  202. package/node_modules/@opentelemetry/instrumentation/build/src/version.js +1 -1
  203. package/node_modules/@opentelemetry/instrumentation/build/src/version.js.map +1 -1
  204. package/node_modules/@opentelemetry/instrumentation/package.json +11 -11
  205. package/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.d.ts +1 -1
  206. package/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js +1 -1
  207. package/node_modules/@opentelemetry/otlp-exporter-base/build/esm/version.js.map +1 -1
  208. package/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.d.ts +1 -1
  209. package/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js +1 -1
  210. package/node_modules/@opentelemetry/otlp-exporter-base/build/esnext/version.js.map +1 -1
  211. package/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.d.ts +1 -1
  212. package/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js +1 -1
  213. package/node_modules/@opentelemetry/otlp-exporter-base/build/src/version.js.map +1 -1
  214. package/node_modules/@opentelemetry/otlp-exporter-base/package.json +8 -8
  215. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.d.ts +1 -1
  216. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.js +1 -1
  217. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/build/src/version.js.map +1 -1
  218. package/node_modules/@opentelemetry/otlp-grpc-exporter-base/package.json +6 -8
  219. package/node_modules/@opentelemetry/otlp-transformer/README.md +1 -1
  220. package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.d.ts +1 -1
  221. package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js.map +1 -1
  222. package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/json/trace.d.ts +1 -1
  223. package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/json/trace.js.map +1 -1
  224. package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/protobuf/trace-serializer.d.ts +1 -1
  225. package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/protobuf/trace-serializer.js.map +1 -1
  226. package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/protobuf/trace.d.ts +1 -1
  227. package/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/protobuf/trace.js.map +1 -1
  228. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/internal.d.ts +1 -1
  229. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/internal.js.map +1 -1
  230. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/json/trace.d.ts +1 -1
  231. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/json/trace.js.map +1 -1
  232. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/protobuf/trace-serializer.d.ts +1 -1
  233. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/protobuf/trace-serializer.js.map +1 -1
  234. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/protobuf/trace.d.ts +1 -1
  235. package/node_modules/@opentelemetry/otlp-transformer/build/esnext/trace/protobuf/trace.js.map +1 -1
  236. package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.d.ts +1 -1
  237. package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.js.map +1 -1
  238. package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/trace.d.ts +1 -1
  239. package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/trace.js.map +1 -1
  240. package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace-serializer.d.ts +1 -1
  241. package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace-serializer.js.map +1 -1
  242. package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace.d.ts +1 -1
  243. package/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace.js.map +1 -1
  244. package/node_modules/@opentelemetry/otlp-transformer/package.json +12 -12
  245. package/node_modules/@opentelemetry/propagator-b3/build/esm/version.d.ts +1 -1
  246. package/node_modules/@opentelemetry/propagator-b3/build/esm/version.js +1 -1
  247. package/node_modules/@opentelemetry/propagator-b3/build/esm/version.js.map +1 -1
  248. package/node_modules/@opentelemetry/propagator-b3/build/esnext/version.d.ts +1 -1
  249. package/node_modules/@opentelemetry/propagator-b3/build/esnext/version.js +1 -1
  250. package/node_modules/@opentelemetry/propagator-b3/build/esnext/version.js.map +1 -1
  251. package/node_modules/@opentelemetry/propagator-b3/build/src/version.d.ts +1 -1
  252. package/node_modules/@opentelemetry/propagator-b3/build/src/version.js +1 -1
  253. package/node_modules/@opentelemetry/propagator-b3/build/src/version.js.map +1 -1
  254. package/node_modules/@opentelemetry/propagator-b3/package.json +4 -4
  255. package/node_modules/@opentelemetry/propagator-jaeger/README.md +3 -5
  256. package/node_modules/@opentelemetry/propagator-jaeger/build/esm/JaegerPropagator.js +16 -2
  257. package/node_modules/@opentelemetry/propagator-jaeger/build/esm/JaegerPropagator.js.map +1 -1
  258. package/node_modules/@opentelemetry/propagator-jaeger/build/esm/version.d.ts +1 -1
  259. package/node_modules/@opentelemetry/propagator-jaeger/build/esm/version.js +1 -1
  260. package/node_modules/@opentelemetry/propagator-jaeger/build/esm/version.js.map +1 -1
  261. package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/JaegerPropagator.js +16 -2
  262. package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/JaegerPropagator.js.map +1 -1
  263. package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/version.d.ts +1 -1
  264. package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/version.js +1 -1
  265. package/node_modules/@opentelemetry/propagator-jaeger/build/esnext/version.js.map +1 -1
  266. package/node_modules/@opentelemetry/propagator-jaeger/build/src/JaegerPropagator.js +16 -2
  267. package/node_modules/@opentelemetry/propagator-jaeger/build/src/JaegerPropagator.js.map +1 -1
  268. package/node_modules/@opentelemetry/propagator-jaeger/build/src/version.d.ts +1 -1
  269. package/node_modules/@opentelemetry/propagator-jaeger/build/src/version.js +1 -1
  270. package/node_modules/@opentelemetry/propagator-jaeger/build/src/version.js.map +1 -1
  271. package/node_modules/@opentelemetry/propagator-jaeger/package.json +4 -4
  272. package/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
  273. package/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
  274. package/node_modules/@opentelemetry/resources/build/esm/version.js.map +1 -1
  275. package/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
  276. package/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
  277. package/node_modules/@opentelemetry/resources/build/esnext/version.js.map +1 -1
  278. package/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
  279. package/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
  280. package/node_modules/@opentelemetry/resources/build/src/version.js.map +1 -1
  281. package/node_modules/@opentelemetry/resources/package.json +5 -5
  282. package/node_modules/@opentelemetry/sdk-logs/README.md +10 -6
  283. package/node_modules/@opentelemetry/sdk-logs/build/esm/Logger.js +3 -0
  284. package/node_modules/@opentelemetry/sdk-logs/build/esm/Logger.js.map +1 -1
  285. package/node_modules/@opentelemetry/sdk-logs/build/esm/LoggerProvider.js +1 -0
  286. package/node_modules/@opentelemetry/sdk-logs/build/esm/LoggerProvider.js.map +1 -1
  287. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.d.ts +3 -4
  288. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js +6 -6
  289. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/BatchLogRecordProcessorBase.js.map +1 -1
  290. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SimpleLogRecordProcessor.d.ts +2 -2
  291. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SimpleLogRecordProcessor.js +2 -2
  292. package/node_modules/@opentelemetry/sdk-logs/build/esm/export/SimpleLogRecordProcessor.js.map +1 -1
  293. package/node_modules/@opentelemetry/sdk-logs/build/esm/index.d.ts +1 -1
  294. package/node_modules/@opentelemetry/sdk-logs/build/esm/index.js.map +1 -1
  295. package/node_modules/@opentelemetry/sdk-logs/build/esm/internal/LoggerProviderSharedState.d.ts +1 -0
  296. package/node_modules/@opentelemetry/sdk-logs/build/esm/internal/LoggerProviderSharedState.js +1 -0
  297. package/node_modules/@opentelemetry/sdk-logs/build/esm/internal/LoggerProviderSharedState.js.map +1 -1
  298. package/node_modules/@opentelemetry/sdk-logs/build/esm/platform/browser/export/BatchLogRecordProcessor.d.ts +3 -4
  299. package/node_modules/@opentelemetry/sdk-logs/build/esm/platform/browser/export/BatchLogRecordProcessor.js +5 -5
  300. package/node_modules/@opentelemetry/sdk-logs/build/esm/platform/browser/export/BatchLogRecordProcessor.js.map +1 -1
  301. package/node_modules/@opentelemetry/sdk-logs/build/esm/platform/node/export/BatchLogRecordProcessor.d.ts +2 -2
  302. package/node_modules/@opentelemetry/sdk-logs/build/esm/platform/node/export/BatchLogRecordProcessor.js.map +1 -1
  303. package/node_modules/@opentelemetry/sdk-logs/build/esm/types.d.ts +8 -4
  304. package/node_modules/@opentelemetry/sdk-logs/build/esm/types.js.map +1 -1
  305. package/node_modules/@opentelemetry/sdk-logs/build/esm/version.d.ts +1 -1
  306. package/node_modules/@opentelemetry/sdk-logs/build/esm/version.js +1 -1
  307. package/node_modules/@opentelemetry/sdk-logs/build/esm/version.js.map +1 -1
  308. package/node_modules/@opentelemetry/sdk-logs/build/esnext/Logger.js +3 -0
  309. package/node_modules/@opentelemetry/sdk-logs/build/esnext/Logger.js.map +1 -1
  310. package/node_modules/@opentelemetry/sdk-logs/build/esnext/LoggerProvider.js +1 -0
  311. package/node_modules/@opentelemetry/sdk-logs/build/esnext/LoggerProvider.js.map +1 -1
  312. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.d.ts +3 -4
  313. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.js +6 -6
  314. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/BatchLogRecordProcessorBase.js.map +1 -1
  315. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SimpleLogRecordProcessor.d.ts +2 -2
  316. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SimpleLogRecordProcessor.js +2 -2
  317. package/node_modules/@opentelemetry/sdk-logs/build/esnext/export/SimpleLogRecordProcessor.js.map +1 -1
  318. package/node_modules/@opentelemetry/sdk-logs/build/esnext/index.d.ts +1 -1
  319. package/node_modules/@opentelemetry/sdk-logs/build/esnext/index.js.map +1 -1
  320. package/node_modules/@opentelemetry/sdk-logs/build/esnext/internal/LoggerProviderSharedState.d.ts +1 -0
  321. package/node_modules/@opentelemetry/sdk-logs/build/esnext/internal/LoggerProviderSharedState.js +1 -0
  322. package/node_modules/@opentelemetry/sdk-logs/build/esnext/internal/LoggerProviderSharedState.js.map +1 -1
  323. package/node_modules/@opentelemetry/sdk-logs/build/esnext/platform/browser/export/BatchLogRecordProcessor.d.ts +3 -4
  324. package/node_modules/@opentelemetry/sdk-logs/build/esnext/platform/browser/export/BatchLogRecordProcessor.js +5 -5
  325. package/node_modules/@opentelemetry/sdk-logs/build/esnext/platform/browser/export/BatchLogRecordProcessor.js.map +1 -1
  326. package/node_modules/@opentelemetry/sdk-logs/build/esnext/platform/node/export/BatchLogRecordProcessor.d.ts +2 -2
  327. package/node_modules/@opentelemetry/sdk-logs/build/esnext/platform/node/export/BatchLogRecordProcessor.js.map +1 -1
  328. package/node_modules/@opentelemetry/sdk-logs/build/esnext/types.d.ts +8 -4
  329. package/node_modules/@opentelemetry/sdk-logs/build/esnext/types.js.map +1 -1
  330. package/node_modules/@opentelemetry/sdk-logs/build/esnext/version.d.ts +1 -1
  331. package/node_modules/@opentelemetry/sdk-logs/build/esnext/version.js +1 -1
  332. package/node_modules/@opentelemetry/sdk-logs/build/esnext/version.js.map +1 -1
  333. package/node_modules/@opentelemetry/sdk-logs/build/src/Logger.js +3 -0
  334. package/node_modules/@opentelemetry/sdk-logs/build/src/Logger.js.map +1 -1
  335. package/node_modules/@opentelemetry/sdk-logs/build/src/LoggerProvider.js +1 -0
  336. package/node_modules/@opentelemetry/sdk-logs/build/src/LoggerProvider.js.map +1 -1
  337. package/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.d.ts +3 -4
  338. package/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.js +6 -6
  339. package/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.js.map +1 -1
  340. package/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.d.ts +2 -2
  341. package/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.js +2 -2
  342. package/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.js.map +1 -1
  343. package/node_modules/@opentelemetry/sdk-logs/build/src/index.d.ts +1 -1
  344. package/node_modules/@opentelemetry/sdk-logs/build/src/index.js.map +1 -1
  345. package/node_modules/@opentelemetry/sdk-logs/build/src/internal/LoggerProviderSharedState.d.ts +1 -0
  346. package/node_modules/@opentelemetry/sdk-logs/build/src/internal/LoggerProviderSharedState.js +1 -0
  347. package/node_modules/@opentelemetry/sdk-logs/build/src/internal/LoggerProviderSharedState.js.map +1 -1
  348. package/node_modules/@opentelemetry/sdk-logs/build/src/platform/browser/export/BatchLogRecordProcessor.d.ts +3 -4
  349. package/node_modules/@opentelemetry/sdk-logs/build/src/platform/browser/export/BatchLogRecordProcessor.js +5 -5
  350. package/node_modules/@opentelemetry/sdk-logs/build/src/platform/browser/export/BatchLogRecordProcessor.js.map +1 -1
  351. package/node_modules/@opentelemetry/sdk-logs/build/src/platform/node/export/BatchLogRecordProcessor.d.ts +2 -2
  352. package/node_modules/@opentelemetry/sdk-logs/build/src/platform/node/export/BatchLogRecordProcessor.js.map +1 -1
  353. package/node_modules/@opentelemetry/sdk-logs/build/src/types.d.ts +8 -4
  354. package/node_modules/@opentelemetry/sdk-logs/build/src/types.js.map +1 -1
  355. package/node_modules/@opentelemetry/sdk-logs/build/src/version.d.ts +1 -1
  356. package/node_modules/@opentelemetry/sdk-logs/build/src/version.js +1 -1
  357. package/node_modules/@opentelemetry/sdk-logs/build/src/version.js.map +1 -1
  358. package/node_modules/@opentelemetry/sdk-logs/package.json +10 -10
  359. package/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.js +3 -4
  360. package/node_modules/@opentelemetry/sdk-metrics/build/esm/Instruments.js.map +1 -1
  361. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricDataSplitter.d.ts +10 -0
  362. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricDataSplitter.js +78 -0
  363. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/MetricDataSplitter.js.map +1 -0
  364. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.d.ts +13 -0
  365. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js +90 -24
  366. package/node_modules/@opentelemetry/sdk-metrics/build/esm/export/PeriodicExportingMetricReader.js.map +1 -1
  367. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.d.ts +2 -2
  368. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.js +4 -0
  369. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/AsyncMetricStorage.js.map +1 -1
  370. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.d.ts +2 -2
  371. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js +5 -3
  372. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/DeltaMetricProcessor.js.map +1 -1
  373. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.js +1 -2
  374. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MeterSharedState.js.map +1 -1
  375. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.d.ts +3 -2
  376. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.js +6 -0
  377. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/MultiWritableMetricStorage.js.map +1 -1
  378. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.d.ts +4 -3
  379. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.js +7 -2
  380. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/SyncMetricStorage.js.map +1 -1
  381. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/WritableMetricStorage.d.ts +3 -1
  382. package/node_modules/@opentelemetry/sdk-metrics/build/esm/state/WritableMetricStorage.js.map +1 -1
  383. package/node_modules/@opentelemetry/sdk-metrics/build/esm/version.d.ts +1 -1
  384. package/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js +1 -1
  385. package/node_modules/@opentelemetry/sdk-metrics/build/esm/version.js.map +1 -1
  386. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.js +3 -4
  387. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/Instruments.js.map +1 -1
  388. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricDataSplitter.d.ts +10 -0
  389. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricDataSplitter.js +78 -0
  390. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/MetricDataSplitter.js.map +1 -0
  391. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.d.ts +13 -0
  392. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js +90 -24
  393. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/export/PeriodicExportingMetricReader.js.map +1 -1
  394. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.d.ts +2 -2
  395. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.js +4 -0
  396. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/AsyncMetricStorage.js.map +1 -1
  397. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.d.ts +2 -2
  398. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js +5 -3
  399. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/DeltaMetricProcessor.js.map +1 -1
  400. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.js +1 -2
  401. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MeterSharedState.js.map +1 -1
  402. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.d.ts +3 -2
  403. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.js +6 -0
  404. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/MultiWritableMetricStorage.js.map +1 -1
  405. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.d.ts +4 -3
  406. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.js +7 -2
  407. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/SyncMetricStorage.js.map +1 -1
  408. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/WritableMetricStorage.d.ts +3 -1
  409. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/state/WritableMetricStorage.js.map +1 -1
  410. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.d.ts +1 -1
  411. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js +1 -1
  412. package/node_modules/@opentelemetry/sdk-metrics/build/esnext/version.js.map +1 -1
  413. package/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.js +2 -3
  414. package/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.js.map +1 -1
  415. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricDataSplitter.d.ts +10 -0
  416. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricDataSplitter.js +82 -0
  417. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricDataSplitter.js.map +1 -0
  418. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.d.ts +13 -0
  419. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js +90 -24
  420. package/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.js.map +1 -1
  421. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.d.ts +2 -2
  422. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.js +4 -0
  423. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.js.map +1 -1
  424. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.d.ts +2 -2
  425. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js +5 -3
  426. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.js.map +1 -1
  427. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.js +1 -2
  428. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.js.map +1 -1
  429. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.d.ts +3 -2
  430. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.js +6 -0
  431. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.js.map +1 -1
  432. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.d.ts +4 -3
  433. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.js +7 -2
  434. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.js.map +1 -1
  435. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/WritableMetricStorage.d.ts +3 -1
  436. package/node_modules/@opentelemetry/sdk-metrics/build/src/state/WritableMetricStorage.js.map +1 -1
  437. package/node_modules/@opentelemetry/sdk-metrics/build/src/version.d.ts +1 -1
  438. package/node_modules/@opentelemetry/sdk-metrics/build/src/version.js +1 -1
  439. package/node_modules/@opentelemetry/sdk-metrics/build/src/version.js.map +1 -1
  440. package/node_modules/@opentelemetry/sdk-metrics/package.json +9 -8
  441. package/node_modules/@opentelemetry/sdk-node/README.md +31 -9
  442. package/node_modules/@opentelemetry/sdk-node/build/src/create-from-config.d.ts +8 -0
  443. package/node_modules/@opentelemetry/sdk-node/build/src/create-from-config.js +26 -0
  444. package/node_modules/@opentelemetry/sdk-node/build/src/create-from-config.js.map +1 -0
  445. package/node_modules/@opentelemetry/sdk-node/build/src/create-from-env.d.ts +11 -0
  446. package/node_modules/@opentelemetry/sdk-node/build/src/create-from-env.js +80 -0
  447. package/node_modules/@opentelemetry/sdk-node/build/src/create-from-env.js.map +1 -0
  448. package/node_modules/@opentelemetry/sdk-node/build/src/index.d.ts +7 -1
  449. package/node_modules/@opentelemetry/sdk-node/build/src/index.js +8 -2
  450. package/node_modules/@opentelemetry/sdk-node/build/src/index.js.map +1 -1
  451. package/node_modules/@opentelemetry/sdk-node/build/src/sdk.d.ts +0 -1
  452. package/node_modules/@opentelemetry/sdk-node/build/src/sdk.js +28 -33
  453. package/node_modules/@opentelemetry/sdk-node/build/src/sdk.js.map +1 -1
  454. package/node_modules/@opentelemetry/sdk-node/build/src/start.js +65 -51
  455. package/node_modules/@opentelemetry/sdk-node/build/src/start.js.map +1 -1
  456. package/node_modules/@opentelemetry/sdk-node/build/src/types.d.ts +12 -4
  457. package/node_modules/@opentelemetry/sdk-node/build/src/types.js.map +1 -1
  458. package/node_modules/@opentelemetry/sdk-node/build/src/utils.d.ts +19 -11
  459. package/node_modules/@opentelemetry/sdk-node/build/src/utils.js +352 -181
  460. package/node_modules/@opentelemetry/sdk-node/build/src/utils.js.map +1 -1
  461. package/node_modules/@opentelemetry/sdk-node/build/src/version.d.ts +1 -1
  462. package/node_modules/@opentelemetry/sdk-node/build/src/version.js +1 -1
  463. package/node_modules/@opentelemetry/sdk-node/build/src/version.js.map +1 -1
  464. package/node_modules/@opentelemetry/sdk-node/package.json +29 -28
  465. package/node_modules/@opentelemetry/sdk-trace/LICENSE +201 -0
  466. package/node_modules/@opentelemetry/sdk-trace/README.md +352 -0
  467. package/node_modules/@opentelemetry/{sdk-trace-base/build/esnext → sdk-trace/build/esm}/Tracer.d.ts +2 -9
  468. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/Tracer.js +7 -23
  469. package/node_modules/@opentelemetry/sdk-trace/build/esm/Tracer.js.map +1 -0
  470. package/node_modules/@opentelemetry/{sdk-trace-base/build/src/BasicTracerProvider.d.ts → sdk-trace/build/esm/TracerProvider.d.ts} +8 -13
  471. package/node_modules/@opentelemetry/{sdk-trace-base/build/esnext/BasicTracerProvider.js → sdk-trace/build/esm/TracerProvider.js} +39 -21
  472. package/node_modules/@opentelemetry/sdk-trace/build/esm/TracerProvider.js.map +1 -0
  473. package/node_modules/@opentelemetry/{sdk-trace-base/build/esnext → sdk-trace/build/esm}/export/BatchSpanProcessorBase.d.ts +4 -4
  474. package/node_modules/@opentelemetry/{sdk-trace-base/build/esnext → sdk-trace/build/esm}/export/BatchSpanProcessorBase.js +21 -20
  475. package/node_modules/@opentelemetry/sdk-trace/build/esm/export/BatchSpanProcessorBase.js.map +1 -0
  476. package/node_modules/@opentelemetry/{sdk-trace-base/build/src → sdk-trace/build/esm}/export/SimpleSpanProcessor.d.ts +3 -2
  477. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/SimpleSpanProcessor.js +12 -3
  478. package/node_modules/@opentelemetry/sdk-trace/build/esm/export/SimpleSpanProcessor.js.map +1 -0
  479. package/node_modules/@opentelemetry/sdk-trace/build/esm/export/SpanProcessorMetrics.d.ts +18 -0
  480. package/node_modules/@opentelemetry/sdk-trace/build/esm/export/SpanProcessorMetrics.js +64 -0
  481. package/node_modules/@opentelemetry/sdk-trace/build/esm/export/SpanProcessorMetrics.js.map +1 -0
  482. package/node_modules/@opentelemetry/{sdk-trace-base/build/esnext → sdk-trace/build/esm}/index.d.ts +3 -2
  483. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/index.js +2 -1
  484. package/node_modules/@opentelemetry/sdk-trace/build/esm/index.js.map +1 -0
  485. package/node_modules/@opentelemetry/sdk-trace/build/esm/platform/browser/export/BatchSpanProcessor.d.ts +10 -0
  486. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/browser/export/BatchSpanProcessor.js +5 -5
  487. package/node_modules/@opentelemetry/sdk-trace/build/esm/platform/browser/export/BatchSpanProcessor.js.map +1 -0
  488. package/node_modules/@opentelemetry/{sdk-trace-base/build/src → sdk-trace/build/esm}/platform/node/export/BatchSpanProcessor.d.ts +2 -2
  489. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/node/export/BatchSpanProcessor.js.map +1 -1
  490. package/node_modules/@opentelemetry/sdk-trace/build/esm/sampler/AlwaysRecordSampler.d.ts +7 -0
  491. package/node_modules/@opentelemetry/sdk-trace/build/esm/sampler/AlwaysRecordSampler.js +31 -0
  492. package/node_modules/@opentelemetry/sdk-trace/build/esm/sampler/AlwaysRecordSampler.js.map +1 -0
  493. package/node_modules/@opentelemetry/sdk-trace/build/esm/semconv.d.ts +103 -0
  494. package/node_modules/@opentelemetry/sdk-trace/build/esm/semconv.js +112 -0
  495. package/node_modules/@opentelemetry/sdk-trace/build/esm/semconv.js.map +1 -0
  496. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/types.d.ts +32 -25
  497. package/node_modules/@opentelemetry/sdk-trace/build/esm/types.js.map +1 -0
  498. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +2 -0
  499. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +7 -0
  500. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.js.map +1 -0
  501. package/node_modules/@opentelemetry/{sdk-trace-base/build/src → sdk-trace/build/esnext}/Tracer.d.ts +2 -9
  502. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/Tracer.js +7 -23
  503. package/node_modules/@opentelemetry/sdk-trace/build/esnext/Tracer.js.map +1 -0
  504. package/node_modules/@opentelemetry/{sdk-trace-base/build/esm/BasicTracerProvider.d.ts → sdk-trace/build/esnext/TracerProvider.d.ts} +8 -13
  505. package/node_modules/@opentelemetry/{sdk-trace-base/build/esm/BasicTracerProvider.js → sdk-trace/build/esnext/TracerProvider.js} +39 -21
  506. package/node_modules/@opentelemetry/sdk-trace/build/esnext/TracerProvider.js.map +1 -0
  507. package/node_modules/@opentelemetry/{sdk-trace-base/build/src → sdk-trace/build/esnext}/export/BatchSpanProcessorBase.d.ts +4 -4
  508. package/node_modules/@opentelemetry/{sdk-trace-base/build/esm → sdk-trace/build/esnext}/export/BatchSpanProcessorBase.js +21 -20
  509. package/node_modules/@opentelemetry/sdk-trace/build/esnext/export/BatchSpanProcessorBase.js.map +1 -0
  510. package/node_modules/@opentelemetry/{sdk-trace-base/build/esm → sdk-trace/build/esnext}/export/SimpleSpanProcessor.d.ts +3 -2
  511. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/SimpleSpanProcessor.js +12 -3
  512. package/node_modules/@opentelemetry/sdk-trace/build/esnext/export/SimpleSpanProcessor.js.map +1 -0
  513. package/node_modules/@opentelemetry/sdk-trace/build/esnext/export/SpanProcessorMetrics.d.ts +18 -0
  514. package/node_modules/@opentelemetry/sdk-trace/build/esnext/export/SpanProcessorMetrics.js +64 -0
  515. package/node_modules/@opentelemetry/sdk-trace/build/esnext/export/SpanProcessorMetrics.js.map +1 -0
  516. package/node_modules/@opentelemetry/{sdk-trace-base/build/src → sdk-trace/build/esnext}/index.d.ts +3 -2
  517. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/index.js +2 -1
  518. package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js.map +1 -0
  519. package/node_modules/@opentelemetry/sdk-trace/build/esnext/platform/browser/export/BatchSpanProcessor.d.ts +10 -0
  520. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/browser/export/BatchSpanProcessor.js +5 -5
  521. package/node_modules/@opentelemetry/sdk-trace/build/esnext/platform/browser/export/BatchSpanProcessor.js.map +1 -0
  522. package/node_modules/@opentelemetry/{sdk-trace-base/build/esm → sdk-trace/build/esnext}/platform/node/export/BatchSpanProcessor.d.ts +2 -2
  523. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/node/export/BatchSpanProcessor.js.map +1 -1
  524. package/node_modules/@opentelemetry/sdk-trace/build/esnext/sampler/AlwaysRecordSampler.d.ts +7 -0
  525. package/node_modules/@opentelemetry/sdk-trace/build/esnext/sampler/AlwaysRecordSampler.js +31 -0
  526. package/node_modules/@opentelemetry/sdk-trace/build/esnext/sampler/AlwaysRecordSampler.js.map +1 -0
  527. package/node_modules/@opentelemetry/sdk-trace/build/esnext/semconv.d.ts +103 -0
  528. package/node_modules/@opentelemetry/sdk-trace/build/esnext/semconv.js +112 -0
  529. package/node_modules/@opentelemetry/sdk-trace/build/esnext/semconv.js.map +1 -0
  530. package/node_modules/@opentelemetry/{sdk-trace-base/build/src → sdk-trace/build/esnext}/types.d.ts +32 -25
  531. package/node_modules/@opentelemetry/sdk-trace/build/esnext/types.js.map +1 -0
  532. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +2 -0
  533. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +7 -0
  534. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js.map +1 -0
  535. package/node_modules/@opentelemetry/{sdk-trace-base/build/esm → sdk-trace/build/src}/Tracer.d.ts +2 -9
  536. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/Tracer.js +7 -23
  537. package/node_modules/@opentelemetry/sdk-trace/build/src/Tracer.js.map +1 -0
  538. package/node_modules/@opentelemetry/{sdk-trace-base/build/esnext/BasicTracerProvider.d.ts → sdk-trace/build/src/TracerProvider.d.ts} +8 -13
  539. package/node_modules/@opentelemetry/{sdk-trace-base/build/src/BasicTracerProvider.js → sdk-trace/build/src/TracerProvider.js} +41 -23
  540. package/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.js.map +1 -0
  541. package/node_modules/@opentelemetry/{sdk-trace-base/build/esm → sdk-trace/build/src}/export/BatchSpanProcessorBase.d.ts +4 -4
  542. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/BatchSpanProcessorBase.js +19 -18
  543. package/node_modules/@opentelemetry/sdk-trace/build/src/export/BatchSpanProcessorBase.js.map +1 -0
  544. package/node_modules/@opentelemetry/{sdk-trace-base/build/esnext → sdk-trace/build/src}/export/SimpleSpanProcessor.d.ts +3 -2
  545. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/SimpleSpanProcessor.js +11 -2
  546. package/node_modules/@opentelemetry/sdk-trace/build/src/export/SimpleSpanProcessor.js.map +1 -0
  547. package/node_modules/@opentelemetry/sdk-trace/build/src/export/SpanProcessorMetrics.d.ts +18 -0
  548. package/node_modules/@opentelemetry/sdk-trace/build/src/export/SpanProcessorMetrics.js +68 -0
  549. package/node_modules/@opentelemetry/sdk-trace/build/src/export/SpanProcessorMetrics.js.map +1 -0
  550. package/node_modules/@opentelemetry/{sdk-trace-base/build/esm → sdk-trace/build/src}/index.d.ts +3 -2
  551. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/index.js +5 -3
  552. package/node_modules/@opentelemetry/sdk-trace/build/src/index.js.map +1 -0
  553. package/node_modules/@opentelemetry/sdk-trace/build/src/platform/browser/export/BatchSpanProcessor.d.ts +10 -0
  554. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/browser/export/BatchSpanProcessor.js +5 -5
  555. package/node_modules/@opentelemetry/sdk-trace/build/src/platform/browser/export/BatchSpanProcessor.js.map +1 -0
  556. package/node_modules/@opentelemetry/{sdk-trace-base/build/esnext → sdk-trace/build/src}/platform/node/export/BatchSpanProcessor.d.ts +2 -2
  557. package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/node/export/BatchSpanProcessor.js.map +1 -1
  558. package/node_modules/@opentelemetry/sdk-trace/build/src/sampler/AlwaysRecordSampler.d.ts +7 -0
  559. package/node_modules/@opentelemetry/sdk-trace/build/src/sampler/AlwaysRecordSampler.js +35 -0
  560. package/node_modules/@opentelemetry/sdk-trace/build/src/sampler/AlwaysRecordSampler.js.map +1 -0
  561. package/node_modules/@opentelemetry/sdk-trace/build/src/semconv.d.ts +103 -0
  562. package/node_modules/@opentelemetry/sdk-trace/build/src/semconv.js +115 -0
  563. package/node_modules/@opentelemetry/sdk-trace/build/src/semconv.js.map +1 -0
  564. package/node_modules/@opentelemetry/{sdk-trace-base/build/esnext → sdk-trace/build/src}/types.d.ts +32 -25
  565. package/node_modules/@opentelemetry/sdk-trace/build/src/types.js.map +1 -0
  566. package/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +2 -0
  567. package/node_modules/@opentelemetry/sdk-trace/build/src/version.js +10 -0
  568. package/node_modules/@opentelemetry/sdk-trace/build/src/version.js.map +1 -0
  569. package/node_modules/@opentelemetry/sdk-trace/package.json +99 -0
  570. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider-shim.d.ts +11 -0
  571. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider-shim.js +21 -0
  572. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider-shim.js.map +1 -0
  573. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BatchSpanProcessor-shim.d.ts +11 -0
  574. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BatchSpanProcessor-shim.js +33 -0
  575. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BatchSpanProcessor-shim.js.map +1 -0
  576. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/SimpleSpanProcessor-shim.d.ts +11 -0
  577. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/SimpleSpanProcessor-shim.js +16 -0
  578. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/SimpleSpanProcessor-shim.js.map +1 -0
  579. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/config.d.ts +1 -1
  580. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/config.js +1 -4
  581. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/config.js.map +1 -1
  582. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/index-shim.d.ts +7 -0
  583. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/index-shim.js +9 -0
  584. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/index-shim.js.map +1 -0
  585. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/types-shim.d.ts +49 -0
  586. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/types-shim.js +6 -0
  587. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/types-shim.js.map +1 -0
  588. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/utility.d.ts +1 -11
  589. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/utility.js +0 -15
  590. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/utility.js.map +1 -1
  591. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.d.ts +1 -1
  592. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js +1 -1
  593. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js.map +1 -1
  594. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BasicTracerProvider-shim.d.ts +11 -0
  595. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BasicTracerProvider-shim.js +21 -0
  596. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BasicTracerProvider-shim.js.map +1 -0
  597. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BatchSpanProcessor-shim.d.ts +11 -0
  598. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BatchSpanProcessor-shim.js +33 -0
  599. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BatchSpanProcessor-shim.js.map +1 -0
  600. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/SimpleSpanProcessor-shim.d.ts +11 -0
  601. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/SimpleSpanProcessor-shim.js +16 -0
  602. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/SimpleSpanProcessor-shim.js.map +1 -0
  603. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/config.d.ts +1 -1
  604. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/config.js +1 -4
  605. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/config.js.map +1 -1
  606. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/index-shim.d.ts +7 -0
  607. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/index-shim.js +9 -0
  608. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/index-shim.js.map +1 -0
  609. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/types-shim.d.ts +49 -0
  610. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/types-shim.js +6 -0
  611. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/types-shim.js.map +1 -0
  612. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/utility.d.ts +1 -11
  613. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/utility.js +0 -15
  614. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/utility.js.map +1 -1
  615. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.d.ts +1 -1
  616. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js +1 -1
  617. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js.map +1 -1
  618. package/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider-shim.d.ts +11 -0
  619. package/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider-shim.js +25 -0
  620. package/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider-shim.js.map +1 -0
  621. package/node_modules/@opentelemetry/sdk-trace-base/build/src/BatchSpanProcessor-shim.d.ts +11 -0
  622. package/node_modules/@opentelemetry/sdk-trace-base/build/src/BatchSpanProcessor-shim.js +37 -0
  623. package/node_modules/@opentelemetry/sdk-trace-base/build/src/BatchSpanProcessor-shim.js.map +1 -0
  624. package/node_modules/@opentelemetry/sdk-trace-base/build/src/SimpleSpanProcessor-shim.d.ts +11 -0
  625. package/node_modules/@opentelemetry/sdk-trace-base/build/src/SimpleSpanProcessor-shim.js +20 -0
  626. package/node_modules/@opentelemetry/sdk-trace-base/build/src/SimpleSpanProcessor-shim.js.map +1 -0
  627. package/node_modules/@opentelemetry/sdk-trace-base/build/src/config.d.ts +1 -1
  628. package/node_modules/@opentelemetry/sdk-trace-base/build/src/config.js +12 -15
  629. package/node_modules/@opentelemetry/sdk-trace-base/build/src/config.js.map +1 -1
  630. package/node_modules/@opentelemetry/sdk-trace-base/build/src/index-shim.d.ts +7 -0
  631. package/node_modules/@opentelemetry/sdk-trace-base/build/src/index-shim.js +24 -0
  632. package/node_modules/@opentelemetry/sdk-trace-base/build/src/index-shim.js.map +1 -0
  633. package/node_modules/@opentelemetry/sdk-trace-base/build/src/types-shim.d.ts +49 -0
  634. package/node_modules/@opentelemetry/sdk-trace-base/build/src/types-shim.js +7 -0
  635. package/node_modules/@opentelemetry/sdk-trace-base/build/src/types-shim.js.map +1 -0
  636. package/node_modules/@opentelemetry/sdk-trace-base/build/src/utility.d.ts +1 -11
  637. package/node_modules/@opentelemetry/sdk-trace-base/build/src/utility.js +1 -17
  638. package/node_modules/@opentelemetry/sdk-trace-base/build/src/utility.js.map +1 -1
  639. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.d.ts +1 -1
  640. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js +1 -1
  641. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js.map +1 -1
  642. package/node_modules/@opentelemetry/sdk-trace-base/package.json +12 -12
  643. package/node_modules/@opentelemetry/sdk-trace-node/build/src/version.d.ts +1 -1
  644. package/node_modules/@opentelemetry/sdk-trace-node/build/src/version.js +1 -1
  645. package/node_modules/@opentelemetry/sdk-trace-node/build/src/version.js.map +1 -1
  646. package/node_modules/@opentelemetry/sdk-trace-node/package.json +7 -7
  647. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.d.ts +271 -602
  648. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js +271 -602
  649. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js.map +1 -1
  650. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.d.ts +26 -0
  651. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js +26 -0
  652. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js.map +1 -1
  653. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.d.ts +176 -111
  654. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js +176 -111
  655. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js.map +1 -1
  656. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.d.ts +511 -6
  657. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js +511 -6
  658. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js.map +1 -1
  659. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.d.ts +1 -1
  660. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js +1 -1
  661. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js.map +1 -1
  662. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.d.ts +271 -602
  663. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js +271 -602
  664. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js.map +1 -1
  665. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.d.ts +26 -0
  666. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js +26 -0
  667. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js.map +1 -1
  668. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.d.ts +176 -111
  669. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js +176 -111
  670. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js.map +1 -1
  671. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.d.ts +511 -6
  672. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js +511 -6
  673. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js.map +1 -1
  674. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.d.ts +1 -1
  675. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js +1 -1
  676. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js.map +1 -1
  677. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.d.ts +271 -602
  678. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js +307 -655
  679. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js.map +1 -1
  680. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.d.ts +26 -0
  681. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js +27 -1
  682. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js.map +1 -1
  683. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.d.ts +176 -111
  684. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js +183 -118
  685. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js.map +1 -1
  686. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.d.ts +511 -6
  687. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js +533 -9
  688. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js.map +1 -1
  689. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.d.ts +1 -1
  690. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js +1 -1
  691. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js.map +1 -1
  692. package/node_modules/@opentelemetry/semantic-conventions/package.json +4 -4
  693. package/node_modules/@protobufjs/utf8/CHANGELOG.md +8 -0
  694. package/node_modules/@protobufjs/utf8/index.js +29 -18
  695. package/node_modules/@protobufjs/utf8/package.json +2 -2
  696. package/node_modules/@protobufjs/utf8/tests/index.js +5 -0
  697. package/node_modules/@types/node/README.md +1 -1
  698. package/node_modules/@types/node/fs/promises.d.ts +16 -6
  699. package/node_modules/@types/node/package.json +2 -2
  700. package/node_modules/es-module-lexer/LICENSE +10 -0
  701. package/node_modules/es-module-lexer/README.md +403 -0
  702. package/node_modules/es-module-lexer/dist/lexer.asm.js +2 -0
  703. package/node_modules/es-module-lexer/dist/lexer.cjs +1 -0
  704. package/node_modules/es-module-lexer/dist/lexer.js +2 -0
  705. package/node_modules/es-module-lexer/dist/lexer.minimal.asm.js +2 -0
  706. package/node_modules/es-module-lexer/dist/lexer.minimal.cjs +1 -0
  707. package/node_modules/es-module-lexer/dist/lexer.minimal.js +2 -0
  708. package/node_modules/es-module-lexer/lexer.js +1009 -0
  709. package/node_modules/es-module-lexer/package.json +67 -0
  710. package/node_modules/es-module-lexer/types/lexer.d.ts +227 -0
  711. package/node_modules/es-module-lexer/types/lexer.minimal.d.ts +46 -0
  712. package/node_modules/import-in-the-middle/CHANGELOG.md +37 -0
  713. package/node_modules/import-in-the-middle/README.md +63 -7
  714. package/node_modules/import-in-the-middle/create-hook.mjs +192 -158
  715. package/node_modules/import-in-the-middle/lib/get-esm-exports.mjs +128 -93
  716. package/node_modules/import-in-the-middle/lib/get-exports.mjs +55 -138
  717. package/node_modules/import-in-the-middle/lib/register.js +136 -0
  718. package/node_modules/import-in-the-middle/package.json +2 -3
  719. package/node_modules/import-in-the-middle/register-hooks.d.ts +11 -2
  720. package/node_modules/import-in-the-middle/register-hooks.mjs +2 -1
  721. package/node_modules/import-in-the-middle/supports-sync-hooks.mjs +47 -0
  722. package/node_modules/protobufjs/dist/light/protobuf.js +145 -188
  723. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  724. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  725. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  726. package/node_modules/protobufjs/dist/minimal/protobuf.js +33 -76
  727. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  728. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  729. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  730. package/node_modules/protobufjs/dist/protobuf.js +168 -208
  731. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  732. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  733. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  734. package/node_modules/protobufjs/index.d.ts +0 -8
  735. package/node_modules/protobufjs/package.json +2 -3
  736. package/node_modules/protobufjs/src/parse.js +3 -0
  737. package/node_modules/protobufjs/src/util/minimal.js +0 -3
  738. package/package.json +14 -15
  739. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.js.map +0 -1
  740. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/Tracer.js.map +0 -1
  741. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/export/BatchSpanProcessorBase.js.map +0 -1
  742. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/export/SimpleSpanProcessor.js.map +0 -1
  743. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/index.js.map +0 -1
  744. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/platform/browser/export/BatchSpanProcessor.d.ts +0 -11
  745. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/platform/browser/export/BatchSpanProcessor.js.map +0 -1
  746. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/semconv.d.ts +0 -27
  747. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/semconv.js +0 -36
  748. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/semconv.js.map +0 -1
  749. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/types.js.map +0 -1
  750. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/BasicTracerProvider.js.map +0 -1
  751. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/Tracer.js.map +0 -1
  752. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/export/BatchSpanProcessorBase.js.map +0 -1
  753. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/export/SimpleSpanProcessor.js.map +0 -1
  754. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/index.js.map +0 -1
  755. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/platform/browser/export/BatchSpanProcessor.d.ts +0 -11
  756. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/platform/browser/export/BatchSpanProcessor.js.map +0 -1
  757. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/semconv.d.ts +0 -27
  758. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/semconv.js +0 -36
  759. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/semconv.js.map +0 -1
  760. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/types.js.map +0 -1
  761. package/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.js.map +0 -1
  762. package/node_modules/@opentelemetry/sdk-trace-base/build/src/Tracer.js.map +0 -1
  763. package/node_modules/@opentelemetry/sdk-trace-base/build/src/export/BatchSpanProcessorBase.js.map +0 -1
  764. package/node_modules/@opentelemetry/sdk-trace-base/build/src/export/SimpleSpanProcessor.js.map +0 -1
  765. package/node_modules/@opentelemetry/sdk-trace-base/build/src/index.js.map +0 -1
  766. package/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/browser/export/BatchSpanProcessor.d.ts +0 -11
  767. package/node_modules/@opentelemetry/sdk-trace-base/build/src/platform/browser/export/BatchSpanProcessor.js.map +0 -1
  768. package/node_modules/@opentelemetry/sdk-trace-base/build/src/semconv.d.ts +0 -27
  769. package/node_modules/@opentelemetry/sdk-trace-base/build/src/semconv.js +0 -39
  770. package/node_modules/@opentelemetry/sdk-trace-base/build/src/semconv.js.map +0 -1
  771. package/node_modules/@opentelemetry/sdk-trace-base/build/src/types.js.map +0 -1
  772. package/node_modules/@protobufjs/inquire/CHANGELOG.md +0 -8
  773. package/node_modules/@protobufjs/inquire/LICENSE +0 -26
  774. package/node_modules/@protobufjs/inquire/README.md +0 -13
  775. package/node_modules/@protobufjs/inquire/index.d.ts +0 -10
  776. package/node_modules/@protobufjs/inquire/index.js +0 -38
  777. package/node_modules/@protobufjs/inquire/package.json +0 -21
  778. package/node_modules/@protobufjs/inquire/tests/data/array.js +0 -1
  779. package/node_modules/@protobufjs/inquire/tests/data/emptyArray.js +0 -1
  780. package/node_modules/@protobufjs/inquire/tests/data/emptyObject.js +0 -1
  781. package/node_modules/@protobufjs/inquire/tests/data/object.js +0 -1
  782. package/node_modules/@protobufjs/inquire/tests/index.js +0 -20
  783. package/node_modules/acorn/CHANGELOG.md +0 -986
  784. package/node_modules/acorn/LICENSE +0 -21
  785. package/node_modules/acorn/README.md +0 -304
  786. package/node_modules/acorn/bin/acorn +0 -4
  787. package/node_modules/acorn/dist/acorn.d.mts +0 -889
  788. package/node_modules/acorn/dist/acorn.d.ts +0 -889
  789. package/node_modules/acorn/dist/acorn.js +0 -6333
  790. package/node_modules/acorn/dist/acorn.mjs +0 -6304
  791. package/node_modules/acorn/dist/bin.js +0 -90
  792. package/node_modules/acorn/package.json +0 -50
  793. package/node_modules/acorn-import-attributes/LICENSE +0 -21
  794. package/node_modules/acorn-import-attributes/README.md +0 -21
  795. package/node_modules/acorn-import-attributes/lib/index.js +0 -286
  796. package/node_modules/acorn-import-attributes/lib/index.mjs +0 -291
  797. package/node_modules/acorn-import-attributes/package.json +0 -49
  798. package/node_modules/acorn-import-attributes/src/index.js +0 -291
  799. package/npm-shrinkwrap.json +0 -970
  800. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/IdGenerator.d.ts +0 -0
  801. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/IdGenerator.js +0 -0
  802. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/IdGenerator.js.map +0 -0
  803. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/MultiSpanProcessor.d.ts +0 -0
  804. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/MultiSpanProcessor.js +0 -0
  805. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/MultiSpanProcessor.js.map +0 -0
  806. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/Sampler.d.ts +0 -0
  807. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/Sampler.js +0 -0
  808. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/Sampler.js.map +0 -0
  809. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/Span.d.ts +0 -0
  810. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/Span.js +0 -0
  811. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/Span.js.map +0 -0
  812. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/SpanProcessor.d.ts +0 -0
  813. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/SpanProcessor.js +0 -0
  814. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/SpanProcessor.js.map +0 -0
  815. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/TimedEvent.d.ts +0 -0
  816. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/TimedEvent.js +0 -0
  817. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/TimedEvent.js.map +0 -0
  818. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/TracerMetrics.d.ts +0 -0
  819. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/TracerMetrics.js +0 -0
  820. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/TracerMetrics.js.map +0 -0
  821. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/enums.d.ts +0 -0
  822. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/enums.js +0 -0
  823. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/enums.js.map +0 -0
  824. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/ConsoleSpanExporter.d.ts +0 -0
  825. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/ConsoleSpanExporter.js +0 -0
  826. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/ConsoleSpanExporter.js.map +0 -0
  827. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/InMemorySpanExporter.d.ts +0 -0
  828. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/InMemorySpanExporter.js +0 -0
  829. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/InMemorySpanExporter.js.map +0 -0
  830. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/NoopSpanProcessor.d.ts +0 -0
  831. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/NoopSpanProcessor.js +0 -0
  832. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/NoopSpanProcessor.js.map +0 -0
  833. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/ReadableSpan.d.ts +0 -0
  834. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/ReadableSpan.js +0 -0
  835. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/ReadableSpan.js.map +0 -0
  836. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/SpanExporter.d.ts +0 -0
  837. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/SpanExporter.js +0 -0
  838. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/export/SpanExporter.js.map +0 -0
  839. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/inspect.d.ts +0 -0
  840. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/inspect.js +0 -0
  841. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/inspect.js.map +0 -0
  842. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/browser/RandomIdGenerator.d.ts +0 -0
  843. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/browser/RandomIdGenerator.js +0 -0
  844. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/browser/RandomIdGenerator.js.map +0 -0
  845. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/browser/index.d.ts +0 -0
  846. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/browser/index.js +0 -0
  847. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/browser/index.js.map +0 -0
  848. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/index.d.ts +0 -0
  849. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/index.js +0 -0
  850. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/index.js.map +0 -0
  851. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/node/RandomIdGenerator.d.ts +0 -0
  852. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/node/RandomIdGenerator.js +0 -0
  853. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/node/RandomIdGenerator.js.map +0 -0
  854. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/node/export/BatchSpanProcessor.js +0 -0
  855. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/node/index.d.ts +0 -0
  856. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/node/index.js +0 -0
  857. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/platform/node/index.js.map +0 -0
  858. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/AlwaysOffSampler.d.ts +0 -0
  859. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/AlwaysOffSampler.js +0 -0
  860. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/AlwaysOffSampler.js.map +0 -0
  861. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/AlwaysOnSampler.d.ts +0 -0
  862. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/AlwaysOnSampler.js +0 -0
  863. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/AlwaysOnSampler.js.map +0 -0
  864. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/ParentBasedSampler.d.ts +0 -0
  865. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/ParentBasedSampler.js +0 -0
  866. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/ParentBasedSampler.js.map +0 -0
  867. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/TraceIdRatioBasedSampler.d.ts +0 -0
  868. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/TraceIdRatioBasedSampler.js +0 -0
  869. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/sampler/TraceIdRatioBasedSampler.js.map +0 -0
  870. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esm/types.js +0 -0
  871. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/IdGenerator.d.ts +0 -0
  872. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/IdGenerator.js +0 -0
  873. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/IdGenerator.js.map +0 -0
  874. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/MultiSpanProcessor.d.ts +0 -0
  875. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/MultiSpanProcessor.js +0 -0
  876. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/MultiSpanProcessor.js.map +0 -0
  877. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/Sampler.d.ts +0 -0
  878. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/Sampler.js +0 -0
  879. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/Sampler.js.map +0 -0
  880. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/Span.d.ts +0 -0
  881. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/Span.js +0 -0
  882. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/Span.js.map +0 -0
  883. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/SpanProcessor.d.ts +0 -0
  884. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/SpanProcessor.js +0 -0
  885. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/SpanProcessor.js.map +0 -0
  886. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/TimedEvent.d.ts +0 -0
  887. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/TimedEvent.js +0 -0
  888. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/TimedEvent.js.map +0 -0
  889. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/TracerMetrics.d.ts +0 -0
  890. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/TracerMetrics.js +0 -0
  891. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/TracerMetrics.js.map +0 -0
  892. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/enums.d.ts +0 -0
  893. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/enums.js +0 -0
  894. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/enums.js.map +0 -0
  895. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/ConsoleSpanExporter.d.ts +0 -0
  896. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/ConsoleSpanExporter.js +0 -0
  897. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/ConsoleSpanExporter.js.map +0 -0
  898. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/InMemorySpanExporter.d.ts +0 -0
  899. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/InMemorySpanExporter.js +0 -0
  900. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/InMemorySpanExporter.js.map +0 -0
  901. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/NoopSpanProcessor.d.ts +0 -0
  902. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/NoopSpanProcessor.js +0 -0
  903. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/NoopSpanProcessor.js.map +0 -0
  904. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/ReadableSpan.d.ts +0 -0
  905. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/ReadableSpan.js +0 -0
  906. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/ReadableSpan.js.map +0 -0
  907. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/SpanExporter.d.ts +0 -0
  908. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/SpanExporter.js +0 -0
  909. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/export/SpanExporter.js.map +0 -0
  910. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/inspect.d.ts +0 -0
  911. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/inspect.js +0 -0
  912. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/inspect.js.map +0 -0
  913. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/browser/RandomIdGenerator.d.ts +0 -0
  914. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/browser/RandomIdGenerator.js +0 -0
  915. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/browser/RandomIdGenerator.js.map +0 -0
  916. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/browser/index.d.ts +0 -0
  917. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/browser/index.js +0 -0
  918. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/browser/index.js.map +0 -0
  919. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/index.d.ts +0 -0
  920. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/index.js +0 -0
  921. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/index.js.map +0 -0
  922. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/node/RandomIdGenerator.d.ts +0 -0
  923. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/node/RandomIdGenerator.js +0 -0
  924. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/node/RandomIdGenerator.js.map +0 -0
  925. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/node/export/BatchSpanProcessor.js +0 -0
  926. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/node/index.d.ts +0 -0
  927. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/node/index.js +0 -0
  928. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/platform/node/index.js.map +0 -0
  929. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/AlwaysOffSampler.d.ts +0 -0
  930. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/AlwaysOffSampler.js +0 -0
  931. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/AlwaysOffSampler.js.map +0 -0
  932. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/AlwaysOnSampler.d.ts +0 -0
  933. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/AlwaysOnSampler.js +0 -0
  934. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/AlwaysOnSampler.js.map +0 -0
  935. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/ParentBasedSampler.d.ts +0 -0
  936. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/ParentBasedSampler.js +0 -0
  937. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/ParentBasedSampler.js.map +0 -0
  938. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/TraceIdRatioBasedSampler.d.ts +0 -0
  939. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/TraceIdRatioBasedSampler.js +0 -0
  940. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/sampler/TraceIdRatioBasedSampler.js.map +0 -0
  941. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/esnext/types.js +0 -0
  942. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/IdGenerator.d.ts +0 -0
  943. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/IdGenerator.js +0 -0
  944. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/IdGenerator.js.map +0 -0
  945. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/MultiSpanProcessor.d.ts +0 -0
  946. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/MultiSpanProcessor.js +0 -0
  947. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/MultiSpanProcessor.js.map +0 -0
  948. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/Sampler.d.ts +0 -0
  949. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/Sampler.js +0 -0
  950. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/Sampler.js.map +0 -0
  951. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/Span.d.ts +0 -0
  952. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/Span.js +0 -0
  953. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/Span.js.map +0 -0
  954. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/SpanProcessor.d.ts +0 -0
  955. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/SpanProcessor.js +0 -0
  956. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/SpanProcessor.js.map +0 -0
  957. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/TimedEvent.d.ts +0 -0
  958. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/TimedEvent.js +0 -0
  959. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/TimedEvent.js.map +0 -0
  960. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/TracerMetrics.d.ts +0 -0
  961. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/TracerMetrics.js +0 -0
  962. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/TracerMetrics.js.map +0 -0
  963. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/enums.d.ts +0 -0
  964. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/enums.js +0 -0
  965. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/enums.js.map +0 -0
  966. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/ConsoleSpanExporter.d.ts +0 -0
  967. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/ConsoleSpanExporter.js +0 -0
  968. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/ConsoleSpanExporter.js.map +0 -0
  969. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/InMemorySpanExporter.d.ts +0 -0
  970. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/InMemorySpanExporter.js +0 -0
  971. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/InMemorySpanExporter.js.map +0 -0
  972. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/NoopSpanProcessor.d.ts +0 -0
  973. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/NoopSpanProcessor.js +0 -0
  974. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/NoopSpanProcessor.js.map +0 -0
  975. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/ReadableSpan.d.ts +0 -0
  976. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/ReadableSpan.js +0 -0
  977. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/ReadableSpan.js.map +0 -0
  978. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/SpanExporter.d.ts +0 -0
  979. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/SpanExporter.js +0 -0
  980. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/export/SpanExporter.js.map +0 -0
  981. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/inspect.d.ts +0 -0
  982. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/inspect.js +0 -0
  983. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/inspect.js.map +0 -0
  984. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/browser/RandomIdGenerator.d.ts +0 -0
  985. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/browser/RandomIdGenerator.js +0 -0
  986. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/browser/RandomIdGenerator.js.map +0 -0
  987. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/browser/index.d.ts +0 -0
  988. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/browser/index.js +0 -0
  989. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/browser/index.js.map +0 -0
  990. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/index.d.ts +0 -0
  991. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/index.js +0 -0
  992. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/index.js.map +0 -0
  993. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/node/RandomIdGenerator.d.ts +0 -0
  994. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/node/RandomIdGenerator.js +0 -0
  995. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/node/RandomIdGenerator.js.map +0 -0
  996. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/node/export/BatchSpanProcessor.js +0 -0
  997. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/node/index.d.ts +0 -0
  998. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/node/index.js +0 -0
  999. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/platform/node/index.js.map +0 -0
  1000. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/AlwaysOffSampler.d.ts +0 -0
  1001. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/AlwaysOffSampler.js +0 -0
  1002. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/AlwaysOffSampler.js.map +0 -0
  1003. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/AlwaysOnSampler.d.ts +0 -0
  1004. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/AlwaysOnSampler.js +0 -0
  1005. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/AlwaysOnSampler.js.map +0 -0
  1006. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/ParentBasedSampler.d.ts +0 -0
  1007. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/ParentBasedSampler.js +0 -0
  1008. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/ParentBasedSampler.js.map +0 -0
  1009. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/TraceIdRatioBasedSampler.d.ts +0 -0
  1010. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/TraceIdRatioBasedSampler.js +0 -0
  1011. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/sampler/TraceIdRatioBasedSampler.js.map +0 -0
  1012. /package/node_modules/@opentelemetry/{sdk-trace-base → sdk-trace}/build/src/types.js +0 -0
@@ -7,6 +7,7 @@ import { internal, ExportResultCode, globalErrorHandler, } from '@opentelemetry/
7
7
  import { MetricReader } from './MetricReader';
8
8
  import { callWithTimeout, TimeoutError } from '../utils';
9
9
  import { InstrumentType } from './MetricData';
10
+ import { splitMetricData } from './MetricDataSplitter';
10
11
  import { OTEL_COMPONENT_TYPE_VALUE_PERIODIC_METRIC_READER } from '../semconv';
11
12
  /**
12
13
  * {@link MetricReader} which collects metrics based on a user-configurable time interval, and passes the metrics to
@@ -17,8 +18,10 @@ export class PeriodicExportingMetricReader extends MetricReader {
17
18
  _exporter;
18
19
  _exportInterval;
19
20
  _exportTimeout;
21
+ _maxExportBatchSize;
22
+ _ongoingExportPromise = null;
20
23
  constructor(options) {
21
- const { exporter, exportIntervalMillis = 60000, metricProducers, cardinalityLimits, } = options;
24
+ const { exporter, exportIntervalMillis = 60000, metricProducers, cardinalityLimits, maxExportBatchSize, } = options;
22
25
  let { exportTimeoutMillis = 30000 } = options;
23
26
  super({
24
27
  aggregationSelector: exporter.selectAggregation?.bind(exporter),
@@ -56,6 +59,10 @@ export class PeriodicExportingMetricReader extends MetricReader {
56
59
  if (exportTimeoutMillis <= 0) {
57
60
  throw Error('exportTimeoutMillis must be greater than 0');
58
61
  }
62
+ if (maxExportBatchSize !== undefined &&
63
+ (!Number.isInteger(maxExportBatchSize) || maxExportBatchSize <= 0)) {
64
+ throw Error('maxExportBatchSize must be a positive integer');
65
+ }
59
66
  if (exportIntervalMillis < exportTimeoutMillis) {
60
67
  if ('exportIntervalMillis' in options &&
61
68
  'exportTimeoutMillis' in options) {
@@ -71,41 +78,73 @@ export class PeriodicExportingMetricReader extends MetricReader {
71
78
  this._exportInterval = exportIntervalMillis;
72
79
  this._exportTimeout = exportTimeoutMillis;
73
80
  this._exporter = exporter;
81
+ this._maxExportBatchSize = maxExportBatchSize;
74
82
  }
75
83
  async _runOnce() {
76
84
  try {
77
- await callWithTimeout(this._doRun(), this._exportTimeout);
85
+ await this._doRun();
78
86
  }
79
87
  catch (err) {
80
- if (err instanceof TimeoutError) {
81
- api.diag.error('Export took longer than %s milliseconds and timed out.', this._exportTimeout);
82
- return;
83
- }
84
88
  globalErrorHandler(err);
85
89
  }
86
90
  }
87
91
  async _doRun() {
88
- const { resourceMetrics, errors } = await this.collect({
89
- timeoutMillis: this._exportTimeout,
90
- });
91
- if (errors.length > 0) {
92
- api.diag.error('PeriodicExportingMetricReader: metrics collection errors', ...errors);
92
+ if (this._ongoingExportPromise) {
93
+ api.diag.debug('PeriodicExportingMetricReader: export already in progress, skipping');
94
+ return;
93
95
  }
94
- if (resourceMetrics.resource.asyncAttributesPending) {
95
- try {
96
- await resourceMetrics.resource.waitForAsyncAttributes?.();
96
+ const currentRun = async () => {
97
+ const { resourceMetrics, errors } = await this.collect({
98
+ timeoutMillis: this._exportTimeout,
99
+ });
100
+ if (errors.length > 0) {
101
+ api.diag.error('PeriodicExportingMetricReader: metrics collection errors', ...errors);
97
102
  }
98
- catch (e) {
99
- api.diag.debug('Error while resolving async portion of resource: ', e);
100
- globalErrorHandler(e);
103
+ if (resourceMetrics.resource.asyncAttributesPending) {
104
+ try {
105
+ await resourceMetrics.resource.waitForAsyncAttributes?.();
106
+ }
107
+ catch (e) {
108
+ api.diag.debug('Error while resolving async portion of resource: ', e);
109
+ globalErrorHandler(e);
110
+ }
101
111
  }
112
+ if (resourceMetrics.scopeMetrics.length === 0) {
113
+ return;
114
+ }
115
+ const batches = this._maxExportBatchSize
116
+ ? splitMetricData(resourceMetrics, this._maxExportBatchSize)
117
+ : [resourceMetrics];
118
+ let anyErr = null;
119
+ for (const batch of batches) {
120
+ try {
121
+ const result = await callWithTimeout(internal._export(this._exporter, batch), this._exportTimeout);
122
+ if (result.code !== ExportResultCode.SUCCESS) {
123
+ const err = new Error(`PeriodicExportingMetricReader: metrics export failed (error ${result.error})`);
124
+ anyErr = err;
125
+ }
126
+ }
127
+ catch (e) {
128
+ if (e instanceof TimeoutError) {
129
+ api.diag.error(`PeriodicExportingMetricReader: metrics export timed out after ${this._exportTimeout}ms`);
130
+ break;
131
+ }
132
+ else {
133
+ api.diag.error('PeriodicExportingMetricReader: metrics export threw error', e);
134
+ anyErr = e instanceof Error ? e : new Error(String(e));
135
+ }
136
+ }
137
+ }
138
+ if (anyErr) {
139
+ throw anyErr;
140
+ }
141
+ };
142
+ this._ongoingExportPromise = currentRun();
143
+ try {
144
+ await this._ongoingExportPromise;
102
145
  }
103
- if (resourceMetrics.scopeMetrics.length === 0) {
104
- return;
105
- }
106
- const result = await internal._export(this._exporter, resourceMetrics);
107
- if (result.code !== ExportResultCode.SUCCESS) {
108
- throw new Error(`PeriodicExportingMetricReader: metrics export failed (error ${result.error})`);
146
+ finally {
147
+ this._ongoingExportPromise = null;
109
148
  }
110
149
  }
111
150
  onInitialized() {
@@ -120,9 +159,36 @@ export class PeriodicExportingMetricReader extends MetricReader {
120
159
  }
121
160
  }
122
161
  async onForceFlush() {
123
- await this._runOnce();
162
+ // Wait for any in-progress export to finish first so that we never run
163
+ // collect + export concurrently with it.
164
+ await this._awaitOngoingExport();
165
+ // forceFlush SHOULD collect and export the latest metrics. If a concurrent
166
+ // caller already started a fresh export while we were waiting above, await
167
+ // that one instead of starting yet another collect + export cycle;
168
+ // otherwise run our own.
169
+ if (this._ongoingExportPromise) {
170
+ await this._awaitOngoingExport();
171
+ }
172
+ else {
173
+ await this._runOnce();
174
+ }
124
175
  await this._exporter.forceFlush();
125
176
  }
177
+ /**
178
+ * Helper function to wait for an ongoing export to complete.
179
+ * Errors are swallowed and handled by the original _runOnce().
180
+ */
181
+ async _awaitOngoingExport() {
182
+ if (this._ongoingExportPromise) {
183
+ api.diag.debug('PeriodicExportingMetricReader: export already in progress, awaiting ongoing export');
184
+ try {
185
+ await this._ongoingExportPromise;
186
+ }
187
+ catch {
188
+ // Error is handled by the _runOnce() that initiated the export.
189
+ }
190
+ }
191
+ }
126
192
  async onShutdown() {
127
193
  if (this._interval) {
128
194
  clearInterval(this._interval);
@@ -1 +1 @@
1
- {"version":3,"file":"PeriodicExportingMetricReader.js","sourceRoot":"","sources":["../../../src/export/PeriodicExportingMetricReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as api from '@opentelemetry/api';\nimport {\n internal,\n ExportResultCode,\n globalErrorHandler,\n} from '@opentelemetry/core';\nimport { MetricReader } from './MetricReader';\nimport type { PushMetricExporter } from './MetricExporter';\nimport { callWithTimeout, TimeoutError } from '../utils';\nimport { InstrumentType } from './MetricData';\nimport type { MetricProducer } from './MetricProducer';\nimport { OTEL_COMPONENT_TYPE_VALUE_PERIODIC_METRIC_READER } from '../semconv';\n\nexport type PeriodicExportingMetricReaderOptions = {\n /**\n * The backing exporter for the metric reader.\n */\n exporter: PushMetricExporter;\n /**\n * An internal milliseconds for the metric reader to initiate metric\n * collection.\n */\n exportIntervalMillis?: number;\n /**\n * Milliseconds for the async observable callback to timeout.\n */\n exportTimeoutMillis?: number;\n /**\n * **Note, this option is experimental**. Additional MetricProducers to use as a source of\n * aggregated metric data in addition to the SDK's metric data. The resource returned by\n * these MetricProducers is ignored; the SDK's resource will be used instead.\n * @experimental\n */\n metricProducers?: MetricProducer[];\n /**\n * Cardinality limits for the metric reader, applied per instrument. If not configured, defaults to 2000 time series per instrument. These are wrapped in a cardinalitySelector function that returns limits based on the instrument type, so they can be configured differently per type if desired.\n *\n */\n cardinalityLimits?: {\n counter?: number;\n gauge?: number;\n histogram?: number;\n upDownCounter?: number;\n observableCounter?: number;\n observableGauge?: number;\n observableUpDownCounter?: number;\n default?: number;\n };\n};\n\n/**\n * {@link MetricReader} which collects metrics based on a user-configurable time interval, and passes the metrics to\n * the configured {@link PushMetricExporter}\n */\nexport class PeriodicExportingMetricReader extends MetricReader {\n private _interval?: ReturnType<typeof setInterval>;\n private _exporter: PushMetricExporter;\n private readonly _exportInterval: number;\n private readonly _exportTimeout: number;\n\n constructor(options: PeriodicExportingMetricReaderOptions) {\n const {\n exporter,\n exportIntervalMillis = 60000,\n metricProducers,\n cardinalityLimits,\n } = options;\n let { exportTimeoutMillis = 30000 } = options;\n\n super({\n aggregationSelector: exporter.selectAggregation?.bind(exporter),\n aggregationTemporalitySelector:\n exporter.selectAggregationTemporality?.bind(exporter),\n otelComponentType: OTEL_COMPONENT_TYPE_VALUE_PERIODIC_METRIC_READER,\n metricProducers,\n cardinalitySelector: (instrumentType: InstrumentType) => {\n const limits = {\n default: 2000,\n ...cardinalityLimits,\n };\n\n switch (instrumentType) {\n case InstrumentType.COUNTER:\n return limits.counter ?? limits.default;\n case InstrumentType.GAUGE:\n return limits.gauge ?? limits.default;\n case InstrumentType.HISTOGRAM:\n return limits.histogram ?? limits.default;\n case InstrumentType.OBSERVABLE_COUNTER:\n return limits.observableCounter ?? limits.default;\n case InstrumentType.OBSERVABLE_UP_DOWN_COUNTER:\n return limits.observableUpDownCounter ?? limits.default;\n case InstrumentType.OBSERVABLE_GAUGE:\n return limits.observableGauge ?? limits.default;\n case InstrumentType.UP_DOWN_COUNTER:\n return limits.upDownCounter ?? limits.default;\n default:\n return limits.default;\n }\n },\n });\n\n if (exportIntervalMillis <= 0) {\n throw Error('exportIntervalMillis must be greater than 0');\n }\n\n if (exportTimeoutMillis <= 0) {\n throw Error('exportTimeoutMillis must be greater than 0');\n }\n\n if (exportIntervalMillis < exportTimeoutMillis) {\n if (\n 'exportIntervalMillis' in options &&\n 'exportTimeoutMillis' in options\n ) {\n // An invalid combination of values was explicitly provided.\n throw Error(\n 'exportIntervalMillis must be greater than or equal to exportTimeoutMillis'\n );\n } else {\n // An invalid combination of value was implicitly provided.\n api.diag.info(\n `Timeout of ${exportTimeoutMillis} exceeds the interval of ${exportIntervalMillis}. Clamping timeout to interval duration.`\n );\n exportTimeoutMillis = exportIntervalMillis;\n }\n }\n\n this._exportInterval = exportIntervalMillis;\n this._exportTimeout = exportTimeoutMillis;\n this._exporter = exporter;\n }\n\n private async _runOnce(): Promise<void> {\n try {\n await callWithTimeout(this._doRun(), this._exportTimeout);\n } catch (err) {\n if (err instanceof TimeoutError) {\n api.diag.error(\n 'Export took longer than %s milliseconds and timed out.',\n this._exportTimeout\n );\n return;\n }\n\n globalErrorHandler(err);\n }\n }\n\n private async _doRun(): Promise<void> {\n const { resourceMetrics, errors } = await this.collect({\n timeoutMillis: this._exportTimeout,\n });\n\n if (errors.length > 0) {\n api.diag.error(\n 'PeriodicExportingMetricReader: metrics collection errors',\n ...errors\n );\n }\n\n if (resourceMetrics.resource.asyncAttributesPending) {\n try {\n await resourceMetrics.resource.waitForAsyncAttributes?.();\n } catch (e) {\n api.diag.debug('Error while resolving async portion of resource: ', e);\n globalErrorHandler(e);\n }\n }\n\n if (resourceMetrics.scopeMetrics.length === 0) {\n return;\n }\n\n const result = await internal._export(this._exporter, resourceMetrics);\n if (result.code !== ExportResultCode.SUCCESS) {\n throw new Error(\n `PeriodicExportingMetricReader: metrics export failed (error ${result.error})`\n );\n }\n }\n\n protected override onInitialized(): void {\n // start running the interval as soon as this reader is initialized and keep handle for shutdown.\n this._interval = setInterval(() => {\n // this._runOnce never rejects. Using void operator to suppress @typescript-eslint/no-floating-promises.\n void this._runOnce();\n }, this._exportInterval);\n\n // depending on runtime, this may be a 'number' or NodeJS.Timeout\n if (typeof this._interval !== 'number') {\n this._interval.unref();\n }\n }\n\n protected async onForceFlush(): Promise<void> {\n await this._runOnce();\n await this._exporter.forceFlush();\n }\n\n protected async onShutdown(): Promise<void> {\n if (this._interval) {\n clearInterval(this._interval);\n }\n await this.onForceFlush();\n await this._exporter.shutdown();\n }\n}\n"]}
1
+ {"version":3,"file":"PeriodicExportingMetricReader.js","sourceRoot":"","sources":["../../../src/export/PeriodicExportingMetricReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as api from '@opentelemetry/api';\nimport {\n internal,\n ExportResultCode,\n globalErrorHandler,\n} from '@opentelemetry/core';\nimport { MetricReader } from './MetricReader';\nimport type { PushMetricExporter } from './MetricExporter';\nimport { callWithTimeout, TimeoutError } from '../utils';\nimport { InstrumentType } from './MetricData';\nimport { splitMetricData } from './MetricDataSplitter';\nimport type { MetricProducer } from './MetricProducer';\nimport { OTEL_COMPONENT_TYPE_VALUE_PERIODIC_METRIC_READER } from '../semconv';\n\nexport type PeriodicExportingMetricReaderOptions = {\n /**\n * The backing exporter for the metric reader.\n */\n exporter: PushMetricExporter;\n /**\n * An internal milliseconds for the metric reader to initiate metric\n * collection.\n */\n exportIntervalMillis?: number;\n /**\n * Milliseconds for the async observable callback to timeout.\n */\n exportTimeoutMillis?: number;\n /**\n * **Note, this option is experimental**. Additional MetricProducers to use as a source of\n * aggregated metric data in addition to the SDK's metric data. The resource returned by\n * these MetricProducers is ignored; the SDK's resource will be used instead.\n * @experimental\n */\n metricProducers?: MetricProducer[];\n /**\n * Cardinality limits for the metric reader, applied per instrument. If not configured, defaults to 2000 time series per instrument. These are wrapped in a cardinalitySelector function that returns limits based on the instrument type, so they can be configured differently per type if desired.\n *\n */\n cardinalityLimits?: {\n counter?: number;\n gauge?: number;\n histogram?: number;\n upDownCounter?: number;\n observableCounter?: number;\n observableGauge?: number;\n observableUpDownCounter?: number;\n default?: number;\n };\n /**\n * The maximum batch size for exports. If configured, the reader will split\n * batches larger than this size into smaller batches.\n * @experimental\n */\n maxExportBatchSize?: number;\n};\n\n/**\n * {@link MetricReader} which collects metrics based on a user-configurable time interval, and passes the metrics to\n * the configured {@link PushMetricExporter}\n */\nexport class PeriodicExportingMetricReader extends MetricReader {\n private _interval?: ReturnType<typeof setInterval>;\n private _exporter: PushMetricExporter;\n private readonly _exportInterval: number;\n private readonly _exportTimeout: number;\n private readonly _maxExportBatchSize?: number;\n private _ongoingExportPromise: Promise<void> | null = null;\n\n constructor(options: PeriodicExportingMetricReaderOptions) {\n const {\n exporter,\n exportIntervalMillis = 60000,\n metricProducers,\n cardinalityLimits,\n maxExportBatchSize,\n } = options;\n let { exportTimeoutMillis = 30000 } = options;\n\n super({\n aggregationSelector: exporter.selectAggregation?.bind(exporter),\n aggregationTemporalitySelector:\n exporter.selectAggregationTemporality?.bind(exporter),\n otelComponentType: OTEL_COMPONENT_TYPE_VALUE_PERIODIC_METRIC_READER,\n metricProducers,\n cardinalitySelector: (instrumentType: InstrumentType) => {\n const limits = {\n default: 2000,\n ...cardinalityLimits,\n };\n\n switch (instrumentType) {\n case InstrumentType.COUNTER:\n return limits.counter ?? limits.default;\n case InstrumentType.GAUGE:\n return limits.gauge ?? limits.default;\n case InstrumentType.HISTOGRAM:\n return limits.histogram ?? limits.default;\n case InstrumentType.OBSERVABLE_COUNTER:\n return limits.observableCounter ?? limits.default;\n case InstrumentType.OBSERVABLE_UP_DOWN_COUNTER:\n return limits.observableUpDownCounter ?? limits.default;\n case InstrumentType.OBSERVABLE_GAUGE:\n return limits.observableGauge ?? limits.default;\n case InstrumentType.UP_DOWN_COUNTER:\n return limits.upDownCounter ?? limits.default;\n default:\n return limits.default;\n }\n },\n });\n\n if (exportIntervalMillis <= 0) {\n throw Error('exportIntervalMillis must be greater than 0');\n }\n\n if (exportTimeoutMillis <= 0) {\n throw Error('exportTimeoutMillis must be greater than 0');\n }\n\n if (\n maxExportBatchSize !== undefined &&\n (!Number.isInteger(maxExportBatchSize) || maxExportBatchSize <= 0)\n ) {\n throw Error('maxExportBatchSize must be a positive integer');\n }\n\n if (exportIntervalMillis < exportTimeoutMillis) {\n if (\n 'exportIntervalMillis' in options &&\n 'exportTimeoutMillis' in options\n ) {\n // An invalid combination of values was explicitly provided.\n throw Error(\n 'exportIntervalMillis must be greater than or equal to exportTimeoutMillis'\n );\n } else {\n // An invalid combination of value was implicitly provided.\n api.diag.info(\n `Timeout of ${exportTimeoutMillis} exceeds the interval of ${exportIntervalMillis}. Clamping timeout to interval duration.`\n );\n exportTimeoutMillis = exportIntervalMillis;\n }\n }\n\n this._exportInterval = exportIntervalMillis;\n this._exportTimeout = exportTimeoutMillis;\n this._exporter = exporter;\n this._maxExportBatchSize = maxExportBatchSize;\n }\n\n private async _runOnce(): Promise<void> {\n try {\n await this._doRun();\n } catch (err) {\n globalErrorHandler(err);\n }\n }\n\n private async _doRun(): Promise<void> {\n if (this._ongoingExportPromise) {\n api.diag.debug(\n 'PeriodicExportingMetricReader: export already in progress, skipping'\n );\n return;\n }\n\n const currentRun = async () => {\n const { resourceMetrics, errors } = await this.collect({\n timeoutMillis: this._exportTimeout,\n });\n\n if (errors.length > 0) {\n api.diag.error(\n 'PeriodicExportingMetricReader: metrics collection errors',\n ...errors\n );\n }\n\n if (resourceMetrics.resource.asyncAttributesPending) {\n try {\n await resourceMetrics.resource.waitForAsyncAttributes?.();\n } catch (e) {\n api.diag.debug(\n 'Error while resolving async portion of resource: ',\n e\n );\n globalErrorHandler(e);\n }\n }\n\n if (resourceMetrics.scopeMetrics.length === 0) {\n return;\n }\n\n const batches = this._maxExportBatchSize\n ? splitMetricData(resourceMetrics, this._maxExportBatchSize)\n : [resourceMetrics];\n\n let anyErr: Error | null = null;\n for (const batch of batches) {\n try {\n const result = await callWithTimeout(\n internal._export(this._exporter, batch),\n this._exportTimeout\n );\n if (result.code !== ExportResultCode.SUCCESS) {\n const err = new Error(\n `PeriodicExportingMetricReader: metrics export failed (error ${result.error})`\n );\n anyErr = err;\n }\n } catch (e) {\n if (e instanceof TimeoutError) {\n api.diag.error(\n `PeriodicExportingMetricReader: metrics export timed out after ${this._exportTimeout}ms`\n );\n break;\n } else {\n api.diag.error(\n 'PeriodicExportingMetricReader: metrics export threw error',\n e\n );\n anyErr = e instanceof Error ? e : new Error(String(e));\n }\n }\n }\n if (anyErr) {\n throw anyErr;\n }\n };\n\n this._ongoingExportPromise = currentRun();\n try {\n await this._ongoingExportPromise;\n } finally {\n this._ongoingExportPromise = null;\n }\n }\n\n protected override onInitialized(): void {\n // start running the interval as soon as this reader is initialized and keep handle for shutdown.\n this._interval = setInterval(() => {\n // this._runOnce never rejects. Using void operator to suppress @typescript-eslint/no-floating-promises.\n void this._runOnce();\n }, this._exportInterval);\n\n // depending on runtime, this may be a 'number' or NodeJS.Timeout\n if (typeof this._interval !== 'number') {\n this._interval.unref();\n }\n }\n\n protected async onForceFlush(): Promise<void> {\n // Wait for any in-progress export to finish first so that we never run\n // collect + export concurrently with it.\n await this._awaitOngoingExport();\n // forceFlush SHOULD collect and export the latest metrics. If a concurrent\n // caller already started a fresh export while we were waiting above, await\n // that one instead of starting yet another collect + export cycle;\n // otherwise run our own.\n if (this._ongoingExportPromise) {\n await this._awaitOngoingExport();\n } else {\n await this._runOnce();\n }\n await this._exporter.forceFlush();\n }\n\n /**\n * Helper function to wait for an ongoing export to complete.\n * Errors are swallowed and handled by the original _runOnce().\n */\n private async _awaitOngoingExport(): Promise<void> {\n if (this._ongoingExportPromise) {\n api.diag.debug(\n 'PeriodicExportingMetricReader: export already in progress, awaiting ongoing export'\n );\n try {\n await this._ongoingExportPromise;\n } catch {\n // Error is handled by the _runOnce() that initiated the export.\n }\n }\n }\n\n protected async onShutdown(): Promise<void> {\n if (this._interval) {\n clearInterval(this._interval);\n }\n await this.onForceFlush();\n await this._exporter.shutdown();\n }\n}\n"]}
@@ -17,8 +17,8 @@ export declare class AsyncMetricStorage<T extends Maybe<Accumulation>> extends M
17
17
  private _aggregationCardinalityLimit?;
18
18
  private _deltaMetricStorage;
19
19
  private _temporalMetricStorage;
20
- private _attributesProcessor;
21
- constructor(_instrumentDescriptor: InstrumentDescriptor, aggregator: Aggregator<T>, attributesProcessor: IAttributesProcessor, collectorHandles: MetricCollectorHandle[], aggregationCardinalityLimit?: number);
20
+ private _attributesProcessor?;
21
+ constructor(_instrumentDescriptor: InstrumentDescriptor, aggregator: Aggregator<T>, attributesProcessor: IAttributesProcessor | undefined, collectorHandles: MetricCollectorHandle[], aggregationCardinalityLimit?: number);
22
22
  record(measurements: AttributeHashMap<number>, observationTime: HrTime): void;
23
23
  /**
24
24
  * Collects the metrics from this storage. The ObservableCallback is invoked
@@ -24,6 +24,10 @@ export class AsyncMetricStorage extends MetricStorage {
24
24
  this._attributesProcessor = attributesProcessor;
25
25
  }
26
26
  record(measurements, observationTime) {
27
+ if (this._attributesProcessor === undefined) {
28
+ this._deltaMetricStorage.batchCumulate(measurements, observationTime);
29
+ return;
30
+ }
27
31
  const processed = new AttributeHashMap();
28
32
  for (const [attributes, value] of measurements.entries()) {
29
33
  processed.set(this._attributesProcessor.process(attributes), value);
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncMetricStorage.js","sourceRoot":"","sources":["../../../src/state/AsyncMetricStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAI7C;;;;GAIG;AACH,MAAM,OAAO,kBACX,SAAQ,aAAa;IAGb,4BAA4B,CAAU;IACtC,mBAAmB,CAA0B;IAC7C,sBAAsB,CAA6B;IACnD,oBAAoB,CAAuB;IAEnD,YACE,qBAA2C,EAC3C,UAAyB,EACzB,mBAAyC,EACzC,gBAAyC,EACzC,2BAAoC;QAEpC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7B,IAAI,CAAC,4BAA4B,GAAG,2BAA2B,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,IAAI,oBAAoB,CACjD,UAAU,EACV,IAAI,CAAC,4BAA4B,CAClC,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,uBAAuB,CACvD,UAAU,EACV,gBAAgB,CACjB,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,YAAsC,EAAE,eAAuB;QACpE,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAU,CAAC;QACjD,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE;YACxD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;SACrE;QACD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACL,SAAgC,EAChC,cAAsB;QAEtB,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAEzD,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAC7C,SAAS,EACT,IAAI,CAAC,qBAAqB,EAC1B,aAAa,EACb,cAAc,CACf,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { HrTime } from '@opentelemetry/api';\nimport type { Accumulation, Aggregator } from '../aggregator/types';\nimport type { InstrumentDescriptor } from '../InstrumentDescriptor';\nimport { MetricStorage } from './MetricStorage';\nimport type { MetricData } from '../export/MetricData';\nimport { DeltaMetricProcessor } from './DeltaMetricProcessor';\nimport { TemporalMetricProcessor } from './TemporalMetricProcessor';\nimport type { Maybe } from '../utils';\nimport type { MetricCollectorHandle } from './MetricCollector';\nimport { AttributeHashMap } from './HashMap';\nimport type { AsyncWritableMetricStorage } from './WritableMetricStorage';\nimport type { IAttributesProcessor } from '../view/AttributesProcessor';\n\n/**\n * Internal interface.\n *\n * Stores and aggregates {@link MetricData} for asynchronous instruments.\n */\nexport class AsyncMetricStorage<T extends Maybe<Accumulation>>\n extends MetricStorage\n implements AsyncWritableMetricStorage\n{\n private _aggregationCardinalityLimit?: number;\n private _deltaMetricStorage: DeltaMetricProcessor<T>;\n private _temporalMetricStorage: TemporalMetricProcessor<T>;\n private _attributesProcessor: IAttributesProcessor;\n\n constructor(\n _instrumentDescriptor: InstrumentDescriptor,\n aggregator: Aggregator<T>,\n attributesProcessor: IAttributesProcessor,\n collectorHandles: MetricCollectorHandle[],\n aggregationCardinalityLimit?: number\n ) {\n super(_instrumentDescriptor);\n this._aggregationCardinalityLimit = aggregationCardinalityLimit;\n this._deltaMetricStorage = new DeltaMetricProcessor(\n aggregator,\n this._aggregationCardinalityLimit\n );\n this._temporalMetricStorage = new TemporalMetricProcessor(\n aggregator,\n collectorHandles\n );\n this._attributesProcessor = attributesProcessor;\n }\n\n record(measurements: AttributeHashMap<number>, observationTime: HrTime) {\n const processed = new AttributeHashMap<number>();\n for (const [attributes, value] of measurements.entries()) {\n processed.set(this._attributesProcessor.process(attributes), value);\n }\n this._deltaMetricStorage.batchCumulate(processed, observationTime);\n }\n\n /**\n * Collects the metrics from this storage. The ObservableCallback is invoked\n * during the collection.\n *\n * Note: This is a stateful operation and may reset any interval-related\n * state for the MetricCollector.\n */\n collect(\n collector: MetricCollectorHandle,\n collectionTime: HrTime\n ): Maybe<MetricData> {\n const accumulations = this._deltaMetricStorage.collect();\n\n return this._temporalMetricStorage.buildMetrics(\n collector,\n this._instrumentDescriptor,\n accumulations,\n collectionTime\n );\n }\n}\n"]}
1
+ {"version":3,"file":"AsyncMetricStorage.js","sourceRoot":"","sources":["../../../src/state/AsyncMetricStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAI7C;;;;GAIG;AACH,MAAM,OAAO,kBACX,SAAQ,aAAa;IAGb,4BAA4B,CAAU;IACtC,mBAAmB,CAA0B;IAC7C,sBAAsB,CAA6B;IACnD,oBAAoB,CAAwB;IAEpD,YACE,qBAA2C,EAC3C,UAAyB,EACzB,mBAAqD,EACrD,gBAAyC,EACzC,2BAAoC;QAEpC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7B,IAAI,CAAC,4BAA4B,GAAG,2BAA2B,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,IAAI,oBAAoB,CACjD,UAAU,EACV,IAAI,CAAC,4BAA4B,CAClC,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,uBAAuB,CACvD,UAAU,EACV,gBAAgB,CACjB,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,YAAsC,EAAE,eAAuB;QACpE,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE;YAC3C,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YACtE,OAAO;SACR;QACD,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAU,CAAC;QACjD,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE;YACxD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;SACrE;QACD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACL,SAAgC,EAChC,cAAsB;QAEtB,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAEzD,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAC7C,SAAS,EACT,IAAI,CAAC,qBAAqB,EAC1B,aAAa,EACb,cAAc,CACf,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { HrTime } from '@opentelemetry/api';\nimport type { Accumulation, Aggregator } from '../aggregator/types';\nimport type { InstrumentDescriptor } from '../InstrumentDescriptor';\nimport { MetricStorage } from './MetricStorage';\nimport type { MetricData } from '../export/MetricData';\nimport { DeltaMetricProcessor } from './DeltaMetricProcessor';\nimport { TemporalMetricProcessor } from './TemporalMetricProcessor';\nimport type { Maybe } from '../utils';\nimport type { MetricCollectorHandle } from './MetricCollector';\nimport { AttributeHashMap } from './HashMap';\nimport type { AsyncWritableMetricStorage } from './WritableMetricStorage';\nimport type { IAttributesProcessor } from '../view/AttributesProcessor';\n\n/**\n * Internal interface.\n *\n * Stores and aggregates {@link MetricData} for asynchronous instruments.\n */\nexport class AsyncMetricStorage<T extends Maybe<Accumulation>>\n extends MetricStorage\n implements AsyncWritableMetricStorage\n{\n private _aggregationCardinalityLimit?: number;\n private _deltaMetricStorage: DeltaMetricProcessor<T>;\n private _temporalMetricStorage: TemporalMetricProcessor<T>;\n private _attributesProcessor?: IAttributesProcessor;\n\n constructor(\n _instrumentDescriptor: InstrumentDescriptor,\n aggregator: Aggregator<T>,\n attributesProcessor: IAttributesProcessor | undefined,\n collectorHandles: MetricCollectorHandle[],\n aggregationCardinalityLimit?: number\n ) {\n super(_instrumentDescriptor);\n this._aggregationCardinalityLimit = aggregationCardinalityLimit;\n this._deltaMetricStorage = new DeltaMetricProcessor(\n aggregator,\n this._aggregationCardinalityLimit\n );\n this._temporalMetricStorage = new TemporalMetricProcessor(\n aggregator,\n collectorHandles\n );\n this._attributesProcessor = attributesProcessor;\n }\n\n record(measurements: AttributeHashMap<number>, observationTime: HrTime) {\n if (this._attributesProcessor === undefined) {\n this._deltaMetricStorage.batchCumulate(measurements, observationTime);\n return;\n }\n const processed = new AttributeHashMap<number>();\n for (const [attributes, value] of measurements.entries()) {\n processed.set(this._attributesProcessor.process(attributes), value);\n }\n this._deltaMetricStorage.batchCumulate(processed, observationTime);\n }\n\n /**\n * Collects the metrics from this storage. The ObservableCallback is invoked\n * during the collection.\n *\n * Note: This is a stateful operation and may reset any interval-related\n * state for the MetricCollector.\n */\n collect(\n collector: MetricCollectorHandle,\n collectionTime: HrTime\n ): Maybe<MetricData> {\n const accumulations = this._deltaMetricStorage.collect();\n\n return this._temporalMetricStorage.buildMetrics(\n collector,\n this._instrumentDescriptor,\n accumulations,\n collectionTime\n );\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { Context, HrTime, Attributes } from '@opentelemetry/api';
1
+ import type { HrTime, Attributes } from '@opentelemetry/api';
2
2
  import type { Maybe } from '../utils';
3
3
  import type { Accumulation, Aggregator } from '../aggregator/types';
4
4
  import { AttributeHashMap } from './HashMap';
@@ -17,7 +17,7 @@ export declare class DeltaMetricProcessor<T extends Maybe<Accumulation>> {
17
17
  private _overflowHashCode;
18
18
  private _aggregator;
19
19
  constructor(aggregator: Aggregator<T>, aggregationCardinalityLimit?: number);
20
- record(value: number, attributes: Attributes, _context: Context, collectionTime: HrTime): void;
20
+ record(value: number, attributes: Attributes, collectionTime: number): void;
21
21
  batchCumulate(measurements: AttributeHashMap<number>, collectionTime: HrTime): void;
22
22
  /**
23
23
  * Returns a collection of delta metrics. Start time is the when first
@@ -2,6 +2,7 @@
2
2
  * Copyright The OpenTelemetry Authors
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
+ import { millisToHrTime } from '@opentelemetry/core';
5
6
  import { hashAttributes } from '../utils';
6
7
  import { AttributeHashMap } from './HashMap';
7
8
  /**
@@ -25,15 +26,16 @@ export class DeltaMetricProcessor {
25
26
  this._cardinalityLimit = (aggregationCardinalityLimit ?? 2000) - 1;
26
27
  this._overflowHashCode = hashAttributes(this._overflowAttributes);
27
28
  }
28
- record(value, attributes, _context, collectionTime) {
29
+ record(value, attributes, collectionTime) {
29
30
  let accumulation = this._activeCollectionStorage.get(attributes);
30
31
  if (!accumulation) {
32
+ const hrTime = millisToHrTime(collectionTime);
31
33
  if (this._activeCollectionStorage.size >= this._cardinalityLimit) {
32
- const overflowAccumulation = this._activeCollectionStorage.getOrDefault(this._overflowAttributes, () => this._aggregator.createAccumulation(collectionTime));
34
+ const overflowAccumulation = this._activeCollectionStorage.getOrDefault(this._overflowAttributes, () => this._aggregator.createAccumulation(hrTime));
33
35
  overflowAccumulation?.record(value);
34
36
  return;
35
37
  }
36
- accumulation = this._aggregator.createAccumulation(collectionTime);
38
+ accumulation = this._aggregator.createAccumulation(hrTime);
37
39
  this._activeCollectionStorage.set(attributes, accumulation);
38
40
  }
39
41
  accumulation?.record(value);
@@ -1 +1 @@
1
- {"version":3,"file":"DeltaMetricProcessor.js","sourceRoot":"","sources":["../../../src/state/DeltaMetricProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Context, HrTime, Attributes } from '@opentelemetry/api';\nimport type { Maybe } from '../utils';\nimport { hashAttributes } from '../utils';\nimport type { Accumulation, Aggregator } from '../aggregator/types';\nimport { AttributeHashMap } from './HashMap';\n\n/**\n * Internal interface.\n *\n * Allows synchronous collection of metrics. This processor should allow\n * allocation of new aggregation cells for metrics and convert cumulative\n * recording to delta data points.\n */\nexport class DeltaMetricProcessor<T extends Maybe<Accumulation>> {\n private _activeCollectionStorage = new AttributeHashMap<T>();\n // TODO: find a reasonable mean to clean the memo;\n // https://github.com/open-telemetry/opentelemetry-specification/pull/2208\n private _cumulativeMemoStorage = new AttributeHashMap<T>();\n private _cardinalityLimit: number;\n private _overflowAttributes = { 'otel.metric.overflow': true };\n private _overflowHashCode: string;\n private _aggregator: Aggregator<T>;\n\n constructor(aggregator: Aggregator<T>, aggregationCardinalityLimit?: number) {\n this._aggregator = aggregator;\n this._cardinalityLimit = (aggregationCardinalityLimit ?? 2000) - 1;\n this._overflowHashCode = hashAttributes(this._overflowAttributes);\n }\n\n record(\n value: number,\n attributes: Attributes,\n _context: Context,\n collectionTime: HrTime\n ) {\n let accumulation = this._activeCollectionStorage.get(attributes);\n\n if (!accumulation) {\n if (this._activeCollectionStorage.size >= this._cardinalityLimit) {\n const overflowAccumulation = this._activeCollectionStorage.getOrDefault(\n this._overflowAttributes,\n () => this._aggregator.createAccumulation(collectionTime)\n );\n overflowAccumulation?.record(value);\n return;\n }\n\n accumulation = this._aggregator.createAccumulation(collectionTime);\n this._activeCollectionStorage.set(attributes, accumulation);\n }\n\n accumulation?.record(value);\n }\n\n batchCumulate(\n measurements: AttributeHashMap<number>,\n collectionTime: HrTime\n ) {\n for (const [\n originalAttributes,\n value,\n originalHashCode,\n ] of measurements.entries()) {\n let attributes = originalAttributes;\n let hashCode = originalHashCode;\n const accumulation = this._aggregator.createAccumulation(collectionTime);\n accumulation?.record(value);\n let delta = accumulation;\n // Diff with recorded cumulative memo.\n if (this._cumulativeMemoStorage.has(attributes, hashCode)) {\n // has() returned true, previous is present.\n const previous = this._cumulativeMemoStorage.get(attributes, hashCode)!;\n delta = this._aggregator.diff(previous, accumulation);\n } else {\n // If the cardinality limit is reached, we need to change the attributes\n if (this._cumulativeMemoStorage.size >= this._cardinalityLimit) {\n attributes = this._overflowAttributes;\n hashCode = this._overflowHashCode;\n if (this._cumulativeMemoStorage.has(attributes, hashCode)) {\n // has() returned true, previous is present.\n const previous = this._cumulativeMemoStorage.get(\n attributes,\n hashCode\n )!;\n delta = this._aggregator.diff(previous, accumulation);\n }\n }\n }\n // Merge with uncollected active delta.\n if (this._activeCollectionStorage.has(attributes, hashCode)) {\n // has() returned true, active is present.\n const active = this._activeCollectionStorage.get(attributes, hashCode)!;\n delta = this._aggregator.merge(active, delta);\n }\n\n // Save the current record and the delta record.\n this._cumulativeMemoStorage.set(attributes, accumulation, hashCode);\n this._activeCollectionStorage.set(attributes, delta, hashCode);\n }\n }\n\n /**\n * Returns a collection of delta metrics. Start time is the when first\n * time event collected.\n */\n collect() {\n const unreportedDelta = this._activeCollectionStorage;\n this._activeCollectionStorage = new AttributeHashMap();\n\n return unreportedDelta;\n }\n}\n"]}
1
+ {"version":3,"file":"DeltaMetricProcessor.js","sourceRoot":"","sources":["../../../src/state/DeltaMetricProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { HrTime, Attributes } from '@opentelemetry/api';\nimport { millisToHrTime } from '@opentelemetry/core';\nimport type { Maybe } from '../utils';\nimport { hashAttributes } from '../utils';\nimport type { Accumulation, Aggregator } from '../aggregator/types';\nimport { AttributeHashMap } from './HashMap';\n\n/**\n * Internal interface.\n *\n * Allows synchronous collection of metrics. This processor should allow\n * allocation of new aggregation cells for metrics and convert cumulative\n * recording to delta data points.\n */\nexport class DeltaMetricProcessor<T extends Maybe<Accumulation>> {\n private _activeCollectionStorage = new AttributeHashMap<T>();\n // TODO: find a reasonable mean to clean the memo;\n // https://github.com/open-telemetry/opentelemetry-specification/pull/2208\n private _cumulativeMemoStorage = new AttributeHashMap<T>();\n private _cardinalityLimit: number;\n private _overflowAttributes = { 'otel.metric.overflow': true };\n private _overflowHashCode: string;\n private _aggregator: Aggregator<T>;\n\n constructor(aggregator: Aggregator<T>, aggregationCardinalityLimit?: number) {\n this._aggregator = aggregator;\n this._cardinalityLimit = (aggregationCardinalityLimit ?? 2000) - 1;\n this._overflowHashCode = hashAttributes(this._overflowAttributes);\n }\n\n record(value: number, attributes: Attributes, collectionTime: number) {\n let accumulation = this._activeCollectionStorage.get(attributes);\n\n if (!accumulation) {\n const hrTime = millisToHrTime(collectionTime);\n if (this._activeCollectionStorage.size >= this._cardinalityLimit) {\n const overflowAccumulation = this._activeCollectionStorage.getOrDefault(\n this._overflowAttributes,\n () => this._aggregator.createAccumulation(hrTime)\n );\n overflowAccumulation?.record(value);\n return;\n }\n\n accumulation = this._aggregator.createAccumulation(hrTime);\n this._activeCollectionStorage.set(attributes, accumulation);\n }\n\n accumulation?.record(value);\n }\n\n batchCumulate(\n measurements: AttributeHashMap<number>,\n collectionTime: HrTime\n ) {\n for (const [\n originalAttributes,\n value,\n originalHashCode,\n ] of measurements.entries()) {\n let attributes = originalAttributes;\n let hashCode = originalHashCode;\n const accumulation = this._aggregator.createAccumulation(collectionTime);\n accumulation?.record(value);\n let delta = accumulation;\n // Diff with recorded cumulative memo.\n if (this._cumulativeMemoStorage.has(attributes, hashCode)) {\n // has() returned true, previous is present.\n const previous = this._cumulativeMemoStorage.get(attributes, hashCode)!;\n delta = this._aggregator.diff(previous, accumulation);\n } else {\n // If the cardinality limit is reached, we need to change the attributes\n if (this._cumulativeMemoStorage.size >= this._cardinalityLimit) {\n attributes = this._overflowAttributes;\n hashCode = this._overflowHashCode;\n if (this._cumulativeMemoStorage.has(attributes, hashCode)) {\n // has() returned true, previous is present.\n const previous = this._cumulativeMemoStorage.get(\n attributes,\n hashCode\n )!;\n delta = this._aggregator.diff(previous, accumulation);\n }\n }\n }\n // Merge with uncollected active delta.\n if (this._activeCollectionStorage.has(attributes, hashCode)) {\n // has() returned true, active is present.\n const active = this._activeCollectionStorage.get(attributes, hashCode)!;\n delta = this._aggregator.merge(active, delta);\n }\n\n // Save the current record and the delta record.\n this._cumulativeMemoStorage.set(attributes, accumulation, hashCode);\n this._activeCollectionStorage.set(attributes, delta, hashCode);\n }\n }\n\n /**\n * Returns a collection of delta metrics. Start time is the when first\n * time event collected.\n */\n collect() {\n const unreportedDelta = this._activeCollectionStorage;\n this._activeCollectionStorage = new AttributeHashMap();\n\n return unreportedDelta;\n }\n}\n"]}
@@ -9,7 +9,6 @@ import { MetricStorageRegistry } from './MetricStorageRegistry';
9
9
  import { MultiMetricStorage } from './MultiWritableMetricStorage';
10
10
  import { ObservableRegistry } from './ObservableRegistry';
11
11
  import { SyncMetricStorage } from './SyncMetricStorage';
12
- import { createNoopAttributesProcessor } from '../view/AttributesProcessor';
13
12
  /**
14
13
  * An internal record for shared meter provider states.
15
14
  */
@@ -94,7 +93,7 @@ export class MeterSharedState {
94
93
  }
95
94
  const aggregator = aggregation.createAggregator(descriptor);
96
95
  const cardinalityLimit = collector.selectCardinalityLimit(descriptor.type);
97
- const storage = new MetricStorageType(descriptor, aggregator, createNoopAttributesProcessor(), [collector], cardinalityLimit);
96
+ const storage = new MetricStorageType(descriptor, aggregator, undefined, [collector], cardinalityLimit);
98
97
  this.metricStorageRegistry.registerForCollector(collector, storage);
99
98
  return storage;
100
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MeterSharedState.js","sourceRoot":"","sources":["../../../src/state/MeterSharedState.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { HrTime } from '@opentelemetry/api';\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport type { MetricCollectOptions } from '../export/MetricProducer';\nimport type { MetricData, ScopeMetrics } from '../export/MetricData';\nimport type { InstrumentDescriptor } from '../InstrumentDescriptor';\nimport { createInstrumentDescriptorWithView } from '../InstrumentDescriptor';\nimport { Meter } from '../Meter';\nimport type { Maybe } from '../utils';\nimport { AsyncMetricStorage } from './AsyncMetricStorage';\nimport type { MeterProviderSharedState } from './MeterProviderSharedState';\nimport type { MetricCollectorHandle } from './MetricCollector';\nimport { MetricStorageRegistry } from './MetricStorageRegistry';\nimport { MultiMetricStorage } from './MultiWritableMetricStorage';\nimport { ObservableRegistry } from './ObservableRegistry';\nimport { SyncMetricStorage } from './SyncMetricStorage';\nimport type { Accumulation, Aggregator } from '../aggregator/types';\nimport type { IAttributesProcessor } from '../view/AttributesProcessor';\nimport { createNoopAttributesProcessor } from '../view/AttributesProcessor';\nimport type { MetricStorage } from './MetricStorage';\n\n/**\n * An internal record for shared meter provider states.\n */\nexport class MeterSharedState {\n metricStorageRegistry = new MetricStorageRegistry();\n observableRegistry = new ObservableRegistry();\n meter: Meter;\n private _meterProviderSharedState: MeterProviderSharedState;\n private _instrumentationScope: InstrumentationScope;\n\n constructor(\n meterProviderSharedState: MeterProviderSharedState,\n instrumentationScope: InstrumentationScope\n ) {\n this.meter = new Meter(this);\n this._meterProviderSharedState = meterProviderSharedState;\n this._instrumentationScope = instrumentationScope;\n }\n\n registerMetricStorage(descriptor: InstrumentDescriptor) {\n const storages = this._registerMetricStorage(descriptor, SyncMetricStorage);\n\n if (storages.length === 1) {\n return storages[0];\n }\n return new MultiMetricStorage(storages);\n }\n\n registerAsyncMetricStorage(descriptor: InstrumentDescriptor) {\n const storages = this._registerMetricStorage(\n descriptor,\n AsyncMetricStorage\n );\n\n return storages;\n }\n\n /**\n * @param collector opaque handle of {@link MetricCollector} which initiated the collection.\n * @param collectionTime the HrTime at which the collection was initiated.\n * @param options options for collection.\n * @returns the list of metric data collected.\n */\n async collect(\n collector: MetricCollectorHandle,\n collectionTime: HrTime,\n options?: MetricCollectOptions\n ): Promise<ScopeMetricsResult | null> {\n /**\n * 1. Call all observable callbacks first.\n * 2. Collect metric result for the collector.\n */\n const errors = await this.observableRegistry.observe(\n collectionTime,\n options?.timeoutMillis\n );\n const storages = this.metricStorageRegistry.getStorages(collector);\n\n // prevent more allocations if there are no storages.\n if (storages.length === 0) {\n return null;\n }\n\n const metricDataList: MetricData[] = [];\n storages.forEach(metricStorage => {\n const metricData = metricStorage.collect(collector, collectionTime);\n\n if (metricData != null) {\n metricDataList.push(metricData);\n }\n });\n\n // skip this scope if no data was collected (storage created, but no data observed)\n if (metricDataList.length === 0) {\n return { errors };\n }\n\n return {\n scopeMetrics: {\n scope: this._instrumentationScope,\n metrics: metricDataList,\n },\n errors,\n };\n }\n\n private _registerMetricStorage<\n MetricStorageType extends MetricStorageConstructor,\n R extends InstanceType<MetricStorageType>,\n >(\n descriptor: InstrumentDescriptor,\n MetricStorageType: MetricStorageType\n ): R[] {\n const views = this._meterProviderSharedState.viewRegistry.findViews(\n descriptor,\n this._instrumentationScope\n );\n let storages = views.map(view => {\n const viewDescriptor = createInstrumentDescriptorWithView(\n view,\n descriptor\n );\n const compatibleStorage =\n this.metricStorageRegistry.findOrUpdateCompatibleStorage<R>(\n viewDescriptor\n );\n if (compatibleStorage != null) {\n return compatibleStorage;\n }\n const aggregator = view.aggregation.createAggregator(viewDescriptor);\n const viewStorage = new MetricStorageType(\n viewDescriptor,\n aggregator,\n view.attributesProcessor,\n this._meterProviderSharedState.metricCollectors,\n view.aggregationCardinalityLimit\n ) as R;\n this.metricStorageRegistry.register(viewStorage);\n return viewStorage;\n });\n\n // Fallback to the per-collector aggregations if no view is configured for the instrument.\n if (storages.length === 0) {\n const perCollectorAggregations =\n this._meterProviderSharedState.selectAggregations(descriptor.type);\n const collectorStorages = perCollectorAggregations.map(\n ([collector, aggregation]) => {\n const compatibleStorage =\n this.metricStorageRegistry.findOrUpdateCompatibleCollectorStorage<R>(\n collector,\n descriptor\n );\n if (compatibleStorage != null) {\n return compatibleStorage;\n }\n\n const aggregator = aggregation.createAggregator(descriptor);\n const cardinalityLimit = collector.selectCardinalityLimit(\n descriptor.type\n );\n const storage = new MetricStorageType(\n descriptor,\n aggregator,\n createNoopAttributesProcessor(),\n [collector],\n cardinalityLimit\n ) as R;\n this.metricStorageRegistry.registerForCollector(collector, storage);\n return storage;\n }\n );\n storages = storages.concat(collectorStorages);\n }\n\n return storages;\n }\n}\n\ninterface ScopeMetricsResult {\n scopeMetrics?: ScopeMetrics;\n errors: unknown[];\n}\n\ninterface MetricStorageConstructor {\n new (\n instrumentDescriptor: InstrumentDescriptor,\n aggregator: Aggregator<Maybe<Accumulation>>,\n attributesProcessor: IAttributesProcessor,\n collectors: MetricCollectorHandle[],\n aggregationCardinalityLimit?: number\n ): MetricStorage;\n}\n"]}
1
+ {"version":3,"file":"MeterSharedState.js","sourceRoot":"","sources":["../../../src/state/MeterSharedState.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { HrTime } from '@opentelemetry/api';\nimport type { InstrumentationScope } from '@opentelemetry/core';\nimport type { MetricCollectOptions } from '../export/MetricProducer';\nimport type { MetricData, ScopeMetrics } from '../export/MetricData';\nimport type { InstrumentDescriptor } from '../InstrumentDescriptor';\nimport { createInstrumentDescriptorWithView } from '../InstrumentDescriptor';\nimport { Meter } from '../Meter';\nimport type { Maybe } from '../utils';\nimport { AsyncMetricStorage } from './AsyncMetricStorage';\nimport type { MeterProviderSharedState } from './MeterProviderSharedState';\nimport type { MetricCollectorHandle } from './MetricCollector';\nimport { MetricStorageRegistry } from './MetricStorageRegistry';\nimport { MultiMetricStorage } from './MultiWritableMetricStorage';\nimport { ObservableRegistry } from './ObservableRegistry';\nimport { SyncMetricStorage } from './SyncMetricStorage';\nimport type { Accumulation, Aggregator } from '../aggregator/types';\nimport type { IAttributesProcessor } from '../view/AttributesProcessor';\nimport type { MetricStorage } from './MetricStorage';\n\n/**\n * An internal record for shared meter provider states.\n */\nexport class MeterSharedState {\n metricStorageRegistry = new MetricStorageRegistry();\n observableRegistry = new ObservableRegistry();\n meter: Meter;\n private _meterProviderSharedState: MeterProviderSharedState;\n private _instrumentationScope: InstrumentationScope;\n\n constructor(\n meterProviderSharedState: MeterProviderSharedState,\n instrumentationScope: InstrumentationScope\n ) {\n this.meter = new Meter(this);\n this._meterProviderSharedState = meterProviderSharedState;\n this._instrumentationScope = instrumentationScope;\n }\n\n registerMetricStorage(descriptor: InstrumentDescriptor) {\n const storages = this._registerMetricStorage(descriptor, SyncMetricStorage);\n\n if (storages.length === 1) {\n return storages[0];\n }\n return new MultiMetricStorage(storages);\n }\n\n registerAsyncMetricStorage(descriptor: InstrumentDescriptor) {\n const storages = this._registerMetricStorage(\n descriptor,\n AsyncMetricStorage\n );\n\n return storages;\n }\n\n /**\n * @param collector opaque handle of {@link MetricCollector} which initiated the collection.\n * @param collectionTime the HrTime at which the collection was initiated.\n * @param options options for collection.\n * @returns the list of metric data collected.\n */\n async collect(\n collector: MetricCollectorHandle,\n collectionTime: HrTime,\n options?: MetricCollectOptions\n ): Promise<ScopeMetricsResult | null> {\n /**\n * 1. Call all observable callbacks first.\n * 2. Collect metric result for the collector.\n */\n const errors = await this.observableRegistry.observe(\n collectionTime,\n options?.timeoutMillis\n );\n const storages = this.metricStorageRegistry.getStorages(collector);\n\n // prevent more allocations if there are no storages.\n if (storages.length === 0) {\n return null;\n }\n\n const metricDataList: MetricData[] = [];\n storages.forEach(metricStorage => {\n const metricData = metricStorage.collect(collector, collectionTime);\n\n if (metricData != null) {\n metricDataList.push(metricData);\n }\n });\n\n // skip this scope if no data was collected (storage created, but no data observed)\n if (metricDataList.length === 0) {\n return { errors };\n }\n\n return {\n scopeMetrics: {\n scope: this._instrumentationScope,\n metrics: metricDataList,\n },\n errors,\n };\n }\n\n private _registerMetricStorage<\n MetricStorageType extends MetricStorageConstructor,\n R extends InstanceType<MetricStorageType>,\n >(\n descriptor: InstrumentDescriptor,\n MetricStorageType: MetricStorageType\n ): R[] {\n const views = this._meterProviderSharedState.viewRegistry.findViews(\n descriptor,\n this._instrumentationScope\n );\n let storages = views.map(view => {\n const viewDescriptor = createInstrumentDescriptorWithView(\n view,\n descriptor\n );\n const compatibleStorage =\n this.metricStorageRegistry.findOrUpdateCompatibleStorage<R>(\n viewDescriptor\n );\n if (compatibleStorage != null) {\n return compatibleStorage;\n }\n const aggregator = view.aggregation.createAggregator(viewDescriptor);\n const viewStorage = new MetricStorageType(\n viewDescriptor,\n aggregator,\n view.attributesProcessor,\n this._meterProviderSharedState.metricCollectors,\n view.aggregationCardinalityLimit\n ) as R;\n this.metricStorageRegistry.register(viewStorage);\n return viewStorage;\n });\n\n // Fallback to the per-collector aggregations if no view is configured for the instrument.\n if (storages.length === 0) {\n const perCollectorAggregations =\n this._meterProviderSharedState.selectAggregations(descriptor.type);\n const collectorStorages = perCollectorAggregations.map(\n ([collector, aggregation]) => {\n const compatibleStorage =\n this.metricStorageRegistry.findOrUpdateCompatibleCollectorStorage<R>(\n collector,\n descriptor\n );\n if (compatibleStorage != null) {\n return compatibleStorage;\n }\n\n const aggregator = aggregation.createAggregator(descriptor);\n const cardinalityLimit = collector.selectCardinalityLimit(\n descriptor.type\n );\n const storage = new MetricStorageType(\n descriptor,\n aggregator,\n undefined,\n [collector],\n cardinalityLimit\n ) as R;\n this.metricStorageRegistry.registerForCollector(collector, storage);\n return storage;\n }\n );\n storages = storages.concat(collectorStorages);\n }\n\n return storages;\n }\n}\n\ninterface ScopeMetricsResult {\n scopeMetrics?: ScopeMetrics;\n errors: unknown[];\n}\n\ninterface MetricStorageConstructor {\n new (\n instrumentDescriptor: InstrumentDescriptor,\n aggregator: Aggregator<Maybe<Accumulation>>,\n attributesProcessor: IAttributesProcessor | undefined,\n collectors: MetricCollectorHandle[],\n aggregationCardinalityLimit?: number\n ): MetricStorage;\n}\n"]}
@@ -1,11 +1,12 @@
1
- import type { Context, HrTime, Attributes } from '@opentelemetry/api';
1
+ import type { Context, Attributes } from '@opentelemetry/api';
2
2
  import type { WritableMetricStorage } from './WritableMetricStorage';
3
3
  /**
4
4
  * Internal interface.
5
5
  */
6
6
  export declare class MultiMetricStorage implements WritableMetricStorage {
7
7
  private readonly _backingStorages;
8
+ readonly hasAttributeProcessor: boolean;
8
9
  constructor(backingStorages: WritableMetricStorage[]);
9
- record(value: number, attributes: Attributes, context: Context, recordTime: HrTime): void;
10
+ record(value: number, attributes: Attributes, context: Context | undefined, recordTime: number): void;
10
11
  }
11
12
  //# sourceMappingURL=MultiWritableMetricStorage.d.ts.map
@@ -2,15 +2,21 @@
2
2
  * Copyright The OpenTelemetry Authors
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
+ import { context as contextApi } from '@opentelemetry/api';
5
6
  /**
6
7
  * Internal interface.
7
8
  */
8
9
  export class MultiMetricStorage {
9
10
  _backingStorages;
11
+ hasAttributeProcessor;
10
12
  constructor(backingStorages) {
11
13
  this._backingStorages = backingStorages;
14
+ this.hasAttributeProcessor = backingStorages.some(s => s.hasAttributeProcessor);
12
15
  }
13
16
  record(value, attributes, context, recordTime) {
17
+ if (this.hasAttributeProcessor && context === undefined) {
18
+ context = contextApi.active();
19
+ }
14
20
  const storages = this._backingStorages;
15
21
  for (let i = 0; i < storages.length; i++) {
16
22
  storages[i].record(value, attributes, context, recordTime);
@@ -1 +1 @@
1
- {"version":3,"file":"MultiWritableMetricStorage.js","sourceRoot":"","sources":["../../../src/state/MultiWritableMetricStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACZ,gBAAgB,CAA0B;IAC3D,YAAY,eAAwC;QAClD,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;IAED,MAAM,CACJ,KAAa,EACb,UAAsB,EACtB,OAAgB,EAChB,UAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Context, HrTime, Attributes } from '@opentelemetry/api';\nimport type { WritableMetricStorage } from './WritableMetricStorage';\n\n/**\n * Internal interface.\n */\nexport class MultiMetricStorage implements WritableMetricStorage {\n private readonly _backingStorages: WritableMetricStorage[];\n constructor(backingStorages: WritableMetricStorage[]) {\n this._backingStorages = backingStorages;\n }\n\n record(\n value: number,\n attributes: Attributes,\n context: Context,\n recordTime: HrTime\n ) {\n const storages = this._backingStorages;\n for (let i = 0; i < storages.length; i++) {\n storages[i].record(value, attributes, context, recordTime);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"MultiWritableMetricStorage.js","sourceRoot":"","sources":["../../../src/state/MultiWritableMetricStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAG3D;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACZ,gBAAgB,CAA0B;IAClD,qBAAqB,CAAU;IAExC,YAAY,eAAwC;QAClD,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,qBAAqB,GAAG,eAAe,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAC7B,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,KAAa,EACb,UAAsB,EACtB,OAA4B,EAC5B,UAAkB;QAElB,IAAI,IAAI,CAAC,qBAAqB,IAAI,OAAO,KAAK,SAAS,EAAE;YACvD,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;SAC/B;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Context, Attributes } from '@opentelemetry/api';\nimport { context as contextApi } from '@opentelemetry/api';\nimport type { WritableMetricStorage } from './WritableMetricStorage';\n\n/**\n * Internal interface.\n */\nexport class MultiMetricStorage implements WritableMetricStorage {\n private readonly _backingStorages: WritableMetricStorage[];\n readonly hasAttributeProcessor: boolean;\n\n constructor(backingStorages: WritableMetricStorage[]) {\n this._backingStorages = backingStorages;\n this.hasAttributeProcessor = backingStorages.some(\n s => s.hasAttributeProcessor\n );\n }\n\n record(\n value: number,\n attributes: Attributes,\n context: Context | undefined,\n recordTime: number\n ) {\n if (this.hasAttributeProcessor && context === undefined) {\n context = contextApi.active();\n }\n const storages = this._backingStorages;\n for (let i = 0; i < storages.length; i++) {\n storages[i].record(value, attributes, context, recordTime);\n }\n }\n}\n"]}
@@ -16,9 +16,10 @@ export declare class SyncMetricStorage<T extends Maybe<Accumulation>> extends Me
16
16
  private _aggregationCardinalityLimit?;
17
17
  private _deltaMetricStorage;
18
18
  private _temporalMetricStorage;
19
- private _attributesProcessor;
20
- constructor(instrumentDescriptor: InstrumentDescriptor, aggregator: Aggregator<T>, attributesProcessor: IAttributesProcessor, collectorHandles: MetricCollectorHandle[], aggregationCardinalityLimit?: number);
21
- record(value: number, attributes: Attributes, context: Context, recordTime: HrTime): void;
19
+ private _attributesProcessor?;
20
+ constructor(instrumentDescriptor: InstrumentDescriptor, aggregator: Aggregator<T>, attributesProcessor: IAttributesProcessor | undefined, collectorHandles: MetricCollectorHandle[], aggregationCardinalityLimit?: number);
21
+ readonly hasAttributeProcessor: boolean;
22
+ record(value: number, attributes: Attributes, context: Context | undefined, recordTime: number): void;
22
23
  /**
23
24
  * Collects the metrics from this storage.
24
25
  *
@@ -2,6 +2,7 @@
2
2
  * Copyright The OpenTelemetry Authors
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
+ import { context as contextApi } from '@opentelemetry/api';
5
6
  import { MetricStorage } from './MetricStorage';
6
7
  import { DeltaMetricProcessor } from './DeltaMetricProcessor';
7
8
  import { TemporalMetricProcessor } from './TemporalMetricProcessor';
@@ -21,10 +22,14 @@ export class SyncMetricStorage extends MetricStorage {
21
22
  this._deltaMetricStorage = new DeltaMetricProcessor(aggregator, this._aggregationCardinalityLimit);
22
23
  this._temporalMetricStorage = new TemporalMetricProcessor(aggregator, collectorHandles);
23
24
  this._attributesProcessor = attributesProcessor;
25
+ this.hasAttributeProcessor = attributesProcessor !== undefined;
24
26
  }
27
+ hasAttributeProcessor;
25
28
  record(value, attributes, context, recordTime) {
26
- attributes = this._attributesProcessor.process(attributes, context);
27
- this._deltaMetricStorage.record(value, attributes, context, recordTime);
29
+ if (this._attributesProcessor !== undefined) {
30
+ attributes = this._attributesProcessor.process(attributes, context ?? contextApi.active());
31
+ }
32
+ this._deltaMetricStorage.record(value, attributes, recordTime);
28
33
  }
29
34
  /**
30
35
  * Collects the metrics from this storage.
@@ -1 +1 @@
1
- {"version":3,"file":"SyncMetricStorage.js","sourceRoot":"","sources":["../../../src/state/SyncMetricStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAIpE;;;;GAIG;AACH,MAAM,OAAO,iBACX,SAAQ,aAAa;IAGb,4BAA4B,CAAU;IACtC,mBAAmB,CAA0B;IAC7C,sBAAsB,CAA6B;IACnD,oBAAoB,CAAuB;IAEnD,YACE,oBAA0C,EAC1C,UAAyB,EACzB,mBAAyC,EACzC,gBAAyC,EACzC,2BAAoC;QAEpC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,4BAA4B,GAAG,2BAA2B,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,IAAI,oBAAoB,CACjD,UAAU,EACV,IAAI,CAAC,4BAA4B,CAClC,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,uBAAuB,CACvD,UAAU,EACV,gBAAgB,CACjB,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IAClD,CAAC;IAED,MAAM,CACJ,KAAa,EACb,UAAsB,EACtB,OAAgB,EAChB,UAAkB;QAElB,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACH,OAAO,CACL,SAAgC,EAChC,cAAsB;QAEtB,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAEzD,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAC7C,SAAS,EACT,IAAI,CAAC,qBAAqB,EAC1B,aAAa,EACb,cAAc,CACf,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Context, HrTime, Attributes } from '@opentelemetry/api';\nimport type { WritableMetricStorage } from './WritableMetricStorage';\nimport type { Accumulation, Aggregator } from '../aggregator/types';\nimport type { InstrumentDescriptor } from '../InstrumentDescriptor';\nimport type { IAttributesProcessor } from '../view/AttributesProcessor';\nimport { MetricStorage } from './MetricStorage';\nimport type { MetricData } from '../export/MetricData';\nimport { DeltaMetricProcessor } from './DeltaMetricProcessor';\nimport { TemporalMetricProcessor } from './TemporalMetricProcessor';\nimport type { Maybe } from '../utils';\nimport type { MetricCollectorHandle } from './MetricCollector';\n\n/**\n * Internal interface.\n *\n * Stores and aggregates {@link MetricData} for synchronous instruments.\n */\nexport class SyncMetricStorage<T extends Maybe<Accumulation>>\n extends MetricStorage\n implements WritableMetricStorage\n{\n private _aggregationCardinalityLimit?: number;\n private _deltaMetricStorage: DeltaMetricProcessor<T>;\n private _temporalMetricStorage: TemporalMetricProcessor<T>;\n private _attributesProcessor: IAttributesProcessor;\n\n constructor(\n instrumentDescriptor: InstrumentDescriptor,\n aggregator: Aggregator<T>,\n attributesProcessor: IAttributesProcessor,\n collectorHandles: MetricCollectorHandle[],\n aggregationCardinalityLimit?: number\n ) {\n super(instrumentDescriptor);\n this._aggregationCardinalityLimit = aggregationCardinalityLimit;\n this._deltaMetricStorage = new DeltaMetricProcessor(\n aggregator,\n this._aggregationCardinalityLimit\n );\n this._temporalMetricStorage = new TemporalMetricProcessor(\n aggregator,\n collectorHandles\n );\n this._attributesProcessor = attributesProcessor;\n }\n\n record(\n value: number,\n attributes: Attributes,\n context: Context,\n recordTime: HrTime\n ) {\n attributes = this._attributesProcessor.process(attributes, context);\n this._deltaMetricStorage.record(value, attributes, context, recordTime);\n }\n\n /**\n * Collects the metrics from this storage.\n *\n * Note: This is a stateful operation and may reset any interval-related\n * state for the MetricCollector.\n */\n collect(\n collector: MetricCollectorHandle,\n collectionTime: HrTime\n ): Maybe<MetricData> {\n const accumulations = this._deltaMetricStorage.collect();\n\n return this._temporalMetricStorage.buildMetrics(\n collector,\n this._instrumentDescriptor,\n accumulations,\n collectionTime\n );\n }\n}\n"]}
1
+ {"version":3,"file":"SyncMetricStorage.js","sourceRoot":"","sources":["../../../src/state/SyncMetricStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAK3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAIpE;;;;GAIG;AACH,MAAM,OAAO,iBACX,SAAQ,aAAa;IAGb,4BAA4B,CAAU;IACtC,mBAAmB,CAA0B;IAC7C,sBAAsB,CAA6B;IACnD,oBAAoB,CAAwB;IAEpD,YACE,oBAA0C,EAC1C,UAAyB,EACzB,mBAAqD,EACrD,gBAAyC,EACzC,2BAAoC;QAEpC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,4BAA4B,GAAG,2BAA2B,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,IAAI,oBAAoB,CACjD,UAAU,EACV,IAAI,CAAC,4BAA4B,CAClC,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,uBAAuB,CACvD,UAAU,EACV,gBAAgB,CACjB,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAChD,IAAI,CAAC,qBAAqB,GAAG,mBAAmB,KAAK,SAAS,CAAC;IACjE,CAAC;IAEQ,qBAAqB,CAAU;IAExC,MAAM,CACJ,KAAa,EACb,UAAsB,EACtB,OAA4B,EAC5B,UAAkB;QAElB,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE;YAC3C,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAC5C,UAAU,EACV,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,CAC/B,CAAC;SACH;QACD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,OAAO,CACL,SAAgC,EAChC,cAAsB;QAEtB,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAEzD,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAC7C,SAAS,EACT,IAAI,CAAC,qBAAqB,EAC1B,aAAa,EACb,cAAc,CACf,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Context, HrTime, Attributes } from '@opentelemetry/api';\nimport { context as contextApi } from '@opentelemetry/api';\nimport type { WritableMetricStorage } from './WritableMetricStorage';\nimport type { Accumulation, Aggregator } from '../aggregator/types';\nimport type { InstrumentDescriptor } from '../InstrumentDescriptor';\nimport type { IAttributesProcessor } from '../view/AttributesProcessor';\nimport { MetricStorage } from './MetricStorage';\nimport type { MetricData } from '../export/MetricData';\nimport { DeltaMetricProcessor } from './DeltaMetricProcessor';\nimport { TemporalMetricProcessor } from './TemporalMetricProcessor';\nimport type { Maybe } from '../utils';\nimport type { MetricCollectorHandle } from './MetricCollector';\n\n/**\n * Internal interface.\n *\n * Stores and aggregates {@link MetricData} for synchronous instruments.\n */\nexport class SyncMetricStorage<T extends Maybe<Accumulation>>\n extends MetricStorage\n implements WritableMetricStorage\n{\n private _aggregationCardinalityLimit?: number;\n private _deltaMetricStorage: DeltaMetricProcessor<T>;\n private _temporalMetricStorage: TemporalMetricProcessor<T>;\n private _attributesProcessor?: IAttributesProcessor;\n\n constructor(\n instrumentDescriptor: InstrumentDescriptor,\n aggregator: Aggregator<T>,\n attributesProcessor: IAttributesProcessor | undefined,\n collectorHandles: MetricCollectorHandle[],\n aggregationCardinalityLimit?: number\n ) {\n super(instrumentDescriptor);\n this._aggregationCardinalityLimit = aggregationCardinalityLimit;\n this._deltaMetricStorage = new DeltaMetricProcessor(\n aggregator,\n this._aggregationCardinalityLimit\n );\n this._temporalMetricStorage = new TemporalMetricProcessor(\n aggregator,\n collectorHandles\n );\n this._attributesProcessor = attributesProcessor;\n this.hasAttributeProcessor = attributesProcessor !== undefined;\n }\n\n readonly hasAttributeProcessor: boolean;\n\n record(\n value: number,\n attributes: Attributes,\n context: Context | undefined,\n recordTime: number\n ) {\n if (this._attributesProcessor !== undefined) {\n attributes = this._attributesProcessor.process(\n attributes,\n context ?? contextApi.active()\n );\n }\n this._deltaMetricStorage.record(value, attributes, recordTime);\n }\n\n /**\n * Collects the metrics from this storage.\n *\n * Note: This is a stateful operation and may reset any interval-related\n * state for the MetricCollector.\n */\n collect(\n collector: MetricCollectorHandle,\n collectionTime: HrTime\n ): Maybe<MetricData> {\n const accumulations = this._deltaMetricStorage.collect();\n\n return this._temporalMetricStorage.buildMetrics(\n collector,\n this._instrumentDescriptor,\n accumulations,\n collectionTime\n );\n }\n}\n"]}
@@ -7,8 +7,10 @@ import type { AttributeHashMap } from './HashMap';
7
7
  * An interface representing SyncMetricStorage with type parameters removed.
8
8
  */
9
9
  export interface WritableMetricStorage {
10
+ /** Whether this storage has an attribute processor that needs context. */
11
+ hasAttributeProcessor: boolean;
10
12
  /** Records a measurement. */
11
- record(value: number, attributes: Attributes, context: Context, recordTime: HrTime): void;
13
+ record(value: number, attributes: Attributes, context: Context | undefined, recordTime: number): void;
12
14
  }
13
15
  /**
14
16
  * Internal interface. Stores measurements and allows asynchronous writes of
@@ -1 +1 @@
1
- {"version":3,"file":"WritableMetricStorage.js","sourceRoot":"","sources":["../../../src/state/WritableMetricStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Context, HrTime, Attributes } from '@opentelemetry/api';\nimport type { AttributeHashMap } from './HashMap';\n\n/**\n * Internal interface. Stores measurements and allows synchronous writes of\n * measurements.\n *\n * An interface representing SyncMetricStorage with type parameters removed.\n */\nexport interface WritableMetricStorage {\n /** Records a measurement. */\n record(\n value: number,\n attributes: Attributes,\n context: Context,\n recordTime: HrTime\n ): void;\n}\n\n/**\n * Internal interface. Stores measurements and allows asynchronous writes of\n * measurements.\n *\n * An interface representing AsyncMetricStorage with type parameters removed.\n */\nexport interface AsyncWritableMetricStorage {\n /** Records a batch of measurements. */\n record(measurements: AttributeHashMap<number>, observationTime: HrTime): void;\n}\n"]}
1
+ {"version":3,"file":"WritableMetricStorage.js","sourceRoot":"","sources":["../../../src/state/WritableMetricStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Context, HrTime, Attributes } from '@opentelemetry/api';\nimport type { AttributeHashMap } from './HashMap';\n\n/**\n * Internal interface. Stores measurements and allows synchronous writes of\n * measurements.\n *\n * An interface representing SyncMetricStorage with type parameters removed.\n */\nexport interface WritableMetricStorage {\n /** Whether this storage has an attribute processor that needs context. */\n hasAttributeProcessor: boolean;\n\n /** Records a measurement. */\n record(\n value: number,\n attributes: Attributes,\n context: Context | undefined,\n recordTime: number\n ): void;\n}\n\n/**\n * Internal interface. Stores measurements and allows asynchronous writes of\n * measurements.\n *\n * An interface representing AsyncMetricStorage with type parameters removed.\n */\nexport interface AsyncWritableMetricStorage {\n /** Records a batch of measurements. */\n record(measurements: AttributeHashMap<number>, observationTime: HrTime): void;\n}\n"]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.8.0";
1
+ export declare const VERSION = "2.9.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -3,5 +3,5 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  // this is autogenerated file, see scripts/version-update.js
6
- export const VERSION = '2.8.0';
6
+ export const VERSION = '2.9.0';
7
7
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.8.0';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.9.0';\n"]}