@smthrs/observability 0.34.0 → 1.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/LICENSE +1 -1
  3. package/README.md +84 -0
  4. package/dist/cjs/BrowserOtel.d.ts +37 -0
  5. package/dist/cjs/BrowserOtel.d.ts.map +1 -0
  6. package/dist/cjs/BrowserOtel.js +47 -0
  7. package/dist/cjs/BrowserOtel.js.map +7 -0
  8. package/dist/cjs/Endpoint.d.ts +70 -0
  9. package/dist/cjs/Endpoint.d.ts.map +1 -0
  10. package/dist/cjs/Endpoint.js +85 -0
  11. package/dist/cjs/Endpoint.js.map +7 -0
  12. package/dist/cjs/JournalLogger.d.ts +232 -0
  13. package/dist/cjs/JournalLogger.d.ts.map +1 -0
  14. package/dist/cjs/JournalLogger.js +388 -0
  15. package/dist/cjs/JournalLogger.js.map +7 -0
  16. package/dist/cjs/Logger.d.ts +55 -0
  17. package/dist/cjs/Logger.d.ts.map +1 -0
  18. package/dist/cjs/Logger.js +72 -0
  19. package/dist/cjs/Logger.js.map +7 -0
  20. package/dist/cjs/Metric.d.ts +67 -0
  21. package/dist/cjs/Metric.d.ts.map +1 -0
  22. package/dist/cjs/Metric.js +68 -0
  23. package/dist/cjs/Metric.js.map +7 -0
  24. package/dist/cjs/NodeOtel.d.ts +42 -0
  25. package/dist/cjs/NodeOtel.d.ts.map +1 -0
  26. package/dist/cjs/NodeOtel.js +78 -0
  27. package/dist/cjs/NodeOtel.js.map +7 -0
  28. package/dist/cjs/Otel.d.ts +62 -0
  29. package/dist/cjs/Otel.d.ts.map +1 -0
  30. package/dist/cjs/Otel.js +75 -0
  31. package/dist/cjs/Otel.js.map +7 -0
  32. package/dist/cjs/Otlp.d.ts +200 -0
  33. package/dist/cjs/Otlp.d.ts.map +1 -0
  34. package/dist/cjs/Otlp.js +235 -0
  35. package/dist/cjs/Otlp.js.map +7 -0
  36. package/dist/cjs/Resource.d.ts +162 -0
  37. package/dist/cjs/Resource.d.ts.map +1 -0
  38. package/dist/cjs/Resource.js +186 -0
  39. package/dist/cjs/Resource.js.map +7 -0
  40. package/dist/cjs/index.d.ts +61 -0
  41. package/dist/cjs/index.d.ts.map +1 -0
  42. package/dist/cjs/index.js +47 -0
  43. package/dist/cjs/index.js.map +7 -0
  44. package/dist/cjs/internal/schemaIssuePath.d.ts +31 -0
  45. package/dist/cjs/internal/schemaIssuePath.d.ts.map +1 -0
  46. package/dist/cjs/internal/schemaIssuePath.js +49 -0
  47. package/dist/cjs/internal/schemaIssuePath.js.map +7 -0
  48. package/dist/cjs/package.json +1 -0
  49. package/dist/esm/BrowserOtel.d.ts +37 -0
  50. package/dist/esm/BrowserOtel.d.ts.map +1 -0
  51. package/dist/esm/BrowserOtel.js +24 -0
  52. package/dist/esm/BrowserOtel.js.map +1 -0
  53. package/dist/esm/Endpoint.d.ts +70 -0
  54. package/dist/esm/Endpoint.d.ts.map +1 -0
  55. package/dist/esm/Endpoint.js +110 -0
  56. package/dist/esm/Endpoint.js.map +1 -0
  57. package/dist/esm/JournalLogger.d.ts +232 -0
  58. package/dist/esm/JournalLogger.d.ts.map +1 -0
  59. package/dist/esm/JournalLogger.js +482 -0
  60. package/dist/esm/JournalLogger.js.map +1 -0
  61. package/dist/esm/Logger.d.ts +55 -0
  62. package/dist/esm/Logger.d.ts.map +1 -0
  63. package/dist/esm/Logger.js +60 -0
  64. package/dist/esm/Logger.js.map +1 -0
  65. package/dist/esm/Metric.d.ts +67 -0
  66. package/dist/esm/Metric.d.ts.map +1 -0
  67. package/dist/esm/Metric.js +80 -0
  68. package/dist/esm/Metric.js.map +1 -0
  69. package/dist/esm/NodeOtel.d.ts +42 -0
  70. package/dist/esm/NodeOtel.d.ts.map +1 -0
  71. package/dist/esm/NodeOtel.js +56 -0
  72. package/dist/esm/NodeOtel.js.map +1 -0
  73. package/dist/esm/Otel.d.ts +62 -0
  74. package/dist/esm/Otel.d.ts.map +1 -0
  75. package/dist/esm/Otel.js +51 -0
  76. package/dist/esm/Otel.js.map +1 -0
  77. package/dist/esm/Otlp.d.ts +200 -0
  78. package/dist/esm/Otlp.d.ts.map +1 -0
  79. package/dist/esm/Otlp.js +350 -0
  80. package/dist/esm/Otlp.js.map +1 -0
  81. package/dist/esm/Resource.d.ts +162 -0
  82. package/dist/esm/Resource.d.ts.map +1 -0
  83. package/dist/esm/Resource.js +237 -0
  84. package/dist/esm/Resource.js.map +1 -0
  85. package/dist/esm/index.d.ts +61 -0
  86. package/dist/esm/index.d.ts.map +1 -0
  87. package/dist/esm/index.js +61 -0
  88. package/dist/esm/index.js.map +1 -0
  89. package/dist/esm/internal/schemaIssuePath.d.ts +31 -0
  90. package/dist/esm/internal/schemaIssuePath.d.ts.map +1 -0
  91. package/dist/esm/internal/schemaIssuePath.js +59 -0
  92. package/dist/esm/internal/schemaIssuePath.js.map +1 -0
  93. package/docs/README.md +162 -0
  94. package/docs/api.md +768 -0
  95. package/docs/concepts/instrumentation-and-export.md +68 -0
  96. package/docs/concepts/layer-map.md +72 -0
  97. package/docs/concepts/validated-acquisition.md +105 -0
  98. package/docs/guides/export-to-a-collector.md +167 -0
  99. package/docs/guides/forward-logs-to-the-journal.md +226 -0
  100. package/docs/guides/install-a-logger.md +111 -0
  101. package/docs/guides/read-runtime-metrics.md +83 -0
  102. package/docs/guides/testing.md +134 -0
  103. package/docs/guides/wire-an-opentelemetry-sdk.md +220 -0
  104. package/docs/installation.md +98 -0
  105. package/docs/quickstart.md +145 -0
  106. package/docs/troubleshooting.md +168 -0
  107. package/package.json +221 -32
  108. package/src/BrowserOtel.ts +51 -0
  109. package/src/Endpoint.ts +131 -0
  110. package/src/JournalLogger.ts +596 -0
  111. package/src/Logger.ts +106 -0
  112. package/src/Metric.ts +88 -0
  113. package/src/NodeOtel.ts +90 -0
  114. package/src/Otel.ts +117 -0
  115. package/src/Otlp.ts +477 -0
  116. package/src/Resource.ts +324 -0
  117. package/src/index.ts +67 -0
  118. package/src/internal/schemaIssuePath.ts +65 -0
  119. package/docker-compose.otel.yml +0 -104
  120. package/grafana/dashboards/smithers-dashboard.json +0 -453
  121. package/grafana/provisioning/dashboards/dashboards.yml +0 -12
  122. package/grafana/provisioning/datasources/datasources.yml +0 -49
  123. package/loki/loki-config.yaml +0 -35
  124. package/otel-collector-config.yml +0 -38
  125. package/prometheus/prometheus.yml +0 -8
  126. package/src/MetricName.ts +0 -1
  127. package/src/MetricsServiceLive.js +0 -9
  128. package/src/README.md +0 -28
  129. package/src/ResolvedSmithersObservabilityOptions.ts +0 -12
  130. package/src/SmithersEvent.ts +0 -798
  131. package/src/SmithersLogFormat.ts +0 -1
  132. package/src/SmithersMetricDefinition.ts +0 -15
  133. package/src/SmithersMetricType.ts +0 -1
  134. package/src/SmithersMetricUnit.ts +0 -1
  135. package/src/SmithersObservability.js +0 -15
  136. package/src/SmithersObservabilityOptions.ts +0 -12
  137. package/src/SmithersObservabilityService.ts +0 -13
  138. package/src/_coreCorrelation/CorrelationContext.ts +0 -10
  139. package/src/_coreCorrelation/CorrelationContextLive.js +0 -11
  140. package/src/_coreCorrelation/CorrelationContextService.js +0 -15
  141. package/src/_coreCorrelation/CorrelationContextServiceShape.ts +0 -12
  142. package/src/_coreCorrelation/CorrelationPatch.ts +0 -3
  143. package/src/_coreCorrelation/README.md +0 -20
  144. package/src/_coreCorrelation/_correlationStorage.js +0 -4
  145. package/src/_coreCorrelation/correlationContextFiberRef.js +0 -5
  146. package/src/_coreCorrelation/correlationContextToLogAnnotations.js +0 -18
  147. package/src/_coreCorrelation/getCurrentCorrelationContext.js +0 -9
  148. package/src/_coreCorrelation/getCurrentCorrelationContextEffect.js +0 -11
  149. package/src/_coreCorrelation/index.js +0 -14
  150. package/src/_coreCorrelation/mergeCorrelationContext.js +0 -51
  151. package/src/_coreCorrelation/runWithCorrelationContext.js +0 -14
  152. package/src/_coreCorrelation/updateCurrentCorrelationContext.js +0 -17
  153. package/src/_coreCorrelation/withCorrelationContext.js +0 -38
  154. package/src/_coreCorrelation/withCurrentCorrelationContext.js +0 -11
  155. package/src/_coreMetrics.js +0 -14
  156. package/src/_coreMetricsShape.ts +0 -44
  157. package/src/_corePrometheus.js +0 -91
  158. package/src/_corePrometheusShape.ts +0 -11
  159. package/src/_coreTracing.js +0 -132
  160. package/src/_coreTracingShape.ts +0 -17
  161. package/src/_otelLogBuilders.js +0 -102
  162. package/src/_sessionFileResolvers.js +0 -164
  163. package/src/_smithersSpanAttributeAliases.js +0 -19
  164. package/src/_smithersTraceSpanStorage.js +0 -3
  165. package/src/_traceEventNormalizers.js +0 -499
  166. package/src/_traceRedaction.js +0 -162
  167. package/src/agentSessionEventToOtelLogRecord.js +0 -55
  168. package/src/agentTrace.ts +0 -144
  169. package/src/agentTraceCapabilities.js +0 -151
  170. package/src/annotateSmithersTrace.js +0 -11
  171. package/src/canonicalTraceEventToOtelLogRecord.js +0 -55
  172. package/src/correlation.js +0 -56
  173. package/src/createSmithersObservabilityLayer.js +0 -59
  174. package/src/createSmithersOtelLayer.js +0 -23
  175. package/src/createSmithersRuntimeLayer.js +0 -2
  176. package/src/detectAgentFamily.js +0 -26
  177. package/src/detectCaptureMode.js +0 -29
  178. package/src/emitOtelLogRecord.js +0 -19
  179. package/src/getCurrentSmithersTraceAnnotations.js +0 -14
  180. package/src/getCurrentSmithersTraceSpan.js +0 -7
  181. package/src/index.d.ts +0 -1343
  182. package/src/index.js +0 -136
  183. package/src/kindPhase.js +0 -17
  184. package/src/logging.js +0 -248
  185. package/src/makeSmithersSpanAttributes.js +0 -20
  186. package/src/metrics/README.md +0 -22
  187. package/src/metrics/SmithersMetricDefinition.ts +0 -17
  188. package/src/metrics/SmithersMetricType.ts +0 -1
  189. package/src/metrics/SmithersMetricUnit.ts +0 -1
  190. package/src/metrics/_asyncExternalWaitCounts.js +0 -4
  191. package/src/metrics/_buckets.js +0 -37
  192. package/src/metrics/_incrementGauge.js +0 -11
  193. package/src/metrics/_processStartMs.js +0 -1
  194. package/src/metrics/activeNodes.js +0 -2
  195. package/src/metrics/activeRuns.js +0 -2
  196. package/src/metrics/agentActionsTotal.js +0 -2
  197. package/src/metrics/agentDurationMs.js +0 -3
  198. package/src/metrics/agentErrorsTotal.js +0 -2
  199. package/src/metrics/agentEventsTotal.js +0 -2
  200. package/src/metrics/agentInvocationsTotal.js +0 -2
  201. package/src/metrics/agentRetriesTotal.js +0 -2
  202. package/src/metrics/agentSessionsTotal.js +0 -2
  203. package/src/metrics/agentTokensTotal.js +0 -2
  204. package/src/metrics/alertDeliveriesAttempted.js +0 -2
  205. package/src/metrics/alertDeliveriesSuppressed.js +0 -2
  206. package/src/metrics/alertsAcknowledgedTotal.js +0 -2
  207. package/src/metrics/alertsActive.js +0 -2
  208. package/src/metrics/alertsEscalatedTotal.js +0 -2
  209. package/src/metrics/alertsFiredTotal.js +0 -2
  210. package/src/metrics/alertsReopenedTotal.js +0 -2
  211. package/src/metrics/alertsResolvedTotal.js +0 -2
  212. package/src/metrics/alertsSilencedTotal.js +0 -2
  213. package/src/metrics/approvalPending.js +0 -2
  214. package/src/metrics/approvalWaitDuration.js +0 -5
  215. package/src/metrics/approvalsDenied.js +0 -2
  216. package/src/metrics/approvalsGranted.js +0 -2
  217. package/src/metrics/approvalsRequested.js +0 -2
  218. package/src/metrics/attemptDuration.js +0 -3
  219. package/src/metrics/attentionBacklog.js +0 -2
  220. package/src/metrics/cacheHits.js +0 -2
  221. package/src/metrics/cacheMisses.js +0 -2
  222. package/src/metrics/dbQueryDuration.js +0 -3
  223. package/src/metrics/dbRetries.js +0 -2
  224. package/src/metrics/dbTransactionDuration.js +0 -3
  225. package/src/metrics/dbTransactionRetries.js +0 -2
  226. package/src/metrics/dbTransactionRollbacks.js +0 -2
  227. package/src/metrics/devtoolsActiveSubscribers.js +0 -2
  228. package/src/metrics/devtoolsBackpressureDisconnectTotal.js +0 -2
  229. package/src/metrics/devtoolsDeltaBuildMs.js +0 -3
  230. package/src/metrics/devtoolsEventBytes.js +0 -3
  231. package/src/metrics/devtoolsEventTotal.js +0 -2
  232. package/src/metrics/devtoolsSnapshotBuildMs.js +0 -5
  233. package/src/metrics/devtoolsSubscribeTotal.js +0 -2
  234. package/src/metrics/errorsTotal.js +0 -2
  235. package/src/metrics/eventsEmittedTotal.js +0 -2
  236. package/src/metrics/externalWaitAsyncPending.js +0 -2
  237. package/src/metrics/gatewayApprovalDecisionsTotal.js +0 -2
  238. package/src/metrics/gatewayAuthEventsTotal.js +0 -2
  239. package/src/metrics/gatewayConnectionsActive.js +0 -2
  240. package/src/metrics/gatewayConnectionsClosedTotal.js +0 -2
  241. package/src/metrics/gatewayConnectionsTotal.js +0 -2
  242. package/src/metrics/gatewayCronTriggersTotal.js +0 -2
  243. package/src/metrics/gatewayErrorsTotal.js +0 -2
  244. package/src/metrics/gatewayHeartbeatTicksTotal.js +0 -2
  245. package/src/metrics/gatewayMessagesReceivedTotal.js +0 -2
  246. package/src/metrics/gatewayMessagesSentTotal.js +0 -2
  247. package/src/metrics/gatewayRpcCallsTotal.js +0 -2
  248. package/src/metrics/gatewayRpcDuration.js +0 -3
  249. package/src/metrics/gatewayRunEventBackpressureDisconnectTotal.js +0 -4
  250. package/src/metrics/gatewayRunsCompletedTotal.js +0 -2
  251. package/src/metrics/gatewayRunsStartedTotal.js +0 -2
  252. package/src/metrics/gatewaySignalsTotal.js +0 -2
  253. package/src/metrics/gatewayWebhooksReceivedTotal.js +0 -2
  254. package/src/metrics/gatewayWebhooksRejectedTotal.js +0 -2
  255. package/src/metrics/gatewayWebhooksVerifiedTotal.js +0 -2
  256. package/src/metrics/heartbeatDataSizeBytes.js +0 -5
  257. package/src/metrics/heartbeatIntervalMs.js +0 -3
  258. package/src/metrics/hotReloadDuration.js +0 -3
  259. package/src/metrics/hotReloadFailures.js +0 -2
  260. package/src/metrics/hotReloads.js +0 -2
  261. package/src/metrics/httpRequestDuration.js +0 -3
  262. package/src/metrics/httpRequests.js +0 -2
  263. package/src/metrics/index.d.ts +0 -1185
  264. package/src/metrics/index.js +0 -168
  265. package/src/metrics/memoryFactReads.js +0 -3
  266. package/src/metrics/memoryFactWrites.js +0 -3
  267. package/src/metrics/memoryMessageSaves.js +0 -3
  268. package/src/metrics/memoryRecallDuration.js +0 -11
  269. package/src/metrics/memoryRecallQueries.js +0 -3
  270. package/src/metrics/metricsServiceAdapter.js +0 -181
  271. package/src/metrics/nodeDuration.js +0 -3
  272. package/src/metrics/nodeRetriesTotal.js +0 -2
  273. package/src/metrics/nodesFailed.js +0 -2
  274. package/src/metrics/nodesFinished.js +0 -2
  275. package/src/metrics/nodesStarted.js +0 -2
  276. package/src/metrics/openApiToolCallErrorsTotal.js +0 -3
  277. package/src/metrics/openApiToolCallsTotal.js +0 -3
  278. package/src/metrics/openApiToolDuration.js +0 -9
  279. package/src/metrics/processHeapUsedBytes.js +0 -2
  280. package/src/metrics/processMemoryRssBytes.js +0 -2
  281. package/src/metrics/processUptimeSeconds.js +0 -2
  282. package/src/metrics/promptSizeBytes.js +0 -3
  283. package/src/metrics/replaysStarted.js +0 -3
  284. package/src/metrics/responseSizeBytes.js +0 -3
  285. package/src/metrics/rewindDurationMs.js +0 -3
  286. package/src/metrics/rewindFramesDeleted.js +0 -3
  287. package/src/metrics/rewindRollbackTotal.js +0 -2
  288. package/src/metrics/rewindSandboxesReverted.js +0 -3
  289. package/src/metrics/rewindTotal.js +0 -2
  290. package/src/metrics/runDuration.js +0 -3
  291. package/src/metrics/runForksCreated.js +0 -3
  292. package/src/metrics/runsAncestryDepth.js +0 -3
  293. package/src/metrics/runsCancelledTotal.js +0 -2
  294. package/src/metrics/runsCarriedStateBytes.js +0 -5
  295. package/src/metrics/runsContinuedTotal.js +0 -2
  296. package/src/metrics/runsFailedTotal.js +0 -2
  297. package/src/metrics/runsFinishedTotal.js +0 -2
  298. package/src/metrics/runsResumedTotal.js +0 -2
  299. package/src/metrics/runsTotal.js +0 -2
  300. package/src/metrics/sandboxActive.js +0 -2
  301. package/src/metrics/sandboxBundleSizeBytes.js +0 -5
  302. package/src/metrics/sandboxCompletedTotal.js +0 -2
  303. package/src/metrics/sandboxCreatedTotal.js +0 -2
  304. package/src/metrics/sandboxDurationMs.js +0 -3
  305. package/src/metrics/sandboxPatchCount.js +0 -3
  306. package/src/metrics/sandboxTransportDurationMs.js +0 -5
  307. package/src/metrics/schedulerConcurrencyUtilization.js +0 -2
  308. package/src/metrics/schedulerQueueDepth.js +0 -2
  309. package/src/metrics/schedulerWaitDuration.js +0 -5
  310. package/src/metrics/scorerDuration.js +0 -9
  311. package/src/metrics/scorerEventsFailed.js +0 -2
  312. package/src/metrics/scorerEventsFinished.js +0 -2
  313. package/src/metrics/scorerEventsStarted.js +0 -2
  314. package/src/metrics/scorersFailed.js +0 -3
  315. package/src/metrics/scorersFinished.js +0 -3
  316. package/src/metrics/scorersStarted.js +0 -3
  317. package/src/metrics/smithersMetricCatalog.js +0 -893
  318. package/src/metrics/smithersMetricCatalogByKey.js +0 -2
  319. package/src/metrics/smithersMetricCatalogByName.js +0 -2
  320. package/src/metrics/smithersMetricCatalogByPrometheusName.js +0 -4
  321. package/src/metrics/snapshotDuration.js +0 -9
  322. package/src/metrics/snapshotsCaptured.js +0 -3
  323. package/src/metrics/supervisorPollDuration.js +0 -5
  324. package/src/metrics/supervisorPollsTotal.js +0 -2
  325. package/src/metrics/supervisorResumeLag.js +0 -5
  326. package/src/metrics/supervisorResumedTotal.js +0 -2
  327. package/src/metrics/supervisorSkippedTotal.js +0 -2
  328. package/src/metrics/supervisorStaleDetected.js +0 -2
  329. package/src/metrics/taskHeartbeatTimeoutTotal.js +0 -2
  330. package/src/metrics/taskHeartbeatsTotal.js +0 -2
  331. package/src/metrics/timerDelayDuration.js +0 -3
  332. package/src/metrics/timersCancelled.js +0 -2
  333. package/src/metrics/timersCreated.js +0 -2
  334. package/src/metrics/timersFired.js +0 -2
  335. package/src/metrics/timersPending.js +0 -2
  336. package/src/metrics/toPrometheusMetricName.js +0 -8
  337. package/src/metrics/tokensCacheReadTotal.js +0 -2
  338. package/src/metrics/tokensCacheWriteTotal.js +0 -2
  339. package/src/metrics/tokensContextWindowBucketTotal.js +0 -2
  340. package/src/metrics/tokensContextWindowPerCall.js +0 -5
  341. package/src/metrics/tokensInputPerCall.js +0 -3
  342. package/src/metrics/tokensInputTotal.js +0 -2
  343. package/src/metrics/tokensOutputPerCall.js +0 -3
  344. package/src/metrics/tokensOutputTotal.js +0 -2
  345. package/src/metrics/tokensReasoningTotal.js +0 -2
  346. package/src/metrics/toolCallErrorsTotal.js +0 -2
  347. package/src/metrics/toolCallsTotal.js +0 -2
  348. package/src/metrics/toolDuration.js +0 -3
  349. package/src/metrics/toolOutputTruncatedTotal.js +0 -2
  350. package/src/metrics/trackEvent.js +0 -608
  351. package/src/metrics/updateAsyncExternalWaitPending.js +0 -18
  352. package/src/metrics/updateProcessMetrics.js +0 -20
  353. package/src/metrics/vcsDuration.js +0 -3
  354. package/src/normalizeStructuredEvent.js +0 -15
  355. package/src/prometheusContentType.js +0 -1
  356. package/src/renderPrometheusMetrics.js +0 -212
  357. package/src/resolveAgentTraceCapabilities.js +0 -59
  358. package/src/resolveSmithersObservabilityOptions.js +0 -109
  359. package/src/smithersMetrics.js +0 -2
  360. package/src/smithersSpanNames.js +0 -6
  361. package/src/unsupportedKindsForCapabilities.js +0 -32
  362. package/src/withSmithersSpan.js +0 -17
  363. package/tempo/tempo.yml +0 -17
