@clayroach/effect 3.19.14-source-capture.8 → 3.19.14-source-trace.1
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.
- package/SourceLocation/package.json +6 -0
- package/dist/cjs/Effect.js +2 -28
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/FiberRef.js +12 -1
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/Layer.js +2 -24
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js +1 -29
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/SourceLocation.js +60 -0
- package/dist/cjs/SourceLocation.js.map +1 -0
- package/dist/cjs/Tracer.js +1 -15
- package/dist/cjs/Tracer.js.map +1 -1
- package/dist/cjs/Utils.js +1 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/clock.js +1 -1
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/core.js +17 -50
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +18 -30
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +16 -65
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js +1 -5
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +1 -3
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logger.js +25 -2
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/runtimeFlags.js +2 -11
- package/dist/cjs/internal/runtimeFlags.js.map +1 -1
- package/dist/cjs/internal/tracer.js +1 -114
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/dts/Config.d.ts +2 -2
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +8 -29
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +12 -0
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +0 -22
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/RuntimeFlags.d.ts +0 -28
- package/dist/dts/RuntimeFlags.d.ts.map +1 -1
- package/dist/dts/SourceLocation.d.ts +88 -0
- package/dist/dts/SourceLocation.d.ts.map +1 -0
- package/dist/dts/Tracer.d.ts +0 -15
- package/dist/dts/Tracer.d.ts.map +1 -1
- package/dist/dts/index.d.ts +6 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/layer.d.ts.map +1 -1
- package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
- package/dist/esm/Effect.js +0 -26
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/FiberRef.js +11 -0
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/Layer.js +0 -22
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/RuntimeFlags.js +0 -28
- package/dist/esm/RuntimeFlags.js.map +1 -1
- package/dist/esm/SourceLocation.js +51 -0
- package/dist/esm/SourceLocation.js.map +1 -0
- package/dist/esm/Tracer.js +0 -14
- package/dist/esm/Tracer.js.map +1 -1
- package/dist/esm/Utils.js +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/clock.js +1 -1
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/core.js +12 -45
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +18 -30
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +13 -60
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/layer/circular.js +0 -4
- package/dist/esm/internal/layer/circular.js.map +1 -1
- package/dist/esm/internal/layer.js +0 -2
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logger.js +25 -2
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/runtimeFlags.js +1 -9
- package/dist/esm/internal/runtimeFlags.js.map +1 -1
- package/dist/esm/internal/tracer.js +0 -111
- package/dist/esm/internal/tracer.js.map +1 -1
- package/package.json +12 -1
- package/src/Arbitrary.ts +1101 -0
- package/src/Array.ts +3589 -0
- package/src/BigDecimal.ts +1349 -0
- package/src/BigInt.ts +643 -0
- package/src/Boolean.ts +287 -0
- package/src/Brand.ts +360 -0
- package/src/Cache.ts +281 -0
- package/src/Cause.ts +1555 -0
- package/src/Channel.ts +2355 -0
- package/src/ChildExecutorDecision.ts +146 -0
- package/src/Chunk.ts +1495 -0
- package/src/Clock.ts +111 -0
- package/src/Config.ts +542 -0
- package/src/ConfigError.ts +270 -0
- package/src/ConfigProvider.ts +333 -0
- package/src/ConfigProviderPathPatch.ts +100 -0
- package/src/Console.ts +226 -0
- package/src/Context.ts +585 -0
- package/src/Cron.ts +706 -0
- package/src/Data.ts +596 -0
- package/src/DateTime.ts +1686 -0
- package/src/DefaultServices.ts +34 -0
- package/src/Deferred.ts +301 -0
- package/src/Differ.ts +450 -0
- package/src/Duration.ts +1000 -0
- package/src/Effect.ts +14817 -0
- package/src/Effectable.ts +107 -0
- package/src/Either.ts +1040 -0
- package/src/Encoding.ts +195 -0
- package/src/Equal.ts +98 -0
- package/src/Equivalence.ts +235 -0
- package/src/ExecutionPlan.ts +308 -0
- package/src/ExecutionStrategy.ts +119 -0
- package/src/Exit.ts +467 -0
- package/src/FastCheck.ts +9 -0
- package/src/Fiber.ts +744 -0
- package/src/FiberHandle.ts +540 -0
- package/src/FiberId.ts +195 -0
- package/src/FiberMap.ts +656 -0
- package/src/FiberRef.ts +444 -0
- package/src/FiberRefs.ts +204 -0
- package/src/FiberRefsPatch.ts +105 -0
- package/src/FiberSet.ts +491 -0
- package/src/FiberStatus.ts +108 -0
- package/src/Function.ts +1222 -0
- package/src/GlobalValue.ts +53 -0
- package/src/Graph.ts +3732 -0
- package/src/GroupBy.ts +103 -0
- package/src/HKT.ts +45 -0
- package/src/Hash.ts +195 -0
- package/src/HashMap.ts +519 -0
- package/src/HashRing.ts +317 -0
- package/src/HashSet.ts +2346 -0
- package/src/Inspectable.ts +287 -0
- package/src/Iterable.ts +1119 -0
- package/src/JSONSchema.ts +1044 -0
- package/src/KeyedPool.ts +167 -0
- package/src/Layer.ts +1228 -0
- package/src/LayerMap.ts +436 -0
- package/src/List.ts +977 -0
- package/src/LogLevel.ts +285 -0
- package/src/LogSpan.ts +25 -0
- package/src/Logger.ts +702 -0
- package/src/Mailbox.ts +268 -0
- package/src/ManagedRuntime.ts +180 -0
- package/src/Match.ts +1477 -0
- package/src/MergeDecision.ts +95 -0
- package/src/MergeState.ts +172 -0
- package/src/MergeStrategy.ts +107 -0
- package/src/Metric.ts +780 -0
- package/src/MetricBoundaries.ts +69 -0
- package/src/MetricHook.ts +151 -0
- package/src/MetricKey.ts +224 -0
- package/src/MetricKeyType.ts +262 -0
- package/src/MetricLabel.ts +47 -0
- package/src/MetricPair.ts +71 -0
- package/src/MetricPolling.ts +148 -0
- package/src/MetricRegistry.ts +48 -0
- package/src/MetricState.ts +257 -0
- package/src/Micro.ts +4405 -0
- package/src/ModuleVersion.ts +18 -0
- package/src/MutableHashMap.ts +411 -0
- package/src/MutableHashSet.ts +706 -0
- package/src/MutableList.ts +297 -0
- package/src/MutableQueue.ts +227 -0
- package/src/MutableRef.ts +202 -0
- package/src/NonEmptyIterable.ts +32 -0
- package/src/Number.ts +1071 -0
- package/src/Option.ts +2170 -0
- package/src/Order.ts +373 -0
- package/src/Ordering.ts +111 -0
- package/src/ParseResult.ts +2031 -0
- package/src/PartitionedSemaphore.ts +200 -0
- package/src/Pipeable.ts +566 -0
- package/src/Pool.ts +204 -0
- package/src/Predicate.ts +1405 -0
- package/src/Pretty.ts +205 -0
- package/src/PrimaryKey.ts +23 -0
- package/src/PubSub.ts +182 -0
- package/src/Queue.ts +644 -0
- package/src/Random.ts +204 -0
- package/src/RateLimiter.ts +138 -0
- package/src/RcMap.ts +141 -0
- package/src/RcRef.ts +122 -0
- package/src/Readable.ts +93 -0
- package/src/Record.ts +1274 -0
- package/src/RedBlackTree.ts +421 -0
- package/src/Redacted.ts +144 -0
- package/src/Ref.ts +180 -0
- package/src/RegExp.ts +38 -0
- package/src/Reloadable.ts +127 -0
- package/src/Request.ts +347 -0
- package/src/RequestBlock.ts +118 -0
- package/src/RequestResolver.ts +366 -0
- package/src/Resource.ts +119 -0
- package/src/Runtime.ts +383 -0
- package/src/RuntimeFlags.ts +336 -0
- package/src/RuntimeFlagsPatch.ts +183 -0
- package/src/STM.ts +2045 -0
- package/src/Schedule.ts +2219 -0
- package/src/ScheduleDecision.ts +62 -0
- package/src/ScheduleInterval.ts +151 -0
- package/src/ScheduleIntervals.ts +122 -0
- package/src/Scheduler.ts +353 -0
- package/src/Schema.ts +10914 -0
- package/src/SchemaAST.ts +3043 -0
- package/src/Scope.ts +204 -0
- package/src/ScopedCache.ts +151 -0
- package/src/ScopedRef.ts +117 -0
- package/src/Secret.ts +88 -0
- package/src/SingleProducerAsyncInput.ts +67 -0
- package/src/Sink.ts +1461 -0
- package/src/SortedMap.ts +287 -0
- package/src/SortedSet.ts +390 -0
- package/src/SourceLocation.ts +108 -0
- package/src/Stream.ts +6468 -0
- package/src/StreamEmit.ts +136 -0
- package/src/StreamHaltStrategy.ts +123 -0
- package/src/Streamable.ts +45 -0
- package/src/String.ts +778 -0
- package/src/Struct.ts +243 -0
- package/src/Subscribable.ts +100 -0
- package/src/SubscriptionRef.ts +298 -0
- package/src/Supervisor.ts +240 -0
- package/src/Symbol.ts +29 -0
- package/src/SynchronizedRef.ts +270 -0
- package/src/TArray.ts +495 -0
- package/src/TDeferred.ts +100 -0
- package/src/TMap.ts +515 -0
- package/src/TPriorityQueue.ts +223 -0
- package/src/TPubSub.ts +200 -0
- package/src/TQueue.ts +432 -0
- package/src/TRandom.ts +129 -0
- package/src/TReentrantLock.ts +224 -0
- package/src/TRef.ts +178 -0
- package/src/TSemaphore.ts +129 -0
- package/src/TSet.ts +365 -0
- package/src/TSubscriptionRef.ts +192 -0
- package/src/Take.ts +258 -0
- package/src/TestAnnotation.ts +158 -0
- package/src/TestAnnotationMap.ts +119 -0
- package/src/TestAnnotations.ts +117 -0
- package/src/TestClock.ts +556 -0
- package/src/TestConfig.ts +47 -0
- package/src/TestContext.ts +36 -0
- package/src/TestLive.ts +53 -0
- package/src/TestServices.ts +390 -0
- package/src/TestSized.ts +55 -0
- package/src/Tracer.ts +182 -0
- package/src/Trie.ts +840 -0
- package/src/Tuple.ts +305 -0
- package/src/Types.ts +353 -0
- package/src/Unify.ts +113 -0
- package/src/UpstreamPullRequest.ts +117 -0
- package/src/UpstreamPullStrategy.ts +121 -0
- package/src/Utils.ts +809 -0
- package/src/index.ts +1568 -0
- package/src/internal/array.ts +8 -0
- package/src/internal/blockedRequests.ts +520 -0
- package/src/internal/cache.ts +733 -0
- package/src/internal/cause.ts +1050 -0
- package/src/internal/channel/channelExecutor.ts +1200 -0
- package/src/internal/channel/channelState.ts +134 -0
- package/src/internal/channel/childExecutorDecision.ts +96 -0
- package/src/internal/channel/continuation.ts +200 -0
- package/src/internal/channel/mergeDecision.ts +113 -0
- package/src/internal/channel/mergeState.ts +120 -0
- package/src/internal/channel/mergeStrategy.ts +72 -0
- package/src/internal/channel/singleProducerAsyncInput.ts +259 -0
- package/src/internal/channel/subexecutor.ts +229 -0
- package/src/internal/channel/upstreamPullRequest.ts +84 -0
- package/src/internal/channel/upstreamPullStrategy.ts +87 -0
- package/src/internal/channel.ts +2603 -0
- package/src/internal/clock.ts +95 -0
- package/src/internal/completedRequestMap.ts +9 -0
- package/src/internal/concurrency.ts +54 -0
- package/src/internal/config.ts +716 -0
- package/src/internal/configError.ts +304 -0
- package/src/internal/configProvider/pathPatch.ts +97 -0
- package/src/internal/configProvider.ts +799 -0
- package/src/internal/console.ts +153 -0
- package/src/internal/context.ts +337 -0
- package/src/internal/core-effect.ts +2293 -0
- package/src/internal/core-stream.ts +998 -0
- package/src/internal/core.ts +3189 -0
- package/src/internal/data.ts +36 -0
- package/src/internal/dataSource.ts +327 -0
- package/src/internal/dateTime.ts +1277 -0
- package/src/internal/defaultServices/console.ts +100 -0
- package/src/internal/defaultServices.ts +163 -0
- package/src/internal/deferred.ts +46 -0
- package/src/internal/differ/chunkPatch.ts +211 -0
- package/src/internal/differ/contextPatch.ts +232 -0
- package/src/internal/differ/hashMapPatch.ts +220 -0
- package/src/internal/differ/hashSetPatch.ts +176 -0
- package/src/internal/differ/orPatch.ts +311 -0
- package/src/internal/differ/readonlyArrayPatch.ts +210 -0
- package/src/internal/differ.ts +200 -0
- package/src/internal/doNotation.ts +80 -0
- package/src/internal/effect/circular.ts +895 -0
- package/src/internal/effectable.ts +131 -0
- package/src/internal/either.ts +110 -0
- package/src/internal/encoding/base64.ts +286 -0
- package/src/internal/encoding/base64Url.ts +29 -0
- package/src/internal/encoding/common.ts +51 -0
- package/src/internal/encoding/hex.ts +315 -0
- package/src/internal/errors.ts +7 -0
- package/src/internal/executionPlan.ts +114 -0
- package/src/internal/executionStrategy.ts +74 -0
- package/src/internal/fiber.ts +388 -0
- package/src/internal/fiberId.ts +267 -0
- package/src/internal/fiberMessage.ts +82 -0
- package/src/internal/fiberRefs/patch.ts +144 -0
- package/src/internal/fiberRefs.ts +297 -0
- package/src/internal/fiberRuntime.ts +3842 -0
- package/src/internal/fiberScope.ts +71 -0
- package/src/internal/fiberStatus.ts +119 -0
- package/src/internal/groupBy.ts +530 -0
- package/src/internal/hashMap/array.ts +49 -0
- package/src/internal/hashMap/bitwise.ts +32 -0
- package/src/internal/hashMap/config.ts +14 -0
- package/src/internal/hashMap/keySet.ts +8 -0
- package/src/internal/hashMap/node.ts +391 -0
- package/src/internal/hashMap.ts +586 -0
- package/src/internal/hashSet.ts +323 -0
- package/src/internal/keyedPool.ts +244 -0
- package/src/internal/layer/circular.ts +214 -0
- package/src/internal/layer.ts +1483 -0
- package/src/internal/logSpan.ts +20 -0
- package/src/internal/logger-circular.ts +24 -0
- package/src/internal/logger.ts +522 -0
- package/src/internal/mailbox.ts +561 -0
- package/src/internal/managedRuntime/circular.ts +6 -0
- package/src/internal/managedRuntime.ts +134 -0
- package/src/internal/matcher.ts +652 -0
- package/src/internal/metric/boundaries.ts +75 -0
- package/src/internal/metric/hook.ts +483 -0
- package/src/internal/metric/key.ts +167 -0
- package/src/internal/metric/keyType.ts +238 -0
- package/src/internal/metric/label.ts +41 -0
- package/src/internal/metric/pair.ts +48 -0
- package/src/internal/metric/polling.ts +149 -0
- package/src/internal/metric/registry.ts +187 -0
- package/src/internal/metric/state.ts +290 -0
- package/src/internal/metric.ts +577 -0
- package/src/internal/opCodes/cause.ts +35 -0
- package/src/internal/opCodes/channel.ts +83 -0
- package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
- package/src/internal/opCodes/channelMergeDecision.ts +11 -0
- package/src/internal/opCodes/channelMergeState.ts +17 -0
- package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
- package/src/internal/opCodes/channelState.ts +23 -0
- package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
- package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
- package/src/internal/opCodes/config.ts +65 -0
- package/src/internal/opCodes/configError.ts +35 -0
- package/src/internal/opCodes/continuation.ts +11 -0
- package/src/internal/opCodes/deferred.ts +11 -0
- package/src/internal/opCodes/effect.ts +89 -0
- package/src/internal/opCodes/layer.ts +59 -0
- package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
- package/src/internal/option.ts +80 -0
- package/src/internal/pool.ts +432 -0
- package/src/internal/pubsub.ts +1762 -0
- package/src/internal/query.ts +204 -0
- package/src/internal/queue.ts +766 -0
- package/src/internal/random.ts +161 -0
- package/src/internal/rateLimiter.ts +93 -0
- package/src/internal/rcMap.ts +285 -0
- package/src/internal/rcRef.ts +192 -0
- package/src/internal/redBlackTree/iterator.ts +200 -0
- package/src/internal/redBlackTree/node.ts +68 -0
- package/src/internal/redBlackTree.ts +1245 -0
- package/src/internal/redacted.ts +73 -0
- package/src/internal/ref.ts +171 -0
- package/src/internal/reloadable.ts +140 -0
- package/src/internal/request.ts +177 -0
- package/src/internal/resource.ts +76 -0
- package/src/internal/ringBuffer.ts +68 -0
- package/src/internal/runtime.ts +558 -0
- package/src/internal/runtimeFlags.ts +178 -0
- package/src/internal/runtimeFlagsPatch.ts +103 -0
- package/src/internal/schedule/decision.ts +47 -0
- package/src/internal/schedule/interval.ts +101 -0
- package/src/internal/schedule/intervals.ts +180 -0
- package/src/internal/schedule.ts +2199 -0
- package/src/internal/schema/errors.ts +191 -0
- package/src/internal/schema/schemaId.ts +106 -0
- package/src/internal/schema/util.ts +50 -0
- package/src/internal/scopedCache.ts +644 -0
- package/src/internal/scopedRef.ts +118 -0
- package/src/internal/secret.ts +89 -0
- package/src/internal/singleShotGen.ts +35 -0
- package/src/internal/sink.ts +2120 -0
- package/src/internal/stack.ts +10 -0
- package/src/internal/stm/core.ts +817 -0
- package/src/internal/stm/entry.ts +59 -0
- package/src/internal/stm/journal.ts +123 -0
- package/src/internal/stm/opCodes/stm.ts +71 -0
- package/src/internal/stm/opCodes/stmState.ts +17 -0
- package/src/internal/stm/opCodes/strategy.ts +17 -0
- package/src/internal/stm/opCodes/tExit.ts +29 -0
- package/src/internal/stm/opCodes/tryCommit.ts +11 -0
- package/src/internal/stm/stm.ts +1453 -0
- package/src/internal/stm/stmState.ts +136 -0
- package/src/internal/stm/tArray.ts +550 -0
- package/src/internal/stm/tDeferred.ts +81 -0
- package/src/internal/stm/tExit.ts +190 -0
- package/src/internal/stm/tMap.ts +824 -0
- package/src/internal/stm/tPriorityQueue.ts +267 -0
- package/src/internal/stm/tPubSub.ts +551 -0
- package/src/internal/stm/tQueue.ts +393 -0
- package/src/internal/stm/tRandom.ts +140 -0
- package/src/internal/stm/tReentrantLock.ts +352 -0
- package/src/internal/stm/tRef.ts +195 -0
- package/src/internal/stm/tSemaphore.ts +113 -0
- package/src/internal/stm/tSet.ts +259 -0
- package/src/internal/stm/tSubscriptionRef.ts +286 -0
- package/src/internal/stm/tryCommit.ts +34 -0
- package/src/internal/stm/txnId.ts +14 -0
- package/src/internal/stm/versioned.ts +4 -0
- package/src/internal/stream/debounceState.ts +57 -0
- package/src/internal/stream/emit.ts +123 -0
- package/src/internal/stream/haltStrategy.ts +94 -0
- package/src/internal/stream/handoff.ts +187 -0
- package/src/internal/stream/handoffSignal.ts +59 -0
- package/src/internal/stream/pull.ts +34 -0
- package/src/internal/stream/sinkEndReason.ts +30 -0
- package/src/internal/stream/zipAllState.ts +88 -0
- package/src/internal/stream/zipChunksState.ts +56 -0
- package/src/internal/stream.ts +8801 -0
- package/src/internal/string-utils.ts +107 -0
- package/src/internal/subscriptionRef.ts +138 -0
- package/src/internal/supervisor/patch.ts +190 -0
- package/src/internal/supervisor.ts +303 -0
- package/src/internal/synchronizedRef.ts +114 -0
- package/src/internal/take.ts +199 -0
- package/src/internal/testing/sleep.ts +27 -0
- package/src/internal/testing/suspendedWarningData.ts +85 -0
- package/src/internal/testing/warningData.ts +94 -0
- package/src/internal/tracer.ts +150 -0
- package/src/internal/trie.ts +722 -0
- package/src/internal/version.ts +7 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Equal from "./Equal.js"
|
|
5
|
+
import * as internal from "./internal/metric/label.js"
|
|
6
|
+
import type { Pipeable } from "./Pipeable.js"
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @since 2.0.0
|
|
10
|
+
* @category symbols
|
|
11
|
+
*/
|
|
12
|
+
export const MetricLabelTypeId: unique symbol = internal.MetricLabelTypeId
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @since 2.0.0
|
|
16
|
+
* @category symbols
|
|
17
|
+
*/
|
|
18
|
+
export type MetricLabelTypeId = typeof MetricLabelTypeId
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* A `MetricLabel` represents a key value pair that allows analyzing metrics at
|
|
22
|
+
* an additional level of granularity.
|
|
23
|
+
*
|
|
24
|
+
* For example if a metric tracks the response time of a service labels could
|
|
25
|
+
* be used to create separate versions that track response times for different
|
|
26
|
+
* clients.
|
|
27
|
+
*
|
|
28
|
+
* @since 2.0.0
|
|
29
|
+
* @category models
|
|
30
|
+
*/
|
|
31
|
+
export interface MetricLabel extends Equal.Equal, Pipeable {
|
|
32
|
+
readonly [MetricLabelTypeId]: MetricLabelTypeId
|
|
33
|
+
readonly key: string
|
|
34
|
+
readonly value: string
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @since 2.0.0
|
|
39
|
+
* @category constructors
|
|
40
|
+
*/
|
|
41
|
+
export const make: (key: string, value: string) => MetricLabel = internal.make
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @since 2.0.0
|
|
45
|
+
* @category refinements
|
|
46
|
+
*/
|
|
47
|
+
export const isMetricLabel: (u: unknown) => u is MetricLabel = internal.isMetricLabel
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as internal from "./internal/metric/pair.js"
|
|
5
|
+
import type * as MetricKey from "./MetricKey.js"
|
|
6
|
+
import type * as MetricKeyType from "./MetricKeyType.js"
|
|
7
|
+
import type * as MetricState from "./MetricState.js"
|
|
8
|
+
import type { Pipeable } from "./Pipeable.js"
|
|
9
|
+
import type * as Types from "./Types.js"
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @since 2.0.0
|
|
13
|
+
* @category symbols
|
|
14
|
+
*/
|
|
15
|
+
export const MetricPairTypeId: unique symbol = internal.MetricPairTypeId
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @since 2.0.0
|
|
19
|
+
* @category symbols
|
|
20
|
+
*/
|
|
21
|
+
export type MetricPairTypeId = typeof MetricPairTypeId
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @since 2.0.0
|
|
25
|
+
* @category model
|
|
26
|
+
*/
|
|
27
|
+
export interface MetricPair<out Type extends MetricKeyType.MetricKeyType<any, any>>
|
|
28
|
+
extends MetricPair.Variance<Type>, Pipeable
|
|
29
|
+
{
|
|
30
|
+
readonly metricKey: MetricKey.MetricKey<Type>
|
|
31
|
+
readonly metricState: MetricState.MetricState<MetricKeyType.MetricKeyType.OutType<Type>>
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @since 2.0.0
|
|
36
|
+
*/
|
|
37
|
+
export declare namespace MetricPair {
|
|
38
|
+
/**
|
|
39
|
+
* @since 2.0.0
|
|
40
|
+
* @category models
|
|
41
|
+
*/
|
|
42
|
+
export interface Untyped extends MetricPair<MetricKeyType.MetricKeyType<any, any>> {}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @since 2.0.0
|
|
46
|
+
* @category models
|
|
47
|
+
*/
|
|
48
|
+
export interface Variance<out Type extends MetricKeyType.MetricKeyType<any, any>> {
|
|
49
|
+
readonly [MetricPairTypeId]: {
|
|
50
|
+
readonly _Type: Types.Covariant<Type>
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @since 2.0.0
|
|
57
|
+
* @category constructors
|
|
58
|
+
*/
|
|
59
|
+
export const make: <Type extends MetricKeyType.MetricKeyType<any, any>>(
|
|
60
|
+
metricKey: MetricKey.MetricKey<Type>,
|
|
61
|
+
metricState: MetricState.MetricState<MetricKeyType.MetricKeyType.OutType<Type>>
|
|
62
|
+
) => MetricPair.Untyped = internal.make
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* @since 2.0.0
|
|
66
|
+
* @category unsafe
|
|
67
|
+
*/
|
|
68
|
+
export const unsafeMake: <Type extends MetricKeyType.MetricKeyType<any, any>>(
|
|
69
|
+
metricKey: MetricKey.MetricKey<Type>,
|
|
70
|
+
metricState: MetricState.MetricState.Untyped
|
|
71
|
+
) => MetricPair.Untyped = internal.unsafeMake
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Effect from "./Effect.js"
|
|
5
|
+
import type * as Fiber from "./Fiber.js"
|
|
6
|
+
import * as internal from "./internal/metric/polling.js"
|
|
7
|
+
import type * as Metric from "./Metric.js"
|
|
8
|
+
import type { Pipeable } from "./Pipeable.js"
|
|
9
|
+
import type * as Schedule from "./Schedule.js"
|
|
10
|
+
import type * as Scope from "./Scope.js"
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @since 2.0.0
|
|
14
|
+
* @category symbols
|
|
15
|
+
*/
|
|
16
|
+
export const MetricPollingTypeId: unique symbol = internal.MetricPollingTypeId
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @since 2.0.0
|
|
20
|
+
* @category symbols
|
|
21
|
+
*/
|
|
22
|
+
export type MetricPollingTypeId = typeof MetricPollingTypeId
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* A `MetricPolling` is a combination of a metric and an effect that polls for
|
|
26
|
+
* updates to the metric.
|
|
27
|
+
*
|
|
28
|
+
* @since 2.0.0
|
|
29
|
+
* @category models
|
|
30
|
+
*/
|
|
31
|
+
export interface MetricPolling<in out Type, in out In, out R, out E, out Out> extends Pipeable {
|
|
32
|
+
readonly [MetricPollingTypeId]: MetricPollingTypeId
|
|
33
|
+
/**
|
|
34
|
+
* The metric that this `MetricPolling` polls to update.
|
|
35
|
+
*/
|
|
36
|
+
readonly metric: Metric.Metric<Type, In, Out>
|
|
37
|
+
/**
|
|
38
|
+
* An effect that polls a value that may be fed to the metric.
|
|
39
|
+
*/
|
|
40
|
+
readonly poll: Effect.Effect<In, E, R>
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Constructs a new polling metric from a metric and poll effect.
|
|
45
|
+
*
|
|
46
|
+
* @since 2.0.0
|
|
47
|
+
* @category constructors
|
|
48
|
+
*/
|
|
49
|
+
export const make: <Type, In, Out, R, E>(
|
|
50
|
+
metric: Metric.Metric<Type, In, Out>,
|
|
51
|
+
poll: Effect.Effect<In, E, R>
|
|
52
|
+
) => MetricPolling<Type, In, R, E, Out> = internal.make
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Collects all of the polling metrics into a single polling metric, which
|
|
56
|
+
* polls for, updates, and produces the outputs of all individual metrics.
|
|
57
|
+
*
|
|
58
|
+
* @since 2.0.0
|
|
59
|
+
* @category constructors
|
|
60
|
+
*/
|
|
61
|
+
export const collectAll: <R, E, Out>(
|
|
62
|
+
iterable: Iterable<MetricPolling<any, any, R, E, Out>>
|
|
63
|
+
) => MetricPolling<Array<any>, Array<any>, R, E, Array<Out>> = internal.collectAll
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Returns an effect that will launch the polling metric in a background
|
|
67
|
+
* fiber, using the specified schedule.
|
|
68
|
+
*
|
|
69
|
+
* @since 2.0.0
|
|
70
|
+
* @category utils
|
|
71
|
+
*/
|
|
72
|
+
export const launch: {
|
|
73
|
+
<A2, R2>(
|
|
74
|
+
schedule: Schedule.Schedule<A2, unknown, R2>
|
|
75
|
+
): <Type, In, R, E, Out>(
|
|
76
|
+
self: MetricPolling<Type, In, R, E, Out>
|
|
77
|
+
) => Effect.Effect<Fiber.Fiber<A2, E>, never, R2 | R | Scope.Scope>
|
|
78
|
+
<Type, In, R, E, Out, A2, R2>(
|
|
79
|
+
self: MetricPolling<Type, In, R, E, Out>,
|
|
80
|
+
schedule: Schedule.Schedule<A2, unknown, R2>
|
|
81
|
+
): Effect.Effect<Fiber.Fiber<A2, E>, never, Scope.Scope | R | R2>
|
|
82
|
+
} = internal.launch
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* An effect that polls a value that may be fed to the metric.
|
|
86
|
+
*
|
|
87
|
+
* @since 2.0.0
|
|
88
|
+
* @category utils
|
|
89
|
+
*/
|
|
90
|
+
export const poll: <Type, In, R, E, Out>(self: MetricPolling<Type, In, R, E, Out>) => Effect.Effect<In, E, R> =
|
|
91
|
+
internal.poll
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* An effect that polls for a value and uses the value to update the metric.
|
|
95
|
+
*
|
|
96
|
+
* @since 2.0.0
|
|
97
|
+
* @category utils
|
|
98
|
+
*/
|
|
99
|
+
export const pollAndUpdate: <Type, In, R, E, Out>(
|
|
100
|
+
self: MetricPolling<Type, In, R, E, Out>
|
|
101
|
+
) => Effect.Effect<void, E, R> = internal.pollAndUpdate
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Returns a new polling metric whose poll function will be retried with the
|
|
105
|
+
* specified retry policy.
|
|
106
|
+
*
|
|
107
|
+
* @since 2.0.0
|
|
108
|
+
* @category constructors
|
|
109
|
+
*/
|
|
110
|
+
export const retry: {
|
|
111
|
+
<X, E, R2>(
|
|
112
|
+
policy: Schedule.Schedule<X, NoInfer<E>, R2>
|
|
113
|
+
): <Type, In, R, Out>(self: MetricPolling<Type, In, R, E, Out>) => MetricPolling<Type, In, R2 | R, E, Out>
|
|
114
|
+
<Type, In, R, E, Out, X, R2>(
|
|
115
|
+
self: MetricPolling<Type, In, R, E, Out>,
|
|
116
|
+
policy: Schedule.Schedule<X, E, R2>
|
|
117
|
+
): MetricPolling<Type, In, R | R2, E, Out>
|
|
118
|
+
} = internal.retry
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Zips this polling metric with the specified polling metric.
|
|
122
|
+
*
|
|
123
|
+
* @since 2.0.0
|
|
124
|
+
* @category utils
|
|
125
|
+
*/
|
|
126
|
+
export const zip: {
|
|
127
|
+
<Type2, In2, R2, E2, Out2>(
|
|
128
|
+
that: MetricPolling<Type2, In2, R2, E2, Out2>
|
|
129
|
+
): <Type, In, R, E, Out>(
|
|
130
|
+
self: MetricPolling<Type, In, R, E, Out>
|
|
131
|
+
) => MetricPolling<
|
|
132
|
+
readonly [Type, Type2], // readonly because invariant
|
|
133
|
+
readonly [In, In2], // readonly because contravariant
|
|
134
|
+
R2 | R,
|
|
135
|
+
E2 | E,
|
|
136
|
+
[Out, Out2]
|
|
137
|
+
>
|
|
138
|
+
<Type, In, R, E, Out, Type2, In2, R2, E2, Out2>(
|
|
139
|
+
self: MetricPolling<Type, In, R, E, Out>,
|
|
140
|
+
that: MetricPolling<Type2, In2, R2, E2, Out2>
|
|
141
|
+
): MetricPolling<
|
|
142
|
+
readonly [Type, Type2], // readonly because invariant
|
|
143
|
+
readonly [In, In2], // readonly because contravariant
|
|
144
|
+
R | R2,
|
|
145
|
+
E | E2,
|
|
146
|
+
[Out, Out2]
|
|
147
|
+
>
|
|
148
|
+
} = internal.zip
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as internal from "./internal/metric/registry.js"
|
|
5
|
+
import type * as MetricHook from "./MetricHook.js"
|
|
6
|
+
import type * as MetricKey from "./MetricKey.js"
|
|
7
|
+
import type * as MetricKeyType from "./MetricKeyType.js"
|
|
8
|
+
import type * as MetricPair from "./MetricPair.js"
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @since 2.0.0
|
|
12
|
+
* @category symbols
|
|
13
|
+
*/
|
|
14
|
+
export const MetricRegistryTypeId: unique symbol = internal.MetricRegistryTypeId
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @since 2.0.0
|
|
18
|
+
* @category symbols
|
|
19
|
+
*/
|
|
20
|
+
export type MetricRegistryTypeId = typeof MetricRegistryTypeId
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @since 2.0.0
|
|
24
|
+
* @category models
|
|
25
|
+
*/
|
|
26
|
+
export interface MetricRegistry {
|
|
27
|
+
readonly [MetricRegistryTypeId]: MetricRegistryTypeId
|
|
28
|
+
snapshot(): Array<MetricPair.MetricPair.Untyped>
|
|
29
|
+
get<Type extends MetricKeyType.MetricKeyType<any, any>>(
|
|
30
|
+
key: MetricKey.MetricKey<Type>
|
|
31
|
+
): MetricHook.MetricHook<
|
|
32
|
+
MetricKeyType.MetricKeyType.InType<typeof key["keyType"]>,
|
|
33
|
+
MetricKeyType.MetricKeyType.OutType<typeof key["keyType"]>
|
|
34
|
+
>
|
|
35
|
+
getCounter<A extends (number | bigint)>(
|
|
36
|
+
key: MetricKey.MetricKey.Counter<A>
|
|
37
|
+
): MetricHook.MetricHook.Counter<A>
|
|
38
|
+
getFrequency(key: MetricKey.MetricKey.Frequency): MetricHook.MetricHook.Frequency
|
|
39
|
+
getGauge<A extends (number | bigint)>(key: MetricKey.MetricKey.Gauge<A>): MetricHook.MetricHook.Gauge<A>
|
|
40
|
+
getHistogram(key: MetricKey.MetricKey.Histogram): MetricHook.MetricHook.Histogram
|
|
41
|
+
getSummary(key: MetricKey.MetricKey.Summary): MetricHook.MetricHook.Summary
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @since 2.0.0
|
|
46
|
+
* @category constructors
|
|
47
|
+
*/
|
|
48
|
+
export const make: (_: void) => MetricRegistry = internal.make
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Equal from "./Equal.js"
|
|
5
|
+
import * as internal from "./internal/metric/state.js"
|
|
6
|
+
import type * as MetricKeyType from "./MetricKeyType.js"
|
|
7
|
+
import type * as Option from "./Option.js"
|
|
8
|
+
import type { Pipeable } from "./Pipeable.js"
|
|
9
|
+
import type * as Types from "./Types.js"
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @since 2.0.0
|
|
13
|
+
* @category symbols
|
|
14
|
+
*/
|
|
15
|
+
export const MetricStateTypeId: unique symbol = internal.MetricStateTypeId
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @since 2.0.0
|
|
19
|
+
* @category symbols
|
|
20
|
+
*/
|
|
21
|
+
export type MetricStateTypeId = typeof MetricStateTypeId
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @since 2.0.0
|
|
25
|
+
* @category symbols
|
|
26
|
+
*/
|
|
27
|
+
export const CounterStateTypeId: unique symbol = internal.CounterStateTypeId
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @since 2.0.0
|
|
31
|
+
* @category symbols
|
|
32
|
+
*/
|
|
33
|
+
export type CounterStateTypeId = typeof CounterStateTypeId
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @since 2.0.0
|
|
37
|
+
* @category symbols
|
|
38
|
+
*/
|
|
39
|
+
export const FrequencyStateTypeId: unique symbol = internal.FrequencyStateTypeId
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @since 2.0.0
|
|
43
|
+
* @category symbols
|
|
44
|
+
*/
|
|
45
|
+
export type FrequencyStateTypeId = typeof FrequencyStateTypeId
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* @since 2.0.0
|
|
49
|
+
* @category symbols
|
|
50
|
+
*/
|
|
51
|
+
export const GaugeStateTypeId: unique symbol = internal.GaugeStateTypeId
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @since 2.0.0
|
|
55
|
+
* @category symbols
|
|
56
|
+
*/
|
|
57
|
+
export type GaugeStateTypeId = typeof GaugeStateTypeId
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @since 2.0.0
|
|
61
|
+
* @category symbols
|
|
62
|
+
*/
|
|
63
|
+
export const HistogramStateTypeId: unique symbol = internal.HistogramStateTypeId
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @since 2.0.0
|
|
67
|
+
* @category symbols
|
|
68
|
+
*/
|
|
69
|
+
export type HistogramStateTypeId = typeof HistogramStateTypeId
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @since 2.0.0
|
|
73
|
+
* @category symbols
|
|
74
|
+
*/
|
|
75
|
+
export const SummaryStateTypeId: unique symbol = internal.SummaryStateTypeId
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* @since 2.0.0
|
|
79
|
+
* @category symbols
|
|
80
|
+
*/
|
|
81
|
+
export type SummaryStateTypeId = typeof SummaryStateTypeId
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* A `MetricState` describes the state of a metric. The type parameter of a
|
|
85
|
+
* metric state corresponds to the type of the metric key (`MetricStateType`).
|
|
86
|
+
* This phantom type parameter is used to tie keys to their expected states.
|
|
87
|
+
*
|
|
88
|
+
* @since 2.0.0
|
|
89
|
+
* @category models
|
|
90
|
+
*/
|
|
91
|
+
export interface MetricState<in A> extends MetricState.Variance<A>, Equal.Equal, Pipeable {}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* @since 2.0.0
|
|
95
|
+
*/
|
|
96
|
+
export declare namespace MetricState {
|
|
97
|
+
/**
|
|
98
|
+
* @since 2.0.0
|
|
99
|
+
* @category models
|
|
100
|
+
*/
|
|
101
|
+
export interface Untyped extends MetricState<any> {}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* @since 2.0.0
|
|
105
|
+
* @category models
|
|
106
|
+
*/
|
|
107
|
+
export interface Counter<in out A extends (number | bigint)>
|
|
108
|
+
extends MetricState<MetricKeyType.MetricKeyType.Counter<A>>
|
|
109
|
+
{
|
|
110
|
+
readonly [CounterStateTypeId]: CounterStateTypeId
|
|
111
|
+
readonly count: A
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* @since 2.0.0
|
|
116
|
+
* @category models
|
|
117
|
+
*/
|
|
118
|
+
export interface Frequency extends MetricState<MetricKeyType.MetricKeyType.Frequency> {
|
|
119
|
+
readonly [FrequencyStateTypeId]: FrequencyStateTypeId
|
|
120
|
+
readonly occurrences: ReadonlyMap<string, number>
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* @since 2.0.0
|
|
125
|
+
* @category models
|
|
126
|
+
*/
|
|
127
|
+
export interface Gauge<in out A extends (number | bigint)> extends MetricState<MetricKeyType.MetricKeyType.Gauge<A>> {
|
|
128
|
+
readonly [GaugeStateTypeId]: GaugeStateTypeId
|
|
129
|
+
readonly value: A
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* @since 2.0.0
|
|
134
|
+
* @category models
|
|
135
|
+
*/
|
|
136
|
+
export interface Histogram extends MetricState<MetricKeyType.MetricKeyType.Histogram> {
|
|
137
|
+
readonly [HistogramStateTypeId]: HistogramStateTypeId
|
|
138
|
+
readonly buckets: ReadonlyArray<readonly [number, number]>
|
|
139
|
+
readonly count: number
|
|
140
|
+
readonly min: number
|
|
141
|
+
readonly max: number
|
|
142
|
+
readonly sum: number
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* @since 2.0.0
|
|
147
|
+
* @category models
|
|
148
|
+
*/
|
|
149
|
+
export interface Summary extends MetricState<MetricKeyType.MetricKeyType.Summary> {
|
|
150
|
+
readonly [SummaryStateTypeId]: SummaryStateTypeId
|
|
151
|
+
readonly error: number
|
|
152
|
+
readonly quantiles: ReadonlyArray<readonly [number, Option.Option<number>]>
|
|
153
|
+
readonly count: number
|
|
154
|
+
readonly min: number
|
|
155
|
+
readonly max: number
|
|
156
|
+
readonly sum: number
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* @since 2.0.0
|
|
161
|
+
* @category models
|
|
162
|
+
*/
|
|
163
|
+
export interface Variance<in A> {
|
|
164
|
+
readonly [MetricStateTypeId]: {
|
|
165
|
+
readonly _A: Types.Contravariant<A>
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* @since 2.0.0
|
|
172
|
+
* @category constructors
|
|
173
|
+
*/
|
|
174
|
+
export const counter: {
|
|
175
|
+
(count: number): MetricState.Counter<number>
|
|
176
|
+
(count: bigint): MetricState.Counter<bigint>
|
|
177
|
+
} = internal.counter
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* @since 2.0.0
|
|
181
|
+
* @category constructors
|
|
182
|
+
*/
|
|
183
|
+
export const frequency: (occurrences: ReadonlyMap<string, number>) => MetricState.Frequency = internal.frequency
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* @since 2.0.0
|
|
187
|
+
* @category constructors
|
|
188
|
+
*/
|
|
189
|
+
export const gauge: {
|
|
190
|
+
(count: number): MetricState.Gauge<number>
|
|
191
|
+
(count: bigint): MetricState.Gauge<bigint>
|
|
192
|
+
} = internal.gauge
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* @since 2.0.0
|
|
196
|
+
* @category constructors
|
|
197
|
+
*/
|
|
198
|
+
export const histogram: (
|
|
199
|
+
options: {
|
|
200
|
+
readonly buckets: ReadonlyArray<readonly [number, number]>
|
|
201
|
+
readonly count: number
|
|
202
|
+
readonly min: number
|
|
203
|
+
readonly max: number
|
|
204
|
+
readonly sum: number
|
|
205
|
+
}
|
|
206
|
+
) => MetricState.Histogram = internal.histogram
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* @since 2.0.0
|
|
210
|
+
* @category constructors
|
|
211
|
+
*/
|
|
212
|
+
export const summary: (
|
|
213
|
+
options: {
|
|
214
|
+
readonly error: number
|
|
215
|
+
readonly quantiles: ReadonlyArray<readonly [number, Option.Option<number>]>
|
|
216
|
+
readonly count: number
|
|
217
|
+
readonly min: number
|
|
218
|
+
readonly max: number
|
|
219
|
+
readonly sum: number
|
|
220
|
+
}
|
|
221
|
+
) => MetricState.Summary = internal.summary
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* @since 2.0.0
|
|
225
|
+
* @category refinements
|
|
226
|
+
*/
|
|
227
|
+
export const isMetricState: (u: unknown) => u is MetricState.Counter<number | bigint> = internal.isMetricState
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* @since 2.0.0
|
|
231
|
+
* @category refinements
|
|
232
|
+
*/
|
|
233
|
+
export const isCounterState: (u: unknown) => u is MetricState.Counter<number | bigint> = internal.isCounterState
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* @since 2.0.0
|
|
237
|
+
* @category refinements
|
|
238
|
+
*/
|
|
239
|
+
export const isFrequencyState: (u: unknown) => u is MetricState.Frequency = internal.isFrequencyState
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* @since 2.0.0
|
|
243
|
+
* @category refinements
|
|
244
|
+
*/
|
|
245
|
+
export const isGaugeState: (u: unknown) => u is MetricState.Gauge<number | bigint> = internal.isGaugeState
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* @since 2.0.0
|
|
249
|
+
* @category refinements
|
|
250
|
+
*/
|
|
251
|
+
export const isHistogramState: (u: unknown) => u is MetricState.Histogram = internal.isHistogramState
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* @since 2.0.0
|
|
255
|
+
* @category refinements
|
|
256
|
+
*/
|
|
257
|
+
export const isSummaryState: (u: unknown) => u is MetricState.Summary = internal.isSummaryState
|