@clayroach/effect 3.19.14-source-capture.6 → 3.19.14-source-capture.8

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 (371) hide show
  1. package/dist/cjs/Utils.js +1 -1
  2. package/dist/cjs/Utils.js.map +1 -1
  3. package/dist/cjs/internal/clock.js +1 -1
  4. package/dist/cjs/internal/clock.js.map +1 -1
  5. package/dist/esm/Utils.js +1 -1
  6. package/dist/esm/Utils.js.map +1 -1
  7. package/dist/esm/internal/clock.js +1 -1
  8. package/dist/esm/internal/clock.js.map +1 -1
  9. package/package.json +1 -1
  10. package/src/Arbitrary.ts +0 -1101
  11. package/src/Array.ts +0 -3589
  12. package/src/BigDecimal.ts +0 -1349
  13. package/src/BigInt.ts +0 -643
  14. package/src/Boolean.ts +0 -287
  15. package/src/Brand.ts +0 -360
  16. package/src/Cache.ts +0 -281
  17. package/src/Cause.ts +0 -1555
  18. package/src/Channel.ts +0 -2355
  19. package/src/ChildExecutorDecision.ts +0 -146
  20. package/src/Chunk.ts +0 -1495
  21. package/src/Clock.ts +0 -111
  22. package/src/Config.ts +0 -542
  23. package/src/ConfigError.ts +0 -270
  24. package/src/ConfigProvider.ts +0 -333
  25. package/src/ConfigProviderPathPatch.ts +0 -100
  26. package/src/Console.ts +0 -226
  27. package/src/Context.ts +0 -585
  28. package/src/Cron.ts +0 -706
  29. package/src/Data.ts +0 -596
  30. package/src/DateTime.ts +0 -1686
  31. package/src/DefaultServices.ts +0 -34
  32. package/src/Deferred.ts +0 -301
  33. package/src/Differ.ts +0 -450
  34. package/src/Duration.ts +0 -1000
  35. package/src/Effect.ts +0 -14839
  36. package/src/Effectable.ts +0 -107
  37. package/src/Either.ts +0 -1040
  38. package/src/Encoding.ts +0 -195
  39. package/src/Equal.ts +0 -98
  40. package/src/Equivalence.ts +0 -235
  41. package/src/ExecutionPlan.ts +0 -308
  42. package/src/ExecutionStrategy.ts +0 -119
  43. package/src/Exit.ts +0 -467
  44. package/src/FastCheck.ts +0 -9
  45. package/src/Fiber.ts +0 -744
  46. package/src/FiberHandle.ts +0 -540
  47. package/src/FiberId.ts +0 -195
  48. package/src/FiberMap.ts +0 -656
  49. package/src/FiberRef.ts +0 -431
  50. package/src/FiberRefs.ts +0 -204
  51. package/src/FiberRefsPatch.ts +0 -105
  52. package/src/FiberSet.ts +0 -491
  53. package/src/FiberStatus.ts +0 -108
  54. package/src/Function.ts +0 -1222
  55. package/src/GlobalValue.ts +0 -53
  56. package/src/Graph.ts +0 -3732
  57. package/src/GroupBy.ts +0 -103
  58. package/src/HKT.ts +0 -45
  59. package/src/Hash.ts +0 -195
  60. package/src/HashMap.ts +0 -519
  61. package/src/HashRing.ts +0 -317
  62. package/src/HashSet.ts +0 -2346
  63. package/src/Inspectable.ts +0 -287
  64. package/src/Iterable.ts +0 -1119
  65. package/src/JSONSchema.ts +0 -1044
  66. package/src/KeyedPool.ts +0 -167
  67. package/src/Layer.ts +0 -1251
  68. package/src/LayerMap.ts +0 -436
  69. package/src/List.ts +0 -977
  70. package/src/LogLevel.ts +0 -285
  71. package/src/LogSpan.ts +0 -25
  72. package/src/Logger.ts +0 -702
  73. package/src/Mailbox.ts +0 -268
  74. package/src/ManagedRuntime.ts +0 -180
  75. package/src/Match.ts +0 -1477
  76. package/src/MergeDecision.ts +0 -95
  77. package/src/MergeState.ts +0 -172
  78. package/src/MergeStrategy.ts +0 -107
  79. package/src/Metric.ts +0 -780
  80. package/src/MetricBoundaries.ts +0 -69
  81. package/src/MetricHook.ts +0 -151
  82. package/src/MetricKey.ts +0 -224
  83. package/src/MetricKeyType.ts +0 -262
  84. package/src/MetricLabel.ts +0 -47
  85. package/src/MetricPair.ts +0 -71
  86. package/src/MetricPolling.ts +0 -148
  87. package/src/MetricRegistry.ts +0 -48
  88. package/src/MetricState.ts +0 -257
  89. package/src/Micro.ts +0 -4405
  90. package/src/ModuleVersion.ts +0 -18
  91. package/src/MutableHashMap.ts +0 -411
  92. package/src/MutableHashSet.ts +0 -706
  93. package/src/MutableList.ts +0 -297
  94. package/src/MutableQueue.ts +0 -227
  95. package/src/MutableRef.ts +0 -202
  96. package/src/NonEmptyIterable.ts +0 -32
  97. package/src/Number.ts +0 -1071
  98. package/src/Option.ts +0 -2170
  99. package/src/Order.ts +0 -373
  100. package/src/Ordering.ts +0 -111
  101. package/src/ParseResult.ts +0 -2031
  102. package/src/PartitionedSemaphore.ts +0 -200
  103. package/src/Pipeable.ts +0 -566
  104. package/src/Pool.ts +0 -204
  105. package/src/Predicate.ts +0 -1405
  106. package/src/Pretty.ts +0 -205
  107. package/src/PrimaryKey.ts +0 -23
  108. package/src/PubSub.ts +0 -182
  109. package/src/Queue.ts +0 -644
  110. package/src/Random.ts +0 -204
  111. package/src/RateLimiter.ts +0 -138
  112. package/src/RcMap.ts +0 -141
  113. package/src/RcRef.ts +0 -122
  114. package/src/Readable.ts +0 -93
  115. package/src/Record.ts +0 -1274
  116. package/src/RedBlackTree.ts +0 -421
  117. package/src/Redacted.ts +0 -144
  118. package/src/Ref.ts +0 -180
  119. package/src/RegExp.ts +0 -38
  120. package/src/Reloadable.ts +0 -127
  121. package/src/Request.ts +0 -347
  122. package/src/RequestBlock.ts +0 -118
  123. package/src/RequestResolver.ts +0 -366
  124. package/src/Resource.ts +0 -119
  125. package/src/Runtime.ts +0 -383
  126. package/src/RuntimeFlags.ts +0 -368
  127. package/src/RuntimeFlagsPatch.ts +0 -183
  128. package/src/STM.ts +0 -2045
  129. package/src/Schedule.ts +0 -2219
  130. package/src/ScheduleDecision.ts +0 -62
  131. package/src/ScheduleInterval.ts +0 -151
  132. package/src/ScheduleIntervals.ts +0 -122
  133. package/src/Scheduler.ts +0 -353
  134. package/src/Schema.ts +0 -10914
  135. package/src/SchemaAST.ts +0 -3043
  136. package/src/Scope.ts +0 -204
  137. package/src/ScopedCache.ts +0 -151
  138. package/src/ScopedRef.ts +0 -117
  139. package/src/Secret.ts +0 -88
  140. package/src/SingleProducerAsyncInput.ts +0 -67
  141. package/src/Sink.ts +0 -1461
  142. package/src/SortedMap.ts +0 -287
  143. package/src/SortedSet.ts +0 -390
  144. package/src/Stream.ts +0 -6468
  145. package/src/StreamEmit.ts +0 -136
  146. package/src/StreamHaltStrategy.ts +0 -123
  147. package/src/Streamable.ts +0 -45
  148. package/src/String.ts +0 -778
  149. package/src/Struct.ts +0 -243
  150. package/src/Subscribable.ts +0 -100
  151. package/src/SubscriptionRef.ts +0 -298
  152. package/src/Supervisor.ts +0 -240
  153. package/src/Symbol.ts +0 -29
  154. package/src/SynchronizedRef.ts +0 -270
  155. package/src/TArray.ts +0 -495
  156. package/src/TDeferred.ts +0 -100
  157. package/src/TMap.ts +0 -515
  158. package/src/TPriorityQueue.ts +0 -223
  159. package/src/TPubSub.ts +0 -200
  160. package/src/TQueue.ts +0 -432
  161. package/src/TRandom.ts +0 -129
  162. package/src/TReentrantLock.ts +0 -224
  163. package/src/TRef.ts +0 -178
  164. package/src/TSemaphore.ts +0 -129
  165. package/src/TSet.ts +0 -365
  166. package/src/TSubscriptionRef.ts +0 -192
  167. package/src/Take.ts +0 -258
  168. package/src/TestAnnotation.ts +0 -158
  169. package/src/TestAnnotationMap.ts +0 -119
  170. package/src/TestAnnotations.ts +0 -117
  171. package/src/TestClock.ts +0 -556
  172. package/src/TestConfig.ts +0 -47
  173. package/src/TestContext.ts +0 -36
  174. package/src/TestLive.ts +0 -53
  175. package/src/TestServices.ts +0 -390
  176. package/src/TestSized.ts +0 -55
  177. package/src/Tracer.ts +0 -198
  178. package/src/Trie.ts +0 -840
  179. package/src/Tuple.ts +0 -305
  180. package/src/Types.ts +0 -353
  181. package/src/Unify.ts +0 -113
  182. package/src/UpstreamPullRequest.ts +0 -117
  183. package/src/UpstreamPullStrategy.ts +0 -121
  184. package/src/Utils.ts +0 -809
  185. package/src/index.ts +0 -1561
  186. package/src/internal/array.ts +0 -8
  187. package/src/internal/blockedRequests.ts +0 -520
  188. package/src/internal/cache.ts +0 -733
  189. package/src/internal/cause.ts +0 -1050
  190. package/src/internal/channel/channelExecutor.ts +0 -1200
  191. package/src/internal/channel/channelState.ts +0 -134
  192. package/src/internal/channel/childExecutorDecision.ts +0 -96
  193. package/src/internal/channel/continuation.ts +0 -200
  194. package/src/internal/channel/mergeDecision.ts +0 -113
  195. package/src/internal/channel/mergeState.ts +0 -120
  196. package/src/internal/channel/mergeStrategy.ts +0 -72
  197. package/src/internal/channel/singleProducerAsyncInput.ts +0 -259
  198. package/src/internal/channel/subexecutor.ts +0 -229
  199. package/src/internal/channel/upstreamPullRequest.ts +0 -84
  200. package/src/internal/channel/upstreamPullStrategy.ts +0 -87
  201. package/src/internal/channel.ts +0 -2603
  202. package/src/internal/clock.ts +0 -95
  203. package/src/internal/completedRequestMap.ts +0 -9
  204. package/src/internal/concurrency.ts +0 -54
  205. package/src/internal/config.ts +0 -716
  206. package/src/internal/configError.ts +0 -304
  207. package/src/internal/configProvider/pathPatch.ts +0 -97
  208. package/src/internal/configProvider.ts +0 -799
  209. package/src/internal/console.ts +0 -153
  210. package/src/internal/context.ts +0 -337
  211. package/src/internal/core-effect.ts +0 -2293
  212. package/src/internal/core-stream.ts +0 -998
  213. package/src/internal/core.ts +0 -3273
  214. package/src/internal/data.ts +0 -36
  215. package/src/internal/dataSource.ts +0 -327
  216. package/src/internal/dateTime.ts +0 -1277
  217. package/src/internal/defaultServices/console.ts +0 -100
  218. package/src/internal/defaultServices.ts +0 -163
  219. package/src/internal/deferred.ts +0 -46
  220. package/src/internal/differ/chunkPatch.ts +0 -211
  221. package/src/internal/differ/contextPatch.ts +0 -232
  222. package/src/internal/differ/hashMapPatch.ts +0 -220
  223. package/src/internal/differ/hashSetPatch.ts +0 -176
  224. package/src/internal/differ/orPatch.ts +0 -311
  225. package/src/internal/differ/readonlyArrayPatch.ts +0 -210
  226. package/src/internal/differ.ts +0 -200
  227. package/src/internal/doNotation.ts +0 -80
  228. package/src/internal/effect/circular.ts +0 -905
  229. package/src/internal/effectable.ts +0 -131
  230. package/src/internal/either.ts +0 -110
  231. package/src/internal/encoding/base64.ts +0 -286
  232. package/src/internal/encoding/base64Url.ts +0 -29
  233. package/src/internal/encoding/common.ts +0 -51
  234. package/src/internal/encoding/hex.ts +0 -315
  235. package/src/internal/errors.ts +0 -7
  236. package/src/internal/executionPlan.ts +0 -114
  237. package/src/internal/executionStrategy.ts +0 -74
  238. package/src/internal/fiber.ts +0 -388
  239. package/src/internal/fiberId.ts +0 -267
  240. package/src/internal/fiberMessage.ts +0 -82
  241. package/src/internal/fiberRefs/patch.ts +0 -144
  242. package/src/internal/fiberRefs.ts +0 -297
  243. package/src/internal/fiberRuntime.ts +0 -3915
  244. package/src/internal/fiberScope.ts +0 -71
  245. package/src/internal/fiberStatus.ts +0 -119
  246. package/src/internal/groupBy.ts +0 -530
  247. package/src/internal/hashMap/array.ts +0 -49
  248. package/src/internal/hashMap/bitwise.ts +0 -32
  249. package/src/internal/hashMap/config.ts +0 -14
  250. package/src/internal/hashMap/keySet.ts +0 -8
  251. package/src/internal/hashMap/node.ts +0 -391
  252. package/src/internal/hashMap.ts +0 -586
  253. package/src/internal/hashSet.ts +0 -323
  254. package/src/internal/keyedPool.ts +0 -244
  255. package/src/internal/layer/circular.ts +0 -228
  256. package/src/internal/layer.ts +0 -1487
  257. package/src/internal/logSpan.ts +0 -20
  258. package/src/internal/logger-circular.ts +0 -24
  259. package/src/internal/logger.ts +0 -485
  260. package/src/internal/mailbox.ts +0 -561
  261. package/src/internal/managedRuntime/circular.ts +0 -6
  262. package/src/internal/managedRuntime.ts +0 -134
  263. package/src/internal/matcher.ts +0 -652
  264. package/src/internal/metric/boundaries.ts +0 -75
  265. package/src/internal/metric/hook.ts +0 -483
  266. package/src/internal/metric/key.ts +0 -167
  267. package/src/internal/metric/keyType.ts +0 -238
  268. package/src/internal/metric/label.ts +0 -41
  269. package/src/internal/metric/pair.ts +0 -48
  270. package/src/internal/metric/polling.ts +0 -149
  271. package/src/internal/metric/registry.ts +0 -187
  272. package/src/internal/metric/state.ts +0 -290
  273. package/src/internal/metric.ts +0 -577
  274. package/src/internal/opCodes/cause.ts +0 -35
  275. package/src/internal/opCodes/channel.ts +0 -83
  276. package/src/internal/opCodes/channelChildExecutorDecision.ts +0 -17
  277. package/src/internal/opCodes/channelMergeDecision.ts +0 -11
  278. package/src/internal/opCodes/channelMergeState.ts +0 -17
  279. package/src/internal/opCodes/channelMergeStrategy.ts +0 -11
  280. package/src/internal/opCodes/channelState.ts +0 -23
  281. package/src/internal/opCodes/channelUpstreamPullRequest.ts +0 -11
  282. package/src/internal/opCodes/channelUpstreamPullStrategy.ts +0 -11
  283. package/src/internal/opCodes/config.ts +0 -65
  284. package/src/internal/opCodes/configError.ts +0 -35
  285. package/src/internal/opCodes/continuation.ts +0 -11
  286. package/src/internal/opCodes/deferred.ts +0 -11
  287. package/src/internal/opCodes/effect.ts +0 -89
  288. package/src/internal/opCodes/layer.ts +0 -59
  289. package/src/internal/opCodes/streamHaltStrategy.ts +0 -23
  290. package/src/internal/option.ts +0 -80
  291. package/src/internal/pool.ts +0 -432
  292. package/src/internal/pubsub.ts +0 -1762
  293. package/src/internal/query.ts +0 -204
  294. package/src/internal/queue.ts +0 -766
  295. package/src/internal/random.ts +0 -161
  296. package/src/internal/rateLimiter.ts +0 -93
  297. package/src/internal/rcMap.ts +0 -285
  298. package/src/internal/rcRef.ts +0 -192
  299. package/src/internal/redBlackTree/iterator.ts +0 -200
  300. package/src/internal/redBlackTree/node.ts +0 -68
  301. package/src/internal/redBlackTree.ts +0 -1245
  302. package/src/internal/redacted.ts +0 -73
  303. package/src/internal/ref.ts +0 -171
  304. package/src/internal/reloadable.ts +0 -140
  305. package/src/internal/request.ts +0 -177
  306. package/src/internal/resource.ts +0 -76
  307. package/src/internal/ringBuffer.ts +0 -68
  308. package/src/internal/runtime.ts +0 -558
  309. package/src/internal/runtimeFlags.ts +0 -188
  310. package/src/internal/runtimeFlagsPatch.ts +0 -103
  311. package/src/internal/schedule/decision.ts +0 -47
  312. package/src/internal/schedule/interval.ts +0 -101
  313. package/src/internal/schedule/intervals.ts +0 -180
  314. package/src/internal/schedule.ts +0 -2199
  315. package/src/internal/schema/errors.ts +0 -191
  316. package/src/internal/schema/schemaId.ts +0 -106
  317. package/src/internal/schema/util.ts +0 -50
  318. package/src/internal/scopedCache.ts +0 -644
  319. package/src/internal/scopedRef.ts +0 -118
  320. package/src/internal/secret.ts +0 -89
  321. package/src/internal/singleShotGen.ts +0 -35
  322. package/src/internal/sink.ts +0 -2120
  323. package/src/internal/stack.ts +0 -10
  324. package/src/internal/stm/core.ts +0 -817
  325. package/src/internal/stm/entry.ts +0 -59
  326. package/src/internal/stm/journal.ts +0 -123
  327. package/src/internal/stm/opCodes/stm.ts +0 -71
  328. package/src/internal/stm/opCodes/stmState.ts +0 -17
  329. package/src/internal/stm/opCodes/strategy.ts +0 -17
  330. package/src/internal/stm/opCodes/tExit.ts +0 -29
  331. package/src/internal/stm/opCodes/tryCommit.ts +0 -11
  332. package/src/internal/stm/stm.ts +0 -1453
  333. package/src/internal/stm/stmState.ts +0 -136
  334. package/src/internal/stm/tArray.ts +0 -550
  335. package/src/internal/stm/tDeferred.ts +0 -81
  336. package/src/internal/stm/tExit.ts +0 -190
  337. package/src/internal/stm/tMap.ts +0 -824
  338. package/src/internal/stm/tPriorityQueue.ts +0 -267
  339. package/src/internal/stm/tPubSub.ts +0 -551
  340. package/src/internal/stm/tQueue.ts +0 -393
  341. package/src/internal/stm/tRandom.ts +0 -140
  342. package/src/internal/stm/tReentrantLock.ts +0 -352
  343. package/src/internal/stm/tRef.ts +0 -195
  344. package/src/internal/stm/tSemaphore.ts +0 -113
  345. package/src/internal/stm/tSet.ts +0 -259
  346. package/src/internal/stm/tSubscriptionRef.ts +0 -286
  347. package/src/internal/stm/tryCommit.ts +0 -34
  348. package/src/internal/stm/txnId.ts +0 -14
  349. package/src/internal/stm/versioned.ts +0 -4
  350. package/src/internal/stream/debounceState.ts +0 -57
  351. package/src/internal/stream/emit.ts +0 -123
  352. package/src/internal/stream/haltStrategy.ts +0 -94
  353. package/src/internal/stream/handoff.ts +0 -187
  354. package/src/internal/stream/handoffSignal.ts +0 -59
  355. package/src/internal/stream/pull.ts +0 -34
  356. package/src/internal/stream/sinkEndReason.ts +0 -30
  357. package/src/internal/stream/zipAllState.ts +0 -88
  358. package/src/internal/stream/zipChunksState.ts +0 -56
  359. package/src/internal/stream.ts +0 -8801
  360. package/src/internal/string-utils.ts +0 -107
  361. package/src/internal/subscriptionRef.ts +0 -138
  362. package/src/internal/supervisor/patch.ts +0 -190
  363. package/src/internal/supervisor.ts +0 -303
  364. package/src/internal/synchronizedRef.ts +0 -114
  365. package/src/internal/take.ts +0 -199
  366. package/src/internal/testing/sleep.ts +0 -27
  367. package/src/internal/testing/suspendedWarningData.ts +0 -85
  368. package/src/internal/testing/warningData.ts +0 -94
  369. package/src/internal/tracer.ts +0 -293
  370. package/src/internal/trie.ts +0 -722
  371. package/src/internal/version.ts +0 -7