@@ -1,168 +0,0 @@
1
- /** @typedef {import("../SmithersMetricDefinition.ts").SmithersMetricDefinition} SmithersMetricDefinition */
2
- /** @typedef {import("../SmithersMetricType.ts").SmithersMetricType} SmithersMetricType */
3
- /** @typedef {import("../SmithersMetricUnit.ts").SmithersMetricUnit} SmithersMetricUnit */
4
-
5
- // Functions
6
- export { toPrometheusMetricName } from "./toPrometheusMetricName.js";
7
- export { updateProcessMetrics } from "./updateProcessMetrics.js";
8
- export { updateAsyncExternalWaitPending } from "./updateAsyncExternalWaitPending.js";
9
- export { trackEvent } from "./trackEvent.js";
10
- // Catalog
11
- export { smithersMetricCatalog } from "./smithersMetricCatalog.js";
12
- export { smithersMetricCatalogByKey } from "./smithersMetricCatalogByKey.js";
13
- export { smithersMetricCatalogByName } from "./smithersMetricCatalogByName.js";
14
- export { smithersMetricCatalogByPrometheusName } from "./smithersMetricCatalogByPrometheusName.js";
15
- // Service adapter
16
- export { metricsServiceAdapter } from "./metricsServiceAdapter.js";
17
- // Counters
18
- export { runsTotal } from "./runsTotal.js";
19
- export { nodesStarted } from "./nodesStarted.js";
20
- export { nodesFinished } from "./nodesFinished.js";
21
- export { nodesFailed } from "./nodesFailed.js";
22
- export { toolCallsTotal } from "./toolCallsTotal.js";
23
- export { cacheHits } from "./cacheHits.js";
24
- export { cacheMisses } from "./cacheMisses.js";
25
- export { dbRetries } from "./dbRetries.js";
26
- export { dbTransactionRollbacks } from "./dbTransactionRollbacks.js";
27
- export { dbTransactionRetries } from "./dbTransactionRetries.js";
28
- export { hotReloads } from "./hotReloads.js";
29
- export { hotReloadFailures } from "./hotReloadFailures.js";
30
- export { httpRequests } from "./httpRequests.js";
31
- export { approvalsRequested } from "./approvalsRequested.js";
32
- export { approvalsGranted } from "./approvalsGranted.js";
33
- export { approvalsDenied } from "./approvalsDenied.js";
34
- export { timersCreated } from "./timersCreated.js";
35
- export { timersFired } from "./timersFired.js";
36
- export { timersCancelled } from "./timersCancelled.js";
37
- export { sandboxCreatedTotal } from "./sandboxCreatedTotal.js";
38
- export { sandboxCompletedTotal } from "./sandboxCompletedTotal.js";
39
- export { alertsFiredTotal } from "./alertsFiredTotal.js";
40
- export { alertsAcknowledgedTotal } from "./alertsAcknowledgedTotal.js";
41
- export { alertsResolvedTotal } from "./alertsResolvedTotal.js";
42
- export { alertsSilencedTotal } from "./alertsSilencedTotal.js";
43
- export { alertsReopenedTotal } from "./alertsReopenedTotal.js";
44
- export { alertsEscalatedTotal } from "./alertsEscalatedTotal.js";
45
- export { alertDeliveriesAttempted } from "./alertDeliveriesAttempted.js";
46
- export { alertDeliveriesSuppressed } from "./alertDeliveriesSuppressed.js";
47
- export { scorerEventsStarted } from "./scorerEventsStarted.js";
48
- export { scorerEventsFinished } from "./scorerEventsFinished.js";
49
- export { scorerEventsFailed } from "./scorerEventsFailed.js";
50
- export { tokensInputTotal } from "./tokensInputTotal.js";
51
- export { tokensOutputTotal } from "./tokensOutputTotal.js";
52
- export { tokensCacheReadTotal } from "./tokensCacheReadTotal.js";
53
- export { tokensCacheWriteTotal } from "./tokensCacheWriteTotal.js";
54
- export { tokensReasoningTotal } from "./tokensReasoningTotal.js";
55
- export { tokensContextWindowBucketTotal } from "./tokensContextWindowBucketTotal.js";
56
- export { runsFinishedTotal } from "./runsFinishedTotal.js";
57
- export { runsFailedTotal } from "./runsFailedTotal.js";
58
- export { runsCancelledTotal } from "./runsCancelledTotal.js";
59
- export { runsResumedTotal } from "./runsResumedTotal.js";
60
- export { runsContinuedTotal } from "./runsContinuedTotal.js";
61
- export { supervisorPollsTotal } from "./supervisorPollsTotal.js";
62
- export { supervisorStaleDetected } from "./supervisorStaleDetected.js";
63
- export { supervisorResumedTotal } from "./supervisorResumedTotal.js";
64
- export { supervisorSkippedTotal } from "./supervisorSkippedTotal.js";
65
- export { errorsTotal } from "./errorsTotal.js";
66
- export { nodeRetriesTotal } from "./nodeRetriesTotal.js";
67
- export { toolCallErrorsTotal } from "./toolCallErrorsTotal.js";
68
- export { toolOutputTruncatedTotal } from "./toolOutputTruncatedTotal.js";
69
- export { agentInvocationsTotal } from "./agentInvocationsTotal.js";
70
- export { agentTokensTotal } from "./agentTokensTotal.js";
71
- export { agentErrorsTotal } from "./agentErrorsTotal.js";
72
- export { agentRetriesTotal } from "./agentRetriesTotal.js";
73
- export { agentEventsTotal } from "./agentEventsTotal.js";
74
- export { agentSessionsTotal } from "./agentSessionsTotal.js";
75
- export { agentActionsTotal } from "./agentActionsTotal.js";
76
- export { gatewayConnectionsTotal } from "./gatewayConnectionsTotal.js";
77
- export { gatewayConnectionsClosedTotal } from "./gatewayConnectionsClosedTotal.js";
78
- export { gatewayMessagesReceivedTotal } from "./gatewayMessagesReceivedTotal.js";
79
- export { gatewayMessagesSentTotal } from "./gatewayMessagesSentTotal.js";
80
- export { gatewayRpcCallsTotal } from "./gatewayRpcCallsTotal.js";
81
- export { gatewayErrorsTotal } from "./gatewayErrorsTotal.js";
82
- export { gatewayRunsStartedTotal } from "./gatewayRunsStartedTotal.js";
83
- export { gatewayRunsCompletedTotal } from "./gatewayRunsCompletedTotal.js";
84
- export { gatewayApprovalDecisionsTotal } from "./gatewayApprovalDecisionsTotal.js";
85
- export { gatewaySignalsTotal } from "./gatewaySignalsTotal.js";
86
- export { gatewayAuthEventsTotal } from "./gatewayAuthEventsTotal.js";
87
- export { gatewayHeartbeatTicksTotal } from "./gatewayHeartbeatTicksTotal.js";
88
- export { gatewayCronTriggersTotal } from "./gatewayCronTriggersTotal.js";
89
- export { gatewayWebhooksReceivedTotal } from "./gatewayWebhooksReceivedTotal.js";
90
- export { gatewayWebhooksVerifiedTotal } from "./gatewayWebhooksVerifiedTotal.js";
91
- export { gatewayWebhooksRejectedTotal } from "./gatewayWebhooksRejectedTotal.js";
92
- export { devtoolsSubscribeTotal } from "./devtoolsSubscribeTotal.js";
93
- export { devtoolsEventTotal } from "./devtoolsEventTotal.js";
94
- export { devtoolsBackpressureDisconnectTotal } from "./devtoolsBackpressureDisconnectTotal.js";
95
- export { gatewayRunEventBackpressureDisconnectTotal } from "./gatewayRunEventBackpressureDisconnectTotal.js";
96
- export { eventsEmittedTotal } from "./eventsEmittedTotal.js";
97
- export { taskHeartbeatsTotal } from "./taskHeartbeatsTotal.js";
98
- export { taskHeartbeatTimeoutTotal } from "./taskHeartbeatTimeoutTotal.js";
99
- export { memoryFactReads } from "./memoryFactReads.js";
100
- export { memoryFactWrites } from "./memoryFactWrites.js";
101
- export { memoryRecallQueries } from "./memoryRecallQueries.js";
102
- export { memoryMessageSaves } from "./memoryMessageSaves.js";
103
- export { openApiToolCallsTotal } from "./openApiToolCallsTotal.js";
104
- export { openApiToolCallErrorsTotal } from "./openApiToolCallErrorsTotal.js";
105
- export { scorersStarted } from "./scorersStarted.js";
106
- export { scorersFinished } from "./scorersFinished.js";
107
- export { scorersFailed } from "./scorersFailed.js";
108
- export { snapshotsCaptured } from "./snapshotsCaptured.js";
109
- export { runForksCreated } from "./runForksCreated.js";
110
- export { replaysStarted } from "./replaysStarted.js";
111
- // Gauges
112
- export { activeRuns } from "./activeRuns.js";
113
- export { activeNodes } from "./activeNodes.js";
114
- export { schedulerQueueDepth } from "./schedulerQueueDepth.js";
115
- export { sandboxActive } from "./sandboxActive.js";
116
- export { alertsActive } from "./alertsActive.js";
117
- export { attentionBacklog } from "./attentionBacklog.js";
118
- export { gatewayConnectionsActive } from "./gatewayConnectionsActive.js";
119
- export { approvalPending } from "./approvalPending.js";
120
- export { externalWaitAsyncPending } from "./externalWaitAsyncPending.js";
121
- export { timersPending } from "./timersPending.js";
122
- export { schedulerConcurrencyUtilization } from "./schedulerConcurrencyUtilization.js";
123
- export { processUptimeSeconds } from "./processUptimeSeconds.js";
124
- export { processMemoryRssBytes } from "./processMemoryRssBytes.js";
125
- export { processHeapUsedBytes } from "./processHeapUsedBytes.js";
126
- export { devtoolsActiveSubscribers } from "./devtoolsActiveSubscribers.js";
127
- // Histograms
128
- export { nodeDuration } from "./nodeDuration.js";
129
- export { attemptDuration } from "./attemptDuration.js";
130
- export { toolDuration } from "./toolDuration.js";
131
- export { dbQueryDuration } from "./dbQueryDuration.js";
132
- export { dbTransactionDuration } from "./dbTransactionDuration.js";
133
- export { httpRequestDuration } from "./httpRequestDuration.js";
134
- export { hotReloadDuration } from "./hotReloadDuration.js";
135
- export { vcsDuration } from "./vcsDuration.js";
136
- export { agentDurationMs } from "./agentDurationMs.js";
137
- export { tokensInputPerCall } from "./tokensInputPerCall.js";
138
- export { tokensOutputPerCall } from "./tokensOutputPerCall.js";
139
- export { tokensContextWindowPerCall } from "./tokensContextWindowPerCall.js";
140
- export { runDuration } from "./runDuration.js";
141
- export { promptSizeBytes } from "./promptSizeBytes.js";
142
- export { responseSizeBytes } from "./responseSizeBytes.js";
143
- export { approvalWaitDuration } from "./approvalWaitDuration.js";
144
- export { timerDelayDuration } from "./timerDelayDuration.js";
145
- export { gatewayRpcDuration } from "./gatewayRpcDuration.js";
146
- export { schedulerWaitDuration } from "./schedulerWaitDuration.js";
147
- export { supervisorPollDuration } from "./supervisorPollDuration.js";
148
- export { supervisorResumeLag } from "./supervisorResumeLag.js";
149
- export { runsAncestryDepth } from "./runsAncestryDepth.js";
150
- export { runsCarriedStateBytes } from "./runsCarriedStateBytes.js";
151
- export { sandboxDurationMs } from "./sandboxDurationMs.js";
152
- export { sandboxBundleSizeBytes } from "./sandboxBundleSizeBytes.js";
153
- export { sandboxTransportDurationMs } from "./sandboxTransportDurationMs.js";
154
- export { sandboxPatchCount } from "./sandboxPatchCount.js";
155
- export { heartbeatDataSizeBytes } from "./heartbeatDataSizeBytes.js";
156
- export { heartbeatIntervalMs } from "./heartbeatIntervalMs.js";
157
- export { memoryRecallDuration } from "./memoryRecallDuration.js";
158
- export { openApiToolDuration } from "./openApiToolDuration.js";
159
- export { scorerDuration } from "./scorerDuration.js";
160
- export { snapshotDuration } from "./snapshotDuration.js";
161
- export { devtoolsSnapshotBuildMs } from "./devtoolsSnapshotBuildMs.js";
162
- export { devtoolsDeltaBuildMs } from "./devtoolsDeltaBuildMs.js";
163
- export { devtoolsEventBytes } from "./devtoolsEventBytes.js";
164
- export { rewindTotal } from "./rewindTotal.js";
165
- export { rewindRollbackTotal } from "./rewindRollbackTotal.js";
166
- export { rewindDurationMs } from "./rewindDurationMs.js";
167
- export { rewindFramesDeleted } from "./rewindFramesDeleted.js";
168
- export { rewindSandboxesReverted } from "./rewindSandboxesReverted.js";
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const memoryFactReads = Metric.counter("smithers.memory.fact_reads");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const memoryFactWrites = Metric.counter("smithers.memory.fact_writes");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const memoryMessageSaves = Metric.counter("smithers.memory.message_saves");
@@ -1,11 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- const durationBuckets = Metric.exponentialBoundaries({
4
- start: 1,
5
- factor: 2,
6
- count: 14,
7
- }); // ~1ms to ~8s
8
-
9
- export const memoryRecallDuration = Metric.histogram("smithers.memory.recall_duration_ms", {
10
- boundaries: durationBuckets,
11
- });
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const memoryRecallQueries = Metric.counter("smithers.memory.recall_queries");
@@ -1,181 +0,0 @@
1
- import { renderPrometheusSamples } from "../_corePrometheus.js";
2
- import { Effect, Metric } from "effect";
3
- import { toPrometheusMetricName } from "./toPrometheusMetricName.js";
4
- import { durationBuckets } from "./_buckets.js";
5
- import { smithersMetricCatalogByName } from "./smithersMetricCatalogByName.js";
6
- import { smithersMetricCatalogByPrometheusName } from "./smithersMetricCatalogByPrometheusName.js";
7
- import { trackEvent } from "./trackEvent.js";
8
- import { updateProcessMetrics } from "./updateProcessMetrics.js";
9
- import { updateAsyncExternalWaitPending } from "./updateAsyncExternalWaitPending.js";
10
- import { incrementGauge } from "./_incrementGauge.js";
11
- /** @typedef {import("./SmithersMetricDefinition.ts").SmithersMetricDefinition} SmithersMetricDefinition */
12
- /** @typedef {import("../_coreMetricsShape.ts").MetricsServiceShape} MetricsServiceShape */
13
- /** @typedef {import("../_corePrometheusShape.ts").MetricLabels} MetricLabels */
14
- /** @typedef {import("../_corePrometheusShape.ts").PrometheusSample} PrometheusSample */
15
- /** @typedef {import("../_coreMetricsShape.ts").MetricsSnapshot} MetricsSnapshot */
16
-
17
- /**
18
- * @param {string} name
19
- * @returns {SmithersMetricDefinition | undefined}
20
- */
21
- function resolveMetricDefinition(name) {
22
- return (
23
- smithersMetricCatalogByName.get(name) ?? smithersMetricCatalogByPrometheusName.get(toPrometheusMetricName(name))
24
- );
25
- }
26
- /**
27
- * @template A
28
- * @param {A} metric
29
- * @param {MetricLabels} [labels]
30
- * @returns {A}
31
- */
32
- function tagMetricWithLabels(metric, labels) {
33
- let tagged = metric;
34
- for (const [key, value] of Object.entries(labels ?? {})) {
35
- tagged = Metric.withAttributes(tagged, { [key]: String(value) });
36
- }
37
- return tagged;
38
- }
39
- /**
40
- * @param {string} name
41
- * @param {MetricLabels} [labels]
42
- * @returns {Metric.Metric<any, number, any>}
43
- */
44
- function counterOrGaugeMetric(name, labels) {
45
- const definition = resolveMetricDefinition(name);
46
- const metric =
47
- definition?.type === "counter" || definition?.type === "gauge" ? definition.metric : Metric.counter(name);
48
- return tagMetricWithLabels(metric, labels);
49
- }
50
- /**
51
- * @param {string} name
52
- * @param {MetricLabels} [labels]
53
- * @returns {Metric.Metric<any, number, any>}
54
- */
55
- function gaugeMetric(name, labels) {
56
- const definition = resolveMetricDefinition(name);
57
- const metric = definition?.type === "gauge" ? definition.metric : Metric.gauge(name);
58
- return tagMetricWithLabels(metric, labels);
59
- }
60
- /**
61
- * @param {string} name
62
- * @param {MetricLabels} [labels]
63
- * @returns {Metric.Metric<any, number, any>}
64
- */
65
- function histogramMetric(name, labels) {
66
- const definition = resolveMetricDefinition(name);
67
- const metric =
68
- definition?.type === "histogram" ? definition.metric : Metric.histogram(name, { boundaries: durationBuckets });
69
- return tagMetricWithLabels(metric, labels);
70
- }
71
- /**
72
- * @param {number | bigint | undefined} value
73
- * @returns {number}
74
- */
75
- function metricValueAsNumber(value) {
76
- if (typeof value === "bigint") return Number(value);
77
- return typeof value === "number" && Number.isFinite(value) ? value : 0;
78
- }
79
- /**
80
- * @param {Record<string, string> | undefined} attributes
81
- * @returns {MetricLabels}
82
- */
83
- function metricsServiceLabels(attributes) {
84
- return Object.freeze(
85
- Object.fromEntries(Object.entries(attributes ?? {}).sort(([left], [right]) => left.localeCompare(right))),
86
- );
87
- }
88
- /**
89
- * @param {string} name
90
- * @param {MetricLabels} labels
91
- * @returns {string}
92
- */
93
- function metricsServiceSnapshotKey(name, labels) {
94
- return `${name}|${JSON.stringify(Object.entries(labels).sort(([left], [right]) => left.localeCompare(right)))}`;
95
- }
96
- /**
97
- * @returns {PrometheusSample[]}
98
- */
99
- function metricsServicePrometheusSamples() {
100
- const samples = [];
101
- for (const snapshot of Effect.runSync(Metric.snapshot)) {
102
- const metricState = snapshot.state;
103
- const name = snapshot.id;
104
- if (!name) continue;
105
- const labels = metricsServiceLabels(snapshot.attributes);
106
- if (snapshot.type === "Counter") {
107
- samples.push({
108
- name,
109
- type: "counter",
110
- labels,
111
- value: metricValueAsNumber(metricState.count),
112
- });
113
- continue;
114
- }
115
- if (snapshot.type === "Gauge") {
116
- samples.push({
117
- name,
118
- type: "gauge",
119
- labels,
120
- value: metricValueAsNumber(metricState.value),
121
- });
122
- continue;
123
- }
124
- if (snapshot.type === "Histogram") {
125
- samples.push({
126
- name,
127
- type: "histogram",
128
- labels,
129
- buckets: new Map([...metricState.buckets].map(([boundary, count]) => [boundary, metricValueAsNumber(count)])),
130
- sum: metricValueAsNumber(metricState.sum),
131
- count: metricValueAsNumber(metricState.count),
132
- });
133
- }
134
- }
135
- return samples;
136
- }
137
- /**
138
- * @returns {MetricsSnapshot}
139
- */
140
- function metricsServiceSnapshot() {
141
- const result = new Map();
142
- for (const sample of metricsServicePrometheusSamples()) {
143
- const key = metricsServiceSnapshotKey(sample.name, sample.labels);
144
- if (sample.type === "histogram") {
145
- result.set(key, {
146
- type: "histogram",
147
- sum: sample.sum ?? 0,
148
- count: sample.count ?? 0,
149
- labels: sample.labels,
150
- buckets: new Map(sample.buckets ?? []),
151
- });
152
- continue;
153
- }
154
- result.set(key, {
155
- type: sample.type,
156
- value: sample.value ?? 0,
157
- labels: sample.labels,
158
- });
159
- }
160
- return result;
161
- }
162
- /** @type {MetricsServiceShape} */
163
- export const metricsServiceAdapter = {
164
- increment: (name, labels) => {
165
- const metric = counterOrGaugeMetric(name, labels);
166
- return resolveMetricDefinition(name)?.type === "gauge" ? incrementGauge(metric, 1) : Metric.update(metric, 1);
167
- },
168
- incrementBy: (name, value, labels) => {
169
- const metric = counterOrGaugeMetric(name, labels);
170
- return resolveMetricDefinition(name)?.type === "gauge"
171
- ? incrementGauge(metric, value)
172
- : Metric.update(metric, value);
173
- },
174
- gauge: (name, value, labels) => Metric.update(gaugeMetric(name, labels), value),
175
- histogram: (name, value, labels) => Metric.update(histogramMetric(name, labels), value),
176
- recordEvent: (event) => trackEvent(event),
177
- updateProcessMetrics: () => updateProcessMetrics(),
178
- updateAsyncExternalWaitPending: (kind, delta) => updateAsyncExternalWaitPending(kind, delta),
179
- renderPrometheus: () => Effect.sync(() => renderPrometheusSamples(metricsServicePrometheusSamples())),
180
- snapshot: () => Effect.sync(metricsServiceSnapshot),
181
- };
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
- import { durationBuckets } from "./_buckets.js";
3
- export const nodeDuration = Metric.histogram("smithers.node.duration_ms", { boundaries: durationBuckets });
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const nodeRetriesTotal = Metric.counter("smithers.node.retries_total");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const nodesFailed = Metric.counter("smithers.nodes.failed");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const nodesFinished = Metric.counter("smithers.nodes.finished");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const nodesStarted = Metric.counter("smithers.nodes.started");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const openApiToolCallErrorsTotal = Metric.counter("smithers.openapi.tool_call_errors");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const openApiToolCallsTotal = Metric.counter("smithers.openapi.tool_calls");
@@ -1,9 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- const toolBuckets = Metric.exponentialBoundaries({
4
- start: 10,
5
- factor: 2,
6
- count: 14,
7
- }); // ~10ms to ~80s
8
-
9
- export const openApiToolDuration = Metric.histogram("smithers.openapi.tool_duration_ms", { boundaries: toolBuckets });
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const processHeapUsedBytes = Metric.gauge("smithers.process.heap_used_bytes");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const processMemoryRssBytes = Metric.gauge("smithers.process.memory_rss_bytes");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const processUptimeSeconds = Metric.gauge("smithers.process.uptime_seconds");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
- import { sizeBuckets } from "./_buckets.js";
3
- export const promptSizeBytes = Metric.histogram("smithers.prompt.size_bytes", { boundaries: sizeBuckets });
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const replaysStarted = Metric.counter("smithers.replays.started");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
- import { sizeBuckets } from "./_buckets.js";
3
- export const responseSizeBytes = Metric.histogram("smithers.response.size_bytes", { boundaries: sizeBuckets });
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
- import { durationBuckets } from "./_buckets.js";
3
- export const rewindDurationMs = Metric.histogram("smithers_rewind_duration_ms", { boundaries: durationBuckets });
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
- const buckets = Metric.exponentialBoundaries({ start: 1, factor: 2, count: 18 });
3
- export const rewindFramesDeleted = Metric.histogram("smithers_rewind_frames_deleted", { boundaries: buckets });
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const rewindRollbackTotal = Metric.counter("smithers_rewind_rollback_total");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
- const buckets = Metric.boundariesFromIterable([0, 1, 2, 4, 8, 16, 32, 64]);
3
- export const rewindSandboxesReverted = Metric.histogram("smithers_rewind_sandboxes_reverted", { boundaries: buckets });
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const rewindTotal = Metric.counter("smithers_rewind_total");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
- import { durationBuckets } from "./_buckets.js";
3
- export const runDuration = Metric.histogram("smithers.run.duration_ms", { boundaries: durationBuckets });
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const runForksCreated = Metric.counter("smithers.forks.created");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
- import { ancestryDepthBuckets } from "./_buckets.js";
3
- export const runsAncestryDepth = Metric.histogram("smithers.runs.ancestry_depth", { boundaries: ancestryDepthBuckets });
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const runsCancelledTotal = Metric.counter("smithers.runs.cancelled_total");
@@ -1,5 +0,0 @@
1
- import { Metric } from "effect";
2
- import { carriedStateSizeBuckets } from "./_buckets.js";
3
- export const runsCarriedStateBytes = Metric.histogram("smithers.runs.carried_state_bytes", {
4
- boundaries: carriedStateSizeBuckets,
5
- });
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const runsContinuedTotal = Metric.counter("smithers.runs.continued_total");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const runsFailedTotal = Metric.counter("smithers.runs.failed_total");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const runsFinishedTotal = Metric.counter("smithers.runs.finished_total");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const runsResumedTotal = Metric.counter("smithers.runs.resumed_total");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const runsTotal = Metric.counter("smithers.runs.total");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const sandboxActive = Metric.gauge("smithers.sandbox.active");
@@ -1,5 +0,0 @@
1
- import { Metric } from "effect";
2
- import { sizeBuckets } from "./_buckets.js";
3
- export const sandboxBundleSizeBytes = Metric.histogram("smithers.sandbox.bundle_size_bytes", {
4
- boundaries: sizeBuckets,
5
- });
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const sandboxCompletedTotal = Metric.counter("smithers.sandbox.completed_total");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const sandboxCreatedTotal = Metric.counter("smithers.sandbox.created_total");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
- import { durationBuckets } from "./_buckets.js";
3
- export const sandboxDurationMs = Metric.histogram("smithers.sandbox.duration_ms", { boundaries: durationBuckets });
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
- import { tokenBuckets } from "./_buckets.js";
3
- export const sandboxPatchCount = Metric.histogram("smithers.sandbox.patch_count", { boundaries: tokenBuckets });
@@ -1,5 +0,0 @@
1
- import { Metric } from "effect";
2
- import { durationBuckets } from "./_buckets.js";
3
- export const sandboxTransportDurationMs = Metric.histogram("smithers.sandbox.transport_duration_ms", {
4
- boundaries: durationBuckets,
5
- });
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const schedulerConcurrencyUtilization = Metric.gauge("smithers.scheduler.concurrency_utilization");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const schedulerQueueDepth = Metric.gauge("smithers.scheduler.queue_depth");
@@ -1,5 +0,0 @@
1
- import { Metric } from "effect";
2
- import { durationBuckets } from "./_buckets.js";
3
- export const schedulerWaitDuration = Metric.histogram("smithers.scheduler.wait_duration_ms", {
4
- boundaries: durationBuckets,
5
- });
@@ -1,9 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- const scorerBuckets = Metric.exponentialBoundaries({
4
- start: 10,
5
- factor: 2,
6
- count: 14,
7
- }); // ~10ms to ~80s
8
-
9
- export const scorerDuration = Metric.histogram("smithers.scorer.duration_ms", { boundaries: scorerBuckets });
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const scorerEventsFailed = Metric.counter("smithers.scorer_events.failed");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const scorerEventsFinished = Metric.counter("smithers.scorer_events.finished");
@@ -1,2 +0,0 @@
1
- import { Metric } from "effect";
2
- export const scorerEventsStarted = Metric.counter("smithers.scorer_events.started");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const scorersFailed = Metric.counter("smithers.scorers.failed");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const scorersFinished = Metric.counter("smithers.scorers.finished");
@@ -1,3 +0,0 @@
1
- import { Metric } from "effect";
2
-
3
- export const scorersStarted = Metric.counter("smithers.scorers.started");