package/src/Metric.ts DELETED
@@ -1,780 +0,0 @@
1
- /**
2
- * @since 2.0.0
3
- */
4
- import type * as Duration from "./Duration.js"
5
- import type * as Effect from "./Effect.js"
6
- import type { LazyArg } from "./Function.js"
7
- import * as fiberRuntime from "./internal/fiberRuntime.js"
8
- import * as internal from "./internal/metric.js"
9
- import type * as MetricBoundaries from "./MetricBoundaries.js"
10
- import type * as MetricKey from "./MetricKey.js"
11
- import type * as MetricKeyType from "./MetricKeyType.js"
12
- import type * as MetricLabel from "./MetricLabel.js"
13
- import type * as MetricPair from "./MetricPair.js"
14
- import type * as MetricRegistry from "./MetricRegistry.js"
15
- import type * as MetricState from "./MetricState.js"
16
- import type { Pipeable } from "./Pipeable.js"
17
- import type * as Types from "./Types.js"
18
-
19
- /**
20
- * @since 2.0.0
21
- * @category symbols
22
- */
23
- export const MetricTypeId: unique symbol = internal.MetricTypeId
24
-
25
- /**
26
- * @since 2.0.0
27
- * @category symbols
28
- */
29
- export type MetricTypeId = typeof MetricTypeId
30
-
31
- /**
32
- * A `Metric<Type, In, Out>` represents a concurrent metric which accepts
33
- * updates of type `In` and are aggregated to a stateful value of type `Out`.
34
- *
35
- * For example, a counter metric would have type `Metric<number, number>`,
36
- * representing the fact that the metric can be updated with numbers (the amount
37
- * to increment or decrement the counter by), and the state of the counter is a
38
- * number.
39
- *
40
- * There are five primitive metric types supported by Effect:
41
- *
42
- * - Counters
43
- * - Frequencies
44
- * - Gauges
45
- * - Histograms
46
- * - Summaries
47
- *
48
- * @since 2.0.0
49
- * @category models
50
- */
51
- export interface Metric<in out Type, in In, out Out> extends Metric.Variance<Type, In, Out>, Pipeable {
52
- /**
53
- * The type of the underlying primitive metric. For example, this could be
54
- * `MetricKeyType.Counter` or `MetricKeyType.Gauge`.
55
- */
56
- readonly keyType: Type
57
- unsafeUpdate(input: In, extraTags: ReadonlyArray<MetricLabel.MetricLabel>): void
58
- unsafeValue(extraTags: ReadonlyArray<MetricLabel.MetricLabel>): Out
59
- unsafeModify(input: In, extraTags: ReadonlyArray<MetricLabel.MetricLabel>): void
60
- register(): this
61
- <A extends In, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
62
- }
63
-
64
- /**
65
- * @since 2.0.0
66
- * @category models
67
- */
68
- export interface MetricApply {
69
- <Type, In, Out>(
70
- keyType: Type,
71
- unsafeUpdate: (input: In, extraTags: ReadonlyArray<MetricLabel.MetricLabel>) => void,
72
- unsafeValue: (extraTags: ReadonlyArray<MetricLabel.MetricLabel>) => Out,
73
- unsafeModify: (input: In, extraTags: ReadonlyArray<MetricLabel.MetricLabel>) => void
74
- ): Metric<Type, In, Out>
75
- }
76
-
77
- /**
78
- * @since 2.0.0
79
- */
80
- export declare namespace Metric {
81
- /**
82
- * @since 2.0.0
83
- * @category models
84
- */
85
- export interface Counter<In extends number | bigint>
86
- extends Metric<MetricKeyType.MetricKeyType.Counter<In>, In, MetricState.MetricState.Counter<In>>
87
- {}
88
-
89
- /**
90
- * @since 2.0.0
91
- * @category models
92
- */
93
- export interface Gauge<In extends number | bigint>
94
- extends Metric<MetricKeyType.MetricKeyType.Gauge<In>, In, MetricState.MetricState.Gauge<In>>
95
- {}
96
-
97
- /**
98
- * @since 2.0.0
99
- * @category models
100
- */
101
- export interface Frequency<In>
102
- extends Metric<MetricKeyType.MetricKeyType.Frequency, In, MetricState.MetricState.Frequency>
103
- {}
104
-
105
- /**
106
- * @since 2.0.0
107
- * @category models
108
- */
109
- export interface Histogram<In>
110
- extends Metric<MetricKeyType.MetricKeyType.Histogram, In, MetricState.MetricState.Histogram>
111
- {}
112
-
113
- /**
114
- * @since 2.0.0
115
- * @category models
116
- */
117
- export interface Summary<In>
118
- extends Metric<MetricKeyType.MetricKeyType.Summary, In, MetricState.MetricState.Summary>
119
- {}
120
-
121
- /**
122
- * @since 2.0.0
123
- * @category models
124
- */
125
- export interface Variance<in out Type, in In, out Out> {
126
- readonly [MetricTypeId]: {
127
- readonly _Type: Types.Invariant<Type>
128
- readonly _In: Types.Contravariant<In>
129
- readonly _Out: Types.Covariant<Out>
130
- }
131
- }
132
- }
133
-
134
- /**
135
- * @since 2.0.0
136
- * @category globals
137
- */
138
- export const globalMetricRegistry: MetricRegistry.MetricRegistry = internal.globalMetricRegistry
139
-
140
- /**
141
- * @since 2.0.0
142
- * @category constructors
143
- */
144
- export const make: MetricApply = internal.make
145
-
146
- /**
147
- * Returns a new metric that is powered by this one, but which accepts updates
148
- * of the specified new type, which must be transformable to the input type of
149
- * this metric.
150
- *
151
- * @since 2.0.0
152
- * @category mapping
153
- */
154
- export const mapInput: {
155
- <In, In2>(f: (input: In2) => In): <Type, Out>(self: Metric<Type, In, Out>) => Metric<Type, In2, Out>
156
- <Type, In, Out, In2>(self: Metric<Type, In, Out>, f: (input: In2) => In): Metric<Type, In2, Out>
157
- } = internal.mapInput
158
-
159
- /**
160
- * Represents a Counter metric that tracks cumulative numerical values over time.
161
- * Counters can be incremented and decremented and provide a running total of changes.
162
- *
163
- * **Options**
164
- *
165
- * - description - A description of the counter.
166
- * - bigint - Indicates if the counter uses 'bigint' data type.
167
- * - incremental - Set to 'true' for a counter that only increases. With this configuration, Effect ensures that non-incremental updates have no impact on the counter, making it exclusively suitable for counting upwards.
168
- *
169
- * @example
170
- * ```ts
171
- * import { Metric } from "effect"
172
- *
173
- * const numberCounter = Metric.counter("count", {
174
- * description: "A number counter"
175
- * });
176
- *
177
- * const bigintCounter = Metric.counter("count", {
178
- * description: "A bigint counter",
179
- * bigint: true
180
- * });
181
- * ```
182
- *
183
- * @since 2.0.0
184
- * @category constructors
185
- */
186
- export const counter: {
187
- (
188
- name: string,
189
- options?: {
190
- readonly description?: string | undefined
191
- readonly bigint?: false | undefined
192
- readonly incremental?: boolean | undefined
193
- }
194
- ): Metric.Counter<number>
195
- (
196
- name: string,
197
- options: {
198
- readonly description?: string | undefined
199
- readonly bigint: true
200
- readonly incremental?: boolean | undefined
201
- }
202
- ): Metric.Counter<bigint>
203
- } = internal.counter
204
-
205
- /**
206
- * Creates a Frequency metric to count occurrences of events.
207
- * Frequency metrics are used to count the number of times specific events or incidents occur.
208
- *
209
- * @example
210
- * ```ts
211
- * import { Metric } from "effect"
212
- *
213
- * const errorFrequency = Metric.frequency("error_frequency", {
214
- * description: "Counts the occurrences of errors."
215
- * });
216
- * ```
217
- *
218
- * @since 2.0.0
219
- * @category constructors
220
- */
221
- export const frequency: (
222
- name: string,
223
- options?:
224
- | { readonly description?: string | undefined; readonly preregisteredWords?: ReadonlyArray<string> | undefined }
225
- | undefined
226
- ) => Metric.Frequency<string> = internal.frequency
227
-
228
- /**
229
- * Returns a new metric that is powered by this one, but which accepts updates
230
- * of any type, and translates them to updates with the specified constant
231
- * update value.
232
- *
233
- * @since 2.0.0
234
- * @category constructors
235
- */
236
- export const withConstantInput: {
237
- <In>(input: In): <Type, Out>(self: Metric<Type, In, Out>) => Metric<Type, unknown, Out>
238
- <Type, In, Out>(self: Metric<Type, In, Out>, input: In): Metric<Type, unknown, Out>
239
- } = internal.withConstantInput
240
-
241
- /**
242
- * @since 2.0.0
243
- * @category constructors
244
- */
245
- export const fromMetricKey: <Type extends MetricKeyType.MetricKeyType<any, any>>(
246
- key: MetricKey.MetricKey<Type>
247
- ) => Metric<Type, MetricKeyType.MetricKeyType.InType<Type>, MetricKeyType.MetricKeyType.OutType<Type>> =
248
- internal.fromMetricKey
249
-
250
- /**
251
- * Represents a Gauge metric that tracks and reports a single numerical value at a specific moment.
252
- * Gauges are suitable for metrics that represent instantaneous values, such as memory usage or CPU load.
253
- *
254
- * **Options**
255
- *
256
- * - description - A description of the gauge metric.
257
- * - bigint - Indicates if the counter uses 'bigint' data type.
258
- *
259
- * @example
260
- * ```ts
261
- * import { Metric } from "effect"
262
- *
263
- * const numberGauge = Metric.gauge("memory_usage", {
264
- * description: "A gauge for memory usage"
265
- * });
266
- *
267
- * const bigintGauge = Metric.gauge("cpu_load", {
268
- * description: "A gauge for CPU load",
269
- * bigint: true
270
- * });
271
- * ```
272
- *
273
- * @since 2.0.0
274
- * @category constructors
275
- */
276
- export const gauge: {
277
- (name: string, options?: {
278
- readonly description?: string | undefined
279
- readonly bigint?: false | undefined
280
- }): Metric.Gauge<number>
281
- (name: string, options: {
282
- readonly description?: string | undefined
283
- readonly bigint: true
284
- }): Metric.Gauge<bigint>
285
- } = internal.gauge
286
-
287
- /**
288
- * Represents a Histogram metric that records observations in specified value boundaries.
289
- * Histogram metrics are useful for measuring the distribution of values within a range.
290
- *
291
- * @example
292
- * ```ts
293
- * import { Metric, MetricBoundaries } from "effect"
294
- *
295
- * const latencyHistogram = Metric.histogram("latency_histogram",
296
- * MetricBoundaries.linear({ start: 0, width: 10, count: 11 }),
297
- * "Measures the distribution of request latency."
298
- * );
299
- * ```
300
- *
301
- * @since 2.0.0
302
- * @category constructors
303
- */
304
- export const histogram: (
305
- name: string,
306
- boundaries: MetricBoundaries.MetricBoundaries,
307
- description?: string
308
- ) => Metric<MetricKeyType.MetricKeyType.Histogram, number, MetricState.MetricState.Histogram> = internal.histogram
309
-
310
- /**
311
- * @since 2.0.0
312
- * @category combinators
313
- */
314
- export const increment: (
315
- self: Metric.Counter<number> | Metric.Counter<bigint> | Metric.Gauge<number> | Metric.Gauge<bigint>
316
- ) => Effect.Effect<void> = internal.increment
317
-
318
- /**
319
- * @since 2.0.0
320
- * @category combinators
321
- */
322
- export const incrementBy: {
323
- (amount: number): (self: Metric.Counter<number> | Metric.Counter<number>) => Effect.Effect<void>
324
- (amount: bigint): (self: Metric.Counter<bigint> | Metric.Gauge<bigint>) => Effect.Effect<void>
325
- (self: Metric.Counter<number> | Metric.Gauge<number>, amount: number): Effect.Effect<void>
326
- (self: Metric.Counter<bigint> | Metric.Gauge<bigint>, amount: bigint): Effect.Effect<void>
327
- } = internal.incrementBy
328
-
329
- /**
330
- * Returns a new metric that is powered by this one, but which outputs a new
331
- * state type, determined by transforming the state type of this metric by the
332
- * specified function.
333
- *
334
- * @since 2.0.0
335
- * @category mapping
336
- */
337
- export const map: {
338
- <Out, Out2>(f: (out: Out) => Out2): <Type, In>(self: Metric<Type, In, Out>) => Metric<Type, In, Out2>
339
- <Type, In, Out, Out2>(self: Metric<Type, In, Out>, f: (out: Out) => Out2): Metric<Type, In, Out2>
340
- } = internal.map
341
-
342
- /**
343
- * @since 2.0.0
344
- * @category mapping
345
- */
346
- export const mapType: {
347
- <Type, Type2>(f: (type: Type) => Type2): <In, Out>(self: Metric<Type, In, Out>) => Metric<Type2, In, Out>
348
- <Type, In, Out, Type2>(self: Metric<Type, In, Out>, f: (type: Type) => Type2): Metric<Type2, In, Out>
349
- } = internal.mapType
350
-
351
- /**
352
- * Modifies the metric with the specified update message. For example, if the
353
- * metric were a gauge, the update would increment the method by the provided
354
- * amount.
355
- *
356
- * @since 3.6.5
357
- * @category utils
358
- */
359
- export const modify: {
360
- <In>(input: In): <Type, Out>(self: Metric<Type, In, Out>) => Effect.Effect<void>
361
- <Type, In, Out>(self: Metric<Type, In, Out>, input: In): Effect.Effect<void>
362
- } = internal.modify
363
-
364
- /**
365
- * @since 2.0.0
366
- * @category aspects
367
- */
368
- export const set: {
369
- (value: number): (self: Metric.Gauge<number>) => Effect.Effect<void>
370
- (value: bigint): (self: Metric.Gauge<bigint>) => Effect.Effect<void>
371
- (self: Metric.Gauge<number>, value: number): Effect.Effect<void>
372
- (self: Metric.Gauge<bigint>, value: bigint): Effect.Effect<void>
373
- } = internal.set
374
-
375
- /**
376
- * Captures a snapshot of all metrics recorded by the application.
377
- *
378
- * @since 2.0.0
379
- * @category getters
380
- */
381
- export const snapshot: Effect.Effect<Array<MetricPair.MetricPair.Untyped>> = internal.snapshot
382
-
383
- /**
384
- * Creates a metric that ignores input and produces constant output.
385
- *
386
- * @since 2.0.0
387
- * @category constructors
388
- */
389
- export const succeed: <Out>(out: Out) => Metric<void, unknown, Out> = internal.succeed
390
-
391
- /**
392
- * Creates a metric that ignores input and produces constant output.
393
- *
394
- * @since 2.0.0
395
- * @category constructors
396
- */
397
- export const sync: <Out>(evaluate: LazyArg<Out>) => Metric<void, unknown, Out> = internal.sync
398
-
399
- /**
400
- * Creates a Summary metric that records observations and calculates quantiles.
401
- * Summary metrics provide statistical information about a set of values, including quantiles.
402
- *
403
- * **Options**
404
- *
405
- * - name - The name of the Summary metric.
406
- * - maxAge - The maximum age of observations to retain.
407
- * - maxSize - The maximum number of observations to keep.
408
- * - error - The error percentage when calculating quantiles.
409
- * - quantiles - An `Chunk` of quantiles to calculate (e.g., [0.5, 0.9]).
410
- * - description - An optional description of the Summary metric.
411
- *
412
- * @example
413
- * ```ts
414
- * import { Metric, Chunk } from "effect"
415
- *
416
- * const responseTimesSummary = Metric.summary({
417
- * name: "response_times_summary",
418
- * maxAge: "60 seconds", // Retain observations for 60 seconds.
419
- * maxSize: 1000, // Keep a maximum of 1000 observations.
420
- * error: 0.01, // Allow a 1% error when calculating quantiles.
421
- * quantiles: [0.5, 0.9, 0.99], // Calculate 50th, 90th, and 99th percentiles.
422
- * description: "Measures the distribution of response times."
423
- * });
424
- * ```
425
- *
426
- * @since 2.0.0
427
- * @category constructors
428
- */
429
- export const summary: (
430
- options: {
431
- readonly name: string
432
- readonly maxAge: Duration.DurationInput
433
- readonly maxSize: number
434
- readonly error: number
435
- readonly quantiles: ReadonlyArray<number>
436
- readonly description?: string | undefined
437
- }
438
- ) => Metric.Summary<number> = internal.summary
439
-
440
- /**
441
- * @since 2.0.0
442
- * @category constructors
443
- */
444
- export const summaryTimestamp: (
445
- options: {
446
- readonly name: string
447
- readonly maxAge: Duration.DurationInput
448
- readonly maxSize: number
449
- readonly error: number
450
- readonly quantiles: ReadonlyArray<number>
451
- readonly description?: string | undefined
452
- }
453
- ) => Metric.Summary<readonly [value: number, timestamp: number]> // readonly because contravariant
454
- = internal.summaryTimestamp
455
-
456
- /**
457
- * Returns a new metric, which is identical in every way to this one, except
458
- * the specified tags have been added to the tags of this metric.
459
- *
460
- * @since 2.0.0
461
- * @category utils
462
- */
463
- export const tagged: {
464
- <Type, In, Out>(key: string, value: string): (self: Metric<Type, In, Out>) => Metric<Type, In, Out>
465
- <Type, In, Out>(self: Metric<Type, In, Out>, key: string, value: string): Metric<Type, In, Out>
466
- } = internal.tagged
467
-
468
- /**
469
- * Returns a new metric, which is identical in every way to this one, except
470
- * dynamic tags are added based on the update values. Note that the metric
471
- * returned by this method does not return any useful information, due to the
472
- * dynamic nature of the added tags.
473
- *
474
- * @since 2.0.0
475
- * @category utils
476
- */
477
- export const taggedWithLabelsInput: {
478
- <In>(
479
- f: (input: In) => Iterable<MetricLabel.MetricLabel>
480
- ): <Type, Out>(self: Metric<Type, In, Out>) => Metric<Type, In, void>
481
- <Type, In, Out>(
482
- self: Metric<Type, In, Out>,
483
- f: (input: In) => Iterable<MetricLabel.MetricLabel>
484
- ): Metric<Type, In, void>
485
- } = internal.taggedWithLabelsInput
486
-
487
- /**
488
- * Returns a new metric, which is identical in every way to this one, except
489
- * the specified tags have been added to the tags of this metric.
490
- *
491
- * @since 2.0.0
492
- * @category utils
493
- */
494
- export const taggedWithLabels: {
495
- <Type, In, Out>(extraTags: Iterable<MetricLabel.MetricLabel>): (self: Metric<Type, In, Out>) => Metric<Type, In, Out>
496
- <Type, In, Out>(self: Metric<Type, In, Out>, extraTags: Iterable<MetricLabel.MetricLabel>): Metric<Type, In, Out>
497
- } = internal.taggedWithLabels
498
-
499
- /**
500
- * Creates a timer metric, based on a histogram, which keeps track of
501
- * durations in milliseconds. The unit of time will automatically be added to
502
- * the metric as a tag (i.e. `"time_unit: milliseconds"`).
503
- *
504
- * @since 2.0.0
505
- * @category constructors
506
- */
507
- export const timer: (
508
- name: string,
509
- description?: string
510
- ) => Metric<MetricKeyType.MetricKeyType.Histogram, Duration.Duration, MetricState.MetricState.Histogram> =
511
- internal.timer
512
-
513
- /**
514
- * Creates a timer metric, based on a histogram created from the provided
515
- * boundaries, which keeps track of durations in milliseconds. The unit of time
516
- * will automatically be added to the metric as a tag (i.e.
517
- * `"time_unit: milliseconds"`).
518
- *
519
- * @since 2.0.0
520
- * @category constructors
521
- */
522
- export const timerWithBoundaries: (
523
- name: string,
524
- boundaries: ReadonlyArray<number>,
525
- description?: string
526
- ) => Metric<MetricKeyType.MetricKeyType.Histogram, Duration.Duration, MetricState.MetricState.Histogram> =
527
- internal.timerWithBoundaries
528
-
529
- /**
530
- * Returns an aspect that will update this metric with the specified constant
531
- * value every time the aspect is applied to an effect, regardless of whether
532
- * that effect fails or succeeds.
533
- *
534
- * @since 2.0.0
535
- * @category aspects
536
- */
537
- export const trackAll: {
538
- <In>(
539
- input: In
540
- ): <Type, Out>(self: Metric<Type, In, Out>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
541
- <Type, In, Out>(
542
- self: Metric<Type, In, Out>,
543
- input: In
544
- ): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
545
- } = internal.trackAll
546
-
547
- /**
548
- * Returns an aspect that will update this metric with the defects of the
549
- * effects that it is applied to.
550
- *
551
- * @since 2.0.0
552
- * @category aspects
553
- */
554
- export const trackDefect: {
555
- <Type, Out>(metric: Metric<Type, unknown, Out>): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
556
- <A, E, R, Type, Out>(self: Effect.Effect<A, E, R>, metric: Metric<Type, unknown, Out>): Effect.Effect<A, E, R>
557
- } = internal.trackDefect
558
-
559
- /**
560
- * Returns an aspect that will update this metric with the result of applying
561
- * the specified function to the defect throwables of the effects that the
562
- * aspect is applied to.
563
- *
564
- * @since 2.0.0
565
- * @category aspects
566
- */
567
- export const trackDefectWith: {
568
- <Type, In, Out>(
569
- metric: Metric<Type, In, Out>,
570
- f: (defect: unknown) => In
571
- ): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
572
- <A, E, R, Type, In, Out>(
573
- self: Effect.Effect<A, E, R>,
574
- metric: Metric<Type, In, Out>,
575
- f: (defect: unknown) => In
576
- ): Effect.Effect<A, E, R>
577
- } = internal.trackDefectWith
578
-
579
- /**
580
- * Returns an aspect that will update this metric with the duration that the
581
- * effect takes to execute. To call this method, the input type of the metric
582
- * must be `Duration`.
583
- *
584
- * @since 2.0.0
585
- * @category aspects
586
- */
587
- export const trackDuration: {
588
- <Type, Out>(
589
- metric: Metric<Type, Duration.Duration, Out>
590
- ): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
591
- <A, E, R, Type, Out>(
592
- self: Effect.Effect<A, E, R>,
593
- metric: Metric<Type, Duration.Duration, Out>
594
- ): Effect.Effect<A, E, R>
595
- } = internal.trackDuration
596
-
597
- /**
598
- * Returns an aspect that will update this metric with the duration that the
599
- * effect takes to execute. To call this method, you must supply a function
600
- * that can convert the `Duration` to the input type of this metric.
601
- *
602
- * @since 2.0.0
603
- * @category aspects
604
- */
605
- export const trackDurationWith: {
606
- <Type, In, Out>(
607
- metric: Metric<Type, In, Out>,
608
- f: (duration: Duration.Duration) => In
609
- ): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
610
- <A, E, R, Type, In, Out>(
611
- self: Effect.Effect<A, E, R>,
612
- metric: Metric<Type, In, Out>,
613
- f: (duration: Duration.Duration) => In
614
- ): Effect.Effect<A, E, R>
615
- } = internal.trackDurationWith
616
-
617
- /**
618
- * Returns an aspect that will update this metric with the failure value of
619
- * the effects that it is applied to.
620
- *
621
- * @since 2.0.0
622
- * @category aspects
623
- */
624
- export const trackError: {
625
- <Type, In, Out>(
626
- metric: Metric<Type, In, Out>
627
- ): <A, E extends In, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
628
- <A, E extends In, R, Type, In, Out>(
629
- self: Effect.Effect<A, E, R>,
630
- metric: Metric<Type, In, Out>
631
- ): Effect.Effect<A, E, R>
632
- } = internal.trackError
633
-
634
- /**
635
- * Returns an aspect that will update this metric with the result of applying
636
- * the specified function to the error value of the effects that the aspect is
637
- * applied to.
638
- *
639
- * @since 2.0.0
640
- * @category aspects
641
- */
642
- export const trackErrorWith: {
643
- <Type, In, Out, In2>(
644
- metric: Metric<Type, In, Out>,
645
- f: (error: In2) => In
646
- ): <A, E extends In2, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
647
- <A, E extends In2, R, Type, In, Out, In2>(
648
- self: Effect.Effect<A, E, R>,
649
- metric: Metric<Type, In, Out>,
650
- f: (error: In2) => In
651
- ): Effect.Effect<A, E, R>
652
- } = internal.trackErrorWith
653
-
654
- /**
655
- * Returns an aspect that will update this metric with the success value of
656
- * the effects that it is applied to.
657
- *
658
- * @since 2.0.0
659
- * @category aspects
660
- */
661
- export const trackSuccess: {
662
- <Type, In, Out>(
663
- metric: Metric<Type, In, Out>
664
- ): <A extends In, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
665
- <A extends In, E, R, Type, In, Out>(
666
- self: Effect.Effect<A, E, R>,
667
- metric: Metric<Type, In, Out>
668
- ): Effect.Effect<A, E, R>
669
- } = internal.trackSuccess
670
-
671
- /**
672
- * Returns an aspect that will update this metric with the result of applying
673
- * the specified function to the success value of the effects that the aspect is
674
- * applied to.
675
- *
676
- * @since 2.0.0
677
- * @category aspects
678
- */
679
- export const trackSuccessWith: {
680
- <Type, In, Out, A>(
681
- metric: Metric<Type, In, Out>,
682
- f: (value: Types.NoInfer<A>) => In
683
- ): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
684
- <A, E, R, Type, In, Out>(
685
- self: Effect.Effect<A, E, R>,
686
- metric: Metric<Type, In, Out>,
687
- f: (value: Types.NoInfer<A>) => In
688
- ): Effect.Effect<A, E, R>
689
- } = internal.trackSuccessWith
690
-
691
- /**
692
- * Updates the metric with the specified update message. For example, if the
693
- * metric were a counter, the update would increment the method by the
694
- * provided amount.
695
- *
696
- * @since 2.0.0
697
- * @category utils
698
- */
699
- export const update: {
700
- <In>(input: In): <Type, Out>(self: Metric<Type, In, Out>) => Effect.Effect<void>
701
- <Type, In, Out>(self: Metric<Type, In, Out>, input: In): Effect.Effect<void>
702
- } = internal.update
703
-
704
- /**
705
- * Retrieves a snapshot of the value of the metric at this moment in time.
706
- *
707
- * @since 2.0.0
708
- * @category getters
709
- */
710
- export const value: <Type, In, Out>(self: Metric<Type, In, Out>) => Effect.Effect<Out> = internal.value
711
-
712
- /**
713
- * @since 2.0.0
714
- * @category utils
715
- */
716
- export const withNow: <Type, In, Out>(self: Metric<Type, readonly [In, number], Out>) => Metric<Type, In, Out> =
717
- internal.withNow
718
-
719
- /**
720
- * @since 2.0.0
721
- * @category zipping
722
- */
723
- export const zip: {
724
- <Type2, In2, Out2>(
725
- that: Metric<Type2, In2, Out2>
726
- ): <Type, In, Out>(
727
- self: Metric<Type, In, Out>
728
- ) => Metric<
729
- readonly [Type, Type2], // readonly because invariant
730
- readonly [In, In2], // readonly because contravariant
731
- [Out, Out2]
732
- >
733
- <Type, In, Out, Type2, In2, Out2>(
734
- self: Metric<Type, In, Out>,
735
- that: Metric<Type2, In2, Out2>
736
- ): Metric<
737
- readonly [Type, Type2], // readonly because invariant
738
- readonly [In, In2], // readonly because contravariant
739
- [Out, Out2]
740
- >
741
- } = internal.zip
742
-
743
- /**
744
- * Unsafely captures a snapshot of all metrics recorded by the application.
745
- *
746
- * @since 2.0.0
747
- * @category unsafe
748
- */
749
- export const unsafeSnapshot: (_: void) => ReadonlyArray<MetricPair.MetricPair.Untyped> = internal.unsafeSnapshot
750
-
751
- /**
752
- * @since 2.0.0
753
- * @category metrics
754
- */
755
- export const fiberStarted: Metric.Counter<number> = fiberRuntime.fiberStarted
756
-
757
- /**
758
- * @since 2.0.0
759
- * @category metrics
760
- */
761
- export const fiberSuccesses: Metric.Counter<number> = fiberRuntime.fiberSuccesses
762
-
763
- /**
764
- * @since 2.0.0
765
- * @category metrics
766
- */
767
- export const fiberFailures: Metric.Counter<number> = fiberRuntime.fiberFailures
768
-
769
- /**
770
- * @since 2.0.0
771
- * @category metrics
772
- */
773
- export const fiberLifetimes: Metric<MetricKeyType.MetricKeyType.Histogram, number, MetricState.MetricState.Histogram> =
774
- fiberRuntime.fiberLifetimes
775
-
776
- /**
777
- * @since 2.0.0
778
- * @category metrics
779
- */
780
- export const fiberActive: Metric.Counter<number> = fiberRuntime.fiberActive