@smthrs/observability 0.35.0 → 1.0.0-rc.4
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/CHANGELOG.md +56 -0
- package/LICENSE +1 -1
- package/README.md +84 -0
- package/dist/cjs/BrowserOtel.d.ts +37 -0
- package/dist/cjs/BrowserOtel.d.ts.map +1 -0
- package/dist/cjs/BrowserOtel.js +47 -0
- package/dist/cjs/BrowserOtel.js.map +7 -0
- package/dist/cjs/Endpoint.d.ts +70 -0
- package/dist/cjs/Endpoint.d.ts.map +1 -0
- package/dist/cjs/Endpoint.js +85 -0
- package/dist/cjs/Endpoint.js.map +7 -0
- package/dist/cjs/JournalLogger.d.ts +232 -0
- package/dist/cjs/JournalLogger.d.ts.map +1 -0
- package/dist/cjs/JournalLogger.js +388 -0
- package/dist/cjs/JournalLogger.js.map +7 -0
- package/dist/cjs/Logger.d.ts +55 -0
- package/dist/cjs/Logger.d.ts.map +1 -0
- package/dist/cjs/Logger.js +72 -0
- package/dist/cjs/Logger.js.map +7 -0
- package/dist/cjs/Metric.d.ts +67 -0
- package/dist/cjs/Metric.d.ts.map +1 -0
- package/dist/cjs/Metric.js +68 -0
- package/dist/cjs/Metric.js.map +7 -0
- package/dist/cjs/NodeOtel.d.ts +42 -0
- package/dist/cjs/NodeOtel.d.ts.map +1 -0
- package/dist/cjs/NodeOtel.js +78 -0
- package/dist/cjs/NodeOtel.js.map +7 -0
- package/dist/cjs/Otel.d.ts +62 -0
- package/dist/cjs/Otel.d.ts.map +1 -0
- package/dist/cjs/Otel.js +75 -0
- package/dist/cjs/Otel.js.map +7 -0
- package/dist/cjs/Otlp.d.ts +200 -0
- package/dist/cjs/Otlp.d.ts.map +1 -0
- package/dist/cjs/Otlp.js +235 -0
- package/dist/cjs/Otlp.js.map +7 -0
- package/dist/cjs/Resource.d.ts +162 -0
- package/dist/cjs/Resource.d.ts.map +1 -0
- package/dist/cjs/Resource.js +186 -0
- package/dist/cjs/Resource.js.map +7 -0
- package/dist/cjs/index.d.ts +61 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/internal/schemaIssuePath.d.ts +31 -0
- package/dist/cjs/internal/schemaIssuePath.d.ts.map +1 -0
- package/dist/cjs/internal/schemaIssuePath.js +49 -0
- package/dist/cjs/internal/schemaIssuePath.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/BrowserOtel.d.ts +37 -0
- package/dist/esm/BrowserOtel.d.ts.map +1 -0
- package/dist/esm/BrowserOtel.js +24 -0
- package/dist/esm/BrowserOtel.js.map +1 -0
- package/dist/esm/Endpoint.d.ts +70 -0
- package/dist/esm/Endpoint.d.ts.map +1 -0
- package/dist/esm/Endpoint.js +110 -0
- package/dist/esm/Endpoint.js.map +1 -0
- package/dist/esm/JournalLogger.d.ts +232 -0
- package/dist/esm/JournalLogger.d.ts.map +1 -0
- package/dist/esm/JournalLogger.js +482 -0
- package/dist/esm/JournalLogger.js.map +1 -0
- package/dist/esm/Logger.d.ts +55 -0
- package/dist/esm/Logger.d.ts.map +1 -0
- package/dist/esm/Logger.js +60 -0
- package/dist/esm/Logger.js.map +1 -0
- package/dist/esm/Metric.d.ts +67 -0
- package/dist/esm/Metric.d.ts.map +1 -0
- package/dist/esm/Metric.js +80 -0
- package/dist/esm/Metric.js.map +1 -0
- package/dist/esm/NodeOtel.d.ts +42 -0
- package/dist/esm/NodeOtel.d.ts.map +1 -0
- package/dist/esm/NodeOtel.js +56 -0
- package/dist/esm/NodeOtel.js.map +1 -0
- package/dist/esm/Otel.d.ts +62 -0
- package/dist/esm/Otel.d.ts.map +1 -0
- package/dist/esm/Otel.js +51 -0
- package/dist/esm/Otel.js.map +1 -0
- package/dist/esm/Otlp.d.ts +200 -0
- package/dist/esm/Otlp.d.ts.map +1 -0
- package/dist/esm/Otlp.js +350 -0
- package/dist/esm/Otlp.js.map +1 -0
- package/dist/esm/Resource.d.ts +162 -0
- package/dist/esm/Resource.d.ts.map +1 -0
- package/dist/esm/Resource.js +237 -0
- package/dist/esm/Resource.js.map +1 -0
- package/dist/esm/index.d.ts +61 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +61 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/schemaIssuePath.d.ts +31 -0
- package/dist/esm/internal/schemaIssuePath.d.ts.map +1 -0
- package/dist/esm/internal/schemaIssuePath.js +59 -0
- package/dist/esm/internal/schemaIssuePath.js.map +1 -0
- package/docs/README.md +162 -0
- package/docs/api.md +768 -0
- package/docs/concepts/instrumentation-and-export.md +68 -0
- package/docs/concepts/layer-map.md +72 -0
- package/docs/concepts/validated-acquisition.md +105 -0
- package/docs/guides/export-to-a-collector.md +167 -0
- package/docs/guides/forward-logs-to-the-journal.md +226 -0
- package/docs/guides/install-a-logger.md +111 -0
- package/docs/guides/read-runtime-metrics.md +83 -0
- package/docs/guides/testing.md +134 -0
- package/docs/guides/wire-an-opentelemetry-sdk.md +220 -0
- package/docs/installation.md +98 -0
- package/docs/quickstart.md +145 -0
- package/docs/troubleshooting.md +168 -0
- package/package.json +221 -32
- package/src/BrowserOtel.ts +51 -0
- package/src/Endpoint.ts +131 -0
- package/src/JournalLogger.ts +596 -0
- package/src/Logger.ts +106 -0
- package/src/Metric.ts +88 -0
- package/src/NodeOtel.ts +90 -0
- package/src/Otel.ts +117 -0
- package/src/Otlp.ts +477 -0
- package/src/Resource.ts +324 -0
- package/src/index.ts +67 -0
- package/src/internal/schemaIssuePath.ts +65 -0
- package/docker-compose.otel.yml +0 -104
- package/grafana/dashboards/smithers-dashboard.json +0 -453
- package/grafana/provisioning/dashboards/dashboards.yml +0 -12
- package/grafana/provisioning/datasources/datasources.yml +0 -49
- package/loki/loki-config.yaml +0 -35
- package/otel-collector-config.yml +0 -38
- package/prometheus/prometheus.yml +0 -8
- package/src/MetricName.ts +0 -1
- package/src/MetricsServiceLive.js +0 -9
- package/src/README.md +0 -28
- package/src/ResolvedSmithersObservabilityOptions.ts +0 -12
- package/src/SmithersEvent.ts +0 -843
- package/src/SmithersLogFormat.ts +0 -1
- package/src/SmithersMetricDefinition.ts +0 -15
- package/src/SmithersMetricType.ts +0 -1
- package/src/SmithersMetricUnit.ts +0 -1
- package/src/SmithersObservability.js +0 -15
- package/src/SmithersObservabilityOptions.ts +0 -12
- package/src/SmithersObservabilityService.ts +0 -13
- package/src/_coreCorrelation/CorrelationContext.ts +0 -10
- package/src/_coreCorrelation/CorrelationContextLive.js +0 -11
- package/src/_coreCorrelation/CorrelationContextService.js +0 -15
- package/src/_coreCorrelation/CorrelationContextServiceShape.ts +0 -12
- package/src/_coreCorrelation/CorrelationPatch.ts +0 -3
- package/src/_coreCorrelation/README.md +0 -20
- package/src/_coreCorrelation/_correlationStorage.js +0 -4
- package/src/_coreCorrelation/correlationContextFiberRef.js +0 -5
- package/src/_coreCorrelation/correlationContextToLogAnnotations.js +0 -18
- package/src/_coreCorrelation/getCurrentCorrelationContext.js +0 -9
- package/src/_coreCorrelation/getCurrentCorrelationContextEffect.js +0 -11
- package/src/_coreCorrelation/index.js +0 -14
- package/src/_coreCorrelation/mergeCorrelationContext.js +0 -51
- package/src/_coreCorrelation/runWithCorrelationContext.js +0 -14
- package/src/_coreCorrelation/updateCurrentCorrelationContext.js +0 -17
- package/src/_coreCorrelation/withCorrelationContext.js +0 -38
- package/src/_coreCorrelation/withCurrentCorrelationContext.js +0 -11
- package/src/_coreMetrics.js +0 -14
- package/src/_coreMetricsShape.ts +0 -44
- package/src/_corePrometheus.js +0 -91
- package/src/_corePrometheusShape.ts +0 -11
- package/src/_coreTracing.js +0 -132
- package/src/_coreTracingShape.ts +0 -17
- package/src/_otelLogBuilders.js +0 -102
- package/src/_sessionFileResolvers.js +0 -164
- package/src/_smithersSpanAttributeAliases.js +0 -19
- package/src/_smithersTraceSpanStorage.js +0 -3
- package/src/_traceEventNormalizers.js +0 -499
- package/src/_traceRedaction.js +0 -162
- package/src/agentSessionEventToOtelLogRecord.js +0 -55
- package/src/agentTrace.ts +0 -144
- package/src/agentTraceCapabilities.js +0 -151
- package/src/annotateSmithersTrace.js +0 -11
- package/src/canonicalTraceEventToOtelLogRecord.js +0 -55
- package/src/correlation.js +0 -56
- package/src/createSmithersObservabilityLayer.js +0 -59
- package/src/createSmithersOtelLayer.js +0 -23
- package/src/createSmithersRuntimeLayer.js +0 -2
- package/src/detectAgentFamily.js +0 -26
- package/src/detectCaptureMode.js +0 -29
- package/src/emitOtelLogRecord.js +0 -19
- package/src/getCurrentSmithersTraceAnnotations.js +0 -14
- package/src/getCurrentSmithersTraceSpan.js +0 -7
- package/src/index.d.ts +0 -1392
- package/src/index.js +0 -137
- package/src/kindPhase.js +0 -17
- package/src/logging.js +0 -264
- package/src/makeSmithersSpanAttributes.js +0 -20
- package/src/metrics/README.md +0 -22
- package/src/metrics/SmithersMetricDefinition.ts +0 -17
- package/src/metrics/SmithersMetricType.ts +0 -1
- package/src/metrics/SmithersMetricUnit.ts +0 -1
- package/src/metrics/_asyncExternalWaitCounts.js +0 -4
- package/src/metrics/_buckets.js +0 -37
- package/src/metrics/_incrementGauge.js +0 -11
- package/src/metrics/_processStartMs.js +0 -1
- package/src/metrics/activeNodes.js +0 -2
- package/src/metrics/activeRuns.js +0 -2
- package/src/metrics/agentActionsTotal.js +0 -2
- package/src/metrics/agentDurationMs.js +0 -3
- package/src/metrics/agentErrorsTotal.js +0 -2
- package/src/metrics/agentEventsTotal.js +0 -2
- package/src/metrics/agentInvocationsTotal.js +0 -2
- package/src/metrics/agentRetriesTotal.js +0 -2
- package/src/metrics/agentSessionsTotal.js +0 -2
- package/src/metrics/agentTokensTotal.js +0 -2
- package/src/metrics/alertDeliveriesAttempted.js +0 -2
- package/src/metrics/alertDeliveriesSuppressed.js +0 -2
- package/src/metrics/alertsAcknowledgedTotal.js +0 -2
- package/src/metrics/alertsActive.js +0 -2
- package/src/metrics/alertsEscalatedTotal.js +0 -2
- package/src/metrics/alertsFiredTotal.js +0 -2
- package/src/metrics/alertsReopenedTotal.js +0 -2
- package/src/metrics/alertsResolvedTotal.js +0 -2
- package/src/metrics/alertsSilencedTotal.js +0 -2
- package/src/metrics/approvalPending.js +0 -2
- package/src/metrics/approvalWaitDuration.js +0 -5
- package/src/metrics/approvalsDenied.js +0 -2
- package/src/metrics/approvalsGranted.js +0 -2
- package/src/metrics/approvalsRequested.js +0 -2
- package/src/metrics/attemptDuration.js +0 -3
- package/src/metrics/attentionBacklog.js +0 -2
- package/src/metrics/cacheHits.js +0 -2
- package/src/metrics/cacheMisses.js +0 -2
- package/src/metrics/dbQueryDuration.js +0 -3
- package/src/metrics/dbRetries.js +0 -2
- package/src/metrics/dbTransactionDuration.js +0 -3
- package/src/metrics/dbTransactionRetries.js +0 -2
- package/src/metrics/dbTransactionRollbacks.js +0 -2
- package/src/metrics/devtoolsActiveSubscribers.js +0 -2
- package/src/metrics/devtoolsBackpressureDisconnectTotal.js +0 -2
- package/src/metrics/devtoolsDeltaBuildMs.js +0 -3
- package/src/metrics/devtoolsEventBytes.js +0 -3
- package/src/metrics/devtoolsEventTotal.js +0 -2
- package/src/metrics/devtoolsSnapshotBuildMs.js +0 -5
- package/src/metrics/devtoolsSubscribeTotal.js +0 -2
- package/src/metrics/errorsTotal.js +0 -2
- package/src/metrics/eventsEmittedTotal.js +0 -2
- package/src/metrics/externalWaitAsyncPending.js +0 -2
- package/src/metrics/gatewayApprovalDecisionsTotal.js +0 -2
- package/src/metrics/gatewayAuthEventsTotal.js +0 -2
- package/src/metrics/gatewayConnectionsActive.js +0 -2
- package/src/metrics/gatewayConnectionsClosedTotal.js +0 -2
- package/src/metrics/gatewayConnectionsTotal.js +0 -2
- package/src/metrics/gatewayCronTriggersTotal.js +0 -2
- package/src/metrics/gatewayErrorsTotal.js +0 -2
- package/src/metrics/gatewayHeartbeatTicksTotal.js +0 -2
- package/src/metrics/gatewayMessagesReceivedTotal.js +0 -2
- package/src/metrics/gatewayMessagesSentTotal.js +0 -2
- package/src/metrics/gatewayRpcCallsTotal.js +0 -2
- package/src/metrics/gatewayRpcDuration.js +0 -3
- package/src/metrics/gatewayRunEventBackpressureDisconnectTotal.js +0 -4
- package/src/metrics/gatewayRunsCompletedTotal.js +0 -2
- package/src/metrics/gatewayRunsStartedTotal.js +0 -2
- package/src/metrics/gatewaySignalsTotal.js +0 -2
- package/src/metrics/gatewayWebhooksReceivedTotal.js +0 -2
- package/src/metrics/gatewayWebhooksRejectedTotal.js +0 -2
- package/src/metrics/gatewayWebhooksVerifiedTotal.js +0 -2
- package/src/metrics/heartbeatDataSizeBytes.js +0 -5
- package/src/metrics/heartbeatIntervalMs.js +0 -3
- package/src/metrics/hotReloadDuration.js +0 -3
- package/src/metrics/hotReloadFailures.js +0 -2
- package/src/metrics/hotReloads.js +0 -2
- package/src/metrics/httpRequestDuration.js +0 -3
- package/src/metrics/httpRequests.js +0 -2
- package/src/metrics/index.d.ts +0 -1222
- package/src/metrics/index.js +0 -168
- package/src/metrics/memoryFactReads.js +0 -3
- package/src/metrics/memoryFactWrites.js +0 -3
- package/src/metrics/memoryMessageSaves.js +0 -3
- package/src/metrics/memoryRecallDuration.js +0 -11
- package/src/metrics/memoryRecallQueries.js +0 -3
- package/src/metrics/metricsServiceAdapter.js +0 -181
- package/src/metrics/nodeDuration.js +0 -3
- package/src/metrics/nodeRetriesTotal.js +0 -2
- package/src/metrics/nodesFailed.js +0 -2
- package/src/metrics/nodesFinished.js +0 -2
- package/src/metrics/nodesStarted.js +0 -2
- package/src/metrics/openApiToolCallErrorsTotal.js +0 -3
- package/src/metrics/openApiToolCallsTotal.js +0 -3
- package/src/metrics/openApiToolDuration.js +0 -9
- package/src/metrics/processHeapUsedBytes.js +0 -2
- package/src/metrics/processMemoryRssBytes.js +0 -2
- package/src/metrics/processUptimeSeconds.js +0 -2
- package/src/metrics/promptSizeBytes.js +0 -3
- package/src/metrics/replaysStarted.js +0 -3
- package/src/metrics/responseSizeBytes.js +0 -3
- package/src/metrics/rewindDurationMs.js +0 -3
- package/src/metrics/rewindFramesDeleted.js +0 -3
- package/src/metrics/rewindRollbackTotal.js +0 -2
- package/src/metrics/rewindSandboxesReverted.js +0 -3
- package/src/metrics/rewindTotal.js +0 -2
- package/src/metrics/runDuration.js +0 -3
- package/src/metrics/runForksCreated.js +0 -3
- package/src/metrics/runsAncestryDepth.js +0 -3
- package/src/metrics/runsCancelledTotal.js +0 -2
- package/src/metrics/runsCarriedStateBytes.js +0 -5
- package/src/metrics/runsContinuedTotal.js +0 -2
- package/src/metrics/runsFailedTotal.js +0 -2
- package/src/metrics/runsFinishedTotal.js +0 -2
- package/src/metrics/runsResumedTotal.js +0 -2
- package/src/metrics/runsTotal.js +0 -2
- package/src/metrics/sandboxActive.js +0 -2
- package/src/metrics/sandboxBundleSizeBytes.js +0 -5
- package/src/metrics/sandboxCompletedTotal.js +0 -2
- package/src/metrics/sandboxCreatedTotal.js +0 -2
- package/src/metrics/sandboxDurationMs.js +0 -3
- package/src/metrics/sandboxPatchCount.js +0 -3
- package/src/metrics/sandboxTransportDurationMs.js +0 -5
- package/src/metrics/schedulerConcurrencyUtilization.js +0 -2
- package/src/metrics/schedulerQueueDepth.js +0 -2
- package/src/metrics/schedulerWaitDuration.js +0 -5
- package/src/metrics/scorerDuration.js +0 -9
- package/src/metrics/scorerEventsFailed.js +0 -2
- package/src/metrics/scorerEventsFinished.js +0 -2
- package/src/metrics/scorerEventsStarted.js +0 -2
- package/src/metrics/scorersFailed.js +0 -3
- package/src/metrics/scorersFinished.js +0 -3
- package/src/metrics/scorersStarted.js +0 -3
- package/src/metrics/smithersMetricCatalog.js +0 -893
- package/src/metrics/smithersMetricCatalogByKey.js +0 -2
- package/src/metrics/smithersMetricCatalogByName.js +0 -2
- package/src/metrics/smithersMetricCatalogByPrometheusName.js +0 -4
- package/src/metrics/snapshotDuration.js +0 -9
- package/src/metrics/snapshotsCaptured.js +0 -3
- package/src/metrics/supervisorPollDuration.js +0 -5
- package/src/metrics/supervisorPollsTotal.js +0 -2
- package/src/metrics/supervisorResumeLag.js +0 -5
- package/src/metrics/supervisorResumedTotal.js +0 -2
- package/src/metrics/supervisorSkippedTotal.js +0 -2
- package/src/metrics/supervisorStaleDetected.js +0 -2
- package/src/metrics/taskHeartbeatTimeoutTotal.js +0 -2
- package/src/metrics/taskHeartbeatsTotal.js +0 -2
- package/src/metrics/timerDelayDuration.js +0 -3
- package/src/metrics/timersCancelled.js +0 -2
- package/src/metrics/timersCreated.js +0 -2
- package/src/metrics/timersFired.js +0 -2
- package/src/metrics/timersPending.js +0 -2
- package/src/metrics/toPrometheusMetricName.js +0 -8
- package/src/metrics/tokensCacheReadTotal.js +0 -2
- package/src/metrics/tokensCacheWriteTotal.js +0 -2
- package/src/metrics/tokensContextWindowBucketTotal.js +0 -2
- package/src/metrics/tokensContextWindowPerCall.js +0 -5
- package/src/metrics/tokensInputPerCall.js +0 -3
- package/src/metrics/tokensInputTotal.js +0 -2
- package/src/metrics/tokensOutputPerCall.js +0 -3
- package/src/metrics/tokensOutputTotal.js +0 -2
- package/src/metrics/tokensReasoningTotal.js +0 -2
- package/src/metrics/toolCallErrorsTotal.js +0 -2
- package/src/metrics/toolCallsTotal.js +0 -2
- package/src/metrics/toolDuration.js +0 -3
- package/src/metrics/toolOutputTruncatedTotal.js +0 -2
- package/src/metrics/trackEvent.js +0 -608
- package/src/metrics/updateAsyncExternalWaitPending.js +0 -18
- package/src/metrics/updateProcessMetrics.js +0 -20
- package/src/metrics/vcsDuration.js +0 -3
- package/src/normalizeStructuredEvent.js +0 -15
- package/src/prometheusContentType.js +0 -1
- package/src/renderPrometheusMetrics.js +0 -212
- package/src/resolveAgentTraceCapabilities.js +0 -59
- package/src/resolveSmithersObservabilityOptions.js +0 -109
- package/src/smithersMetrics.js +0 -2
- package/src/smithersSpanNames.js +0 -6
- package/src/unsupportedKindsForCapabilities.js +0 -32
- package/src/withSmithersSpan.js +0 -17
- package/tempo/tempo.yml +0 -17
package/src/index.js
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/** @typedef {import("./_coreCorrelation/CorrelationContext.ts").CorrelationContext} CorrelationContext */
|
|
2
|
-
/** @typedef {import("./_coreCorrelation/CorrelationPatch.ts").CorrelationPatch} CorrelationPatch */
|
|
3
|
-
/** @typedef {CorrelationPatch} CorrelationContextPatch */
|
|
4
|
-
/** @typedef {import("./_corePrometheusShape.ts").MetricLabels} MetricLabels */
|
|
5
|
-
/** @typedef {import("./_coreMetricsShape.ts").MetricsServiceShape} MetricsServiceShape */
|
|
6
|
-
/** @typedef {import("./_coreMetricsShape.ts").MetricsSnapshot} MetricsSnapshot */
|
|
7
|
-
/** @typedef {import("./ResolvedSmithersObservabilityOptions.ts").ResolvedSmithersObservabilityOptions} ResolvedSmithersObservabilityOptions */
|
|
8
|
-
/** @typedef {import("./SmithersEvent.ts").RunCancellationSource} RunCancellationSource */
|
|
9
|
-
/** @typedef {import("./SmithersEvent.ts").SmithersEvent} SmithersEvent */
|
|
10
|
-
/** @typedef {import("./SmithersLogFormat.ts").SmithersLogFormat} SmithersLogFormat */
|
|
11
|
-
/** @typedef {import("./SmithersMetricDefinition.ts").SmithersMetricDefinition} SmithersMetricDefinition */
|
|
12
|
-
/** @typedef {import("./SmithersObservabilityOptions.ts").SmithersObservabilityOptions} SmithersObservabilityOptions */
|
|
13
|
-
/** @typedef {import("./SmithersObservabilityService.ts").SmithersObservabilityService} SmithersObservabilityService */
|
|
14
|
-
|
|
15
|
-
export { MetricsService } from "./_coreMetrics.js";
|
|
16
|
-
export { TracingService, TracingServiceLive } from "./_coreTracing.js";
|
|
17
|
-
export { SmithersObservability } from "./SmithersObservability.js";
|
|
18
|
-
export { prometheusContentType } from "./prometheusContentType.js";
|
|
19
|
-
export { smithersSpanNames } from "./smithersSpanNames.js";
|
|
20
|
-
export { getCurrentSmithersTraceSpan } from "./getCurrentSmithersTraceSpan.js";
|
|
21
|
-
export { getCurrentSmithersTraceAnnotations } from "./getCurrentSmithersTraceAnnotations.js";
|
|
22
|
-
export { makeSmithersSpanAttributes } from "./makeSmithersSpanAttributes.js";
|
|
23
|
-
export { annotateSmithersTrace } from "./annotateSmithersTrace.js";
|
|
24
|
-
export { withSmithersSpan } from "./withSmithersSpan.js";
|
|
25
|
-
export { renderPrometheusMetrics } from "./renderPrometheusMetrics.js";
|
|
26
|
-
export { resolveSmithersObservabilityOptions } from "./resolveSmithersObservabilityOptions.js";
|
|
27
|
-
export { smithersMetrics } from "./smithersMetrics.js";
|
|
28
|
-
export { MetricsServiceLive } from "./MetricsServiceLive.js";
|
|
29
|
-
export { createSmithersOtelLayer } from "./createSmithersOtelLayer.js";
|
|
30
|
-
export { createSmithersObservabilityLayer } from "./createSmithersObservabilityLayer.js";
|
|
31
|
-
export { createSmithersRuntimeLayer } from "./createSmithersRuntimeLayer.js";
|
|
32
|
-
export {
|
|
33
|
-
rewindTotal,
|
|
34
|
-
rewindRollbackTotal,
|
|
35
|
-
rewindDurationMs,
|
|
36
|
-
rewindFramesDeleted,
|
|
37
|
-
rewindSandboxesReverted,
|
|
38
|
-
} from "./metrics/index.js";
|
|
39
|
-
export {
|
|
40
|
-
activeNodes,
|
|
41
|
-
activeRuns,
|
|
42
|
-
approvalPending,
|
|
43
|
-
externalWaitAsyncPending,
|
|
44
|
-
approvalsDenied,
|
|
45
|
-
approvalsGranted,
|
|
46
|
-
approvalsRequested,
|
|
47
|
-
approvalWaitDuration,
|
|
48
|
-
timerDelayDuration,
|
|
49
|
-
timersCancelled,
|
|
50
|
-
timersCreated,
|
|
51
|
-
timersFired,
|
|
52
|
-
timersPending,
|
|
53
|
-
attemptDuration,
|
|
54
|
-
cacheHits,
|
|
55
|
-
cacheMisses,
|
|
56
|
-
dbQueryDuration,
|
|
57
|
-
dbRetries,
|
|
58
|
-
dbTransactionDuration,
|
|
59
|
-
dbTransactionRetries,
|
|
60
|
-
dbTransactionRollbacks,
|
|
61
|
-
errorsTotal,
|
|
62
|
-
eventsEmittedTotal,
|
|
63
|
-
hotReloadDuration,
|
|
64
|
-
hotReloadFailures,
|
|
65
|
-
hotReloads,
|
|
66
|
-
httpRequestDuration,
|
|
67
|
-
httpRequests,
|
|
68
|
-
nodeDuration,
|
|
69
|
-
nodeRetriesTotal,
|
|
70
|
-
nodesFailed,
|
|
71
|
-
nodesFinished,
|
|
72
|
-
nodesStarted,
|
|
73
|
-
processHeapUsedBytes,
|
|
74
|
-
processMemoryRssBytes,
|
|
75
|
-
processUptimeSeconds,
|
|
76
|
-
promptSizeBytes,
|
|
77
|
-
responseSizeBytes,
|
|
78
|
-
runDuration,
|
|
79
|
-
runsCancelledTotal,
|
|
80
|
-
runsContinuedTotal,
|
|
81
|
-
runsFailedTotal,
|
|
82
|
-
runsFinishedTotal,
|
|
83
|
-
runsResumedTotal,
|
|
84
|
-
runsAncestryDepth,
|
|
85
|
-
runsCarriedStateBytes,
|
|
86
|
-
sandboxActive,
|
|
87
|
-
sandboxBundleSizeBytes,
|
|
88
|
-
sandboxCompletedTotal,
|
|
89
|
-
sandboxCreatedTotal,
|
|
90
|
-
sandboxDurationMs,
|
|
91
|
-
sandboxPatchCount,
|
|
92
|
-
sandboxTransportDurationMs,
|
|
93
|
-
runsTotal,
|
|
94
|
-
schedulerConcurrencyUtilization,
|
|
95
|
-
schedulerQueueDepth,
|
|
96
|
-
schedulerWaitDuration,
|
|
97
|
-
tokensCacheReadTotal,
|
|
98
|
-
tokensCacheWriteTotal,
|
|
99
|
-
tokensContextWindowBucketTotal,
|
|
100
|
-
tokensContextWindowPerCall,
|
|
101
|
-
tokensInputPerCall,
|
|
102
|
-
tokensInputTotal,
|
|
103
|
-
tokensOutputPerCall,
|
|
104
|
-
tokensOutputTotal,
|
|
105
|
-
tokensReasoningTotal,
|
|
106
|
-
toolCallErrorsTotal,
|
|
107
|
-
toolCallsTotal,
|
|
108
|
-
toolDuration,
|
|
109
|
-
toolOutputTruncatedTotal,
|
|
110
|
-
scorerEventsStarted,
|
|
111
|
-
scorerEventsFinished,
|
|
112
|
-
scorerEventsFailed,
|
|
113
|
-
snapshotsCaptured,
|
|
114
|
-
runForksCreated,
|
|
115
|
-
replaysStarted,
|
|
116
|
-
snapshotDuration,
|
|
117
|
-
trackEvent as trackSmithersEvent,
|
|
118
|
-
updateProcessMetrics,
|
|
119
|
-
vcsDuration,
|
|
120
|
-
toPrometheusMetricName,
|
|
121
|
-
smithersMetricCatalog,
|
|
122
|
-
metricsServiceAdapter,
|
|
123
|
-
} from "./metrics/index.js";
|
|
124
|
-
export {
|
|
125
|
-
correlationContextFiberRef,
|
|
126
|
-
correlationContextToLogAnnotations,
|
|
127
|
-
CorrelationContextLive,
|
|
128
|
-
CorrelationContextService,
|
|
129
|
-
getCurrentCorrelationContext,
|
|
130
|
-
getCurrentCorrelationContextEffect,
|
|
131
|
-
mergeCorrelationContext,
|
|
132
|
-
runWithCorrelationContext,
|
|
133
|
-
withCorrelationContext,
|
|
134
|
-
withCurrentCorrelationContext,
|
|
135
|
-
} from "./correlation.js";
|
|
136
|
-
export { updateCurrentCorrelationContext } from "./correlation.js";
|
|
137
|
-
export { logDebug, logInfo, logWarning, logError, runWithSmithersLogRunner, setSmithersLogRunner } from "./logging.js";
|
package/src/kindPhase.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @typedef {import('./agentTrace.ts').CanonicalAgentTraceEventKind} CanonicalAgentTraceEventKind
|
|
3
|
-
* @typedef {import('./agentTrace.ts').CanonicalAgentTraceEventPhase} CanonicalAgentTraceEventPhase
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @param {CanonicalAgentTraceEventKind} kind
|
|
8
|
-
* @returns {CanonicalAgentTraceEventPhase}
|
|
9
|
-
*/
|
|
10
|
-
export function kindPhase(kind) {
|
|
11
|
-
if (kind.startsWith("session.")) return "session";
|
|
12
|
-
if (kind.startsWith("turn.")) return "turn";
|
|
13
|
-
if (kind.startsWith("message.") || kind.startsWith("assistant.")) return "message";
|
|
14
|
-
if (kind.startsWith("tool.")) return "tool";
|
|
15
|
-
if (kind.startsWith("artifact.")) return "artifact";
|
|
16
|
-
return "capture";
|
|
17
|
-
}
|
package/src/logging.js
DELETED
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import { Effect, Logger, LogLevel } from "effect";
|
|
2
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
-
import { getCurrentSmithersTraceAnnotations } from "./getCurrentSmithersTraceAnnotations.js";
|
|
4
|
-
import {
|
|
5
|
-
correlationContextToLogAnnotations,
|
|
6
|
-
getCurrentCorrelationContext,
|
|
7
|
-
withCurrentCorrelationContext,
|
|
8
|
-
} from "./correlation.js";
|
|
9
|
-
/**
|
|
10
|
-
* @typedef {Record<string, unknown> | undefined} LogAnnotations
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/** @type {number} */
|
|
14
|
-
const LOG_LEVEL_NONE = 0;
|
|
15
|
-
const LOG_LEVEL_DEBUG = 1;
|
|
16
|
-
const LOG_LEVEL_INFO = 2;
|
|
17
|
-
const LOG_LEVEL_WARNING = 3;
|
|
18
|
-
const LOG_LEVEL_ERROR = 4;
|
|
19
|
-
const LOG_RUNNER_KEY = Symbol.for("smithers.observability.logRunner");
|
|
20
|
-
const defaultLoggerLayer = Logger.layer([Logger.consoleLogFmt]);
|
|
21
|
-
const runnerStorage = new AsyncLocalStorage();
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Resolve the minimum imperative log level. The environment value is an
|
|
25
|
-
* injectable parameter (defaulting to `SMITHERS_LOG_LEVEL`) so the mapping is
|
|
26
|
-
* testable without re-importing the module; module state still captures the
|
|
27
|
-
* env-derived value once at load time.
|
|
28
|
-
*
|
|
29
|
-
* @param {string | undefined} [env]
|
|
30
|
-
* @returns {number}
|
|
31
|
-
*/
|
|
32
|
-
export function resolveMinLevel(env = process.env.SMITHERS_LOG_LEVEL?.toLowerCase()) {
|
|
33
|
-
switch (env) {
|
|
34
|
-
case "none":
|
|
35
|
-
return Infinity;
|
|
36
|
-
case "trace":
|
|
37
|
-
case "debug":
|
|
38
|
-
return LOG_LEVEL_DEBUG;
|
|
39
|
-
case "warning":
|
|
40
|
-
case "warn":
|
|
41
|
-
return LOG_LEVEL_WARNING;
|
|
42
|
-
case "error":
|
|
43
|
-
return LOG_LEVEL_ERROR;
|
|
44
|
-
case "fatal":
|
|
45
|
-
return Infinity;
|
|
46
|
-
case "all":
|
|
47
|
-
return LOG_LEVEL_NONE;
|
|
48
|
-
// Default to INFO so INFO/OTLP records flow without SMITHERS_LOG_LEVEL,
|
|
49
|
-
// matching resolveSmithersObservabilityOptions' Effect-layer default.
|
|
50
|
-
case "info":
|
|
51
|
-
default:
|
|
52
|
-
return LOG_LEVEL_INFO;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const minLevel = resolveMinLevel();
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* @typedef {{
|
|
60
|
-
* runFork: (effect: Effect.Effect<void, never, never>) => unknown;
|
|
61
|
-
* runPromise: (effect: Effect.Effect<void, never, never>) => Promise<void>;
|
|
62
|
-
* }} SmithersLogRunner
|
|
63
|
-
*/
|
|
64
|
-
|
|
65
|
-
/** @returns {{ runner: SmithersLogRunner | null }} */
|
|
66
|
-
function getRunnerState() {
|
|
67
|
-
const globalState = /** @type {typeof globalThis & { [LOG_RUNNER_KEY]?: { runner: SmithersLogRunner | null } }} */ (
|
|
68
|
-
globalThis
|
|
69
|
-
);
|
|
70
|
-
globalState[LOG_RUNNER_KEY] ??= { runner: null };
|
|
71
|
-
return globalState[LOG_RUNNER_KEY];
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/** @type {SmithersLogRunner} */
|
|
75
|
-
const defaultRunner = {
|
|
76
|
-
runFork: (effect) => Effect.runFork(effect.pipe(Effect.provide(defaultLoggerLayer))),
|
|
77
|
-
runPromise: (effect) => Effect.runPromise(effect.pipe(Effect.provide(defaultLoggerLayer))),
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
/** @returns {SmithersLogRunner} */
|
|
81
|
-
function getLogRunner() {
|
|
82
|
-
return runnerStorage.getStore() ?? getRunnerState().runner ?? defaultRunner;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Scope imperative Smithers logs to one host-owned Effect runner. Unlike
|
|
87
|
-
* {@link setSmithersLogRunner}, this is concurrency-safe: parallel embedded
|
|
88
|
-
* engine instances keep their loggers isolated across awaits and timers.
|
|
89
|
-
*
|
|
90
|
-
* @template T
|
|
91
|
-
* @param {SmithersLogRunner} runner
|
|
92
|
-
* @param {() => T} execute
|
|
93
|
-
* @returns {T}
|
|
94
|
-
*/
|
|
95
|
-
export function runWithSmithersLogRunner(runner, execute) {
|
|
96
|
-
return runnerStorage.run(runner, execute);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Install the Effect runtime used by fire-and-forget observability logs.
|
|
101
|
-
* Returns a restore function so tests and embedded hosts can scope overrides.
|
|
102
|
-
*
|
|
103
|
-
* @param {SmithersLogRunner | null} runner
|
|
104
|
-
* @returns {() => void}
|
|
105
|
-
*/
|
|
106
|
-
export function setSmithersLogRunner(runner) {
|
|
107
|
-
const state = getRunnerState();
|
|
108
|
-
const previous = state.runner;
|
|
109
|
-
state.runner = runner;
|
|
110
|
-
return () => {
|
|
111
|
-
state.runner = previous;
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Map an imperative smithers log level to the Effect log level used when
|
|
117
|
-
* running the log program. Exported alongside {@link resolveMinLevel} so the
|
|
118
|
-
* level mapping (including the catch-all `LogLevel.All` fallback) can be
|
|
119
|
-
* exercised directly with injected level values.
|
|
120
|
-
*
|
|
121
|
-
* @param {number} level
|
|
122
|
-
*/
|
|
123
|
-
export function toEffectLogLevel(level) {
|
|
124
|
-
switch (level) {
|
|
125
|
-
case LOG_LEVEL_DEBUG:
|
|
126
|
-
return "Debug";
|
|
127
|
-
case LOG_LEVEL_INFO:
|
|
128
|
-
return "Info";
|
|
129
|
-
case LOG_LEVEL_WARNING:
|
|
130
|
-
return "Warn";
|
|
131
|
-
case LOG_LEVEL_ERROR:
|
|
132
|
-
return "Error";
|
|
133
|
-
default:
|
|
134
|
-
return "All";
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* @param {Effect.Effect<void, never, never>} effect
|
|
140
|
-
* @param {LogAnnotations} [annotations]
|
|
141
|
-
* @param {string} [span]
|
|
142
|
-
* @returns {Effect.Effect<void, never, never>}
|
|
143
|
-
*/
|
|
144
|
-
function buildLogProgram(effect, annotations, span) {
|
|
145
|
-
const correlationAnnotations = correlationContextToLogAnnotations(getCurrentCorrelationContext());
|
|
146
|
-
const traceAnnotations = getCurrentSmithersTraceAnnotations();
|
|
147
|
-
const mergedAnnotations =
|
|
148
|
-
correlationAnnotations || traceAnnotations || annotations
|
|
149
|
-
? {
|
|
150
|
-
...correlationAnnotations,
|
|
151
|
-
...traceAnnotations,
|
|
152
|
-
...annotations,
|
|
153
|
-
}
|
|
154
|
-
: undefined;
|
|
155
|
-
let program = effect;
|
|
156
|
-
if (mergedAnnotations) {
|
|
157
|
-
program = program.pipe(Effect.annotateLogs(mergedAnnotations));
|
|
158
|
-
}
|
|
159
|
-
if (span) {
|
|
160
|
-
program = program.pipe(Effect.withLogSpan(span));
|
|
161
|
-
}
|
|
162
|
-
return withCurrentCorrelationContext(program);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* @param {Effect.Effect<void, never, never>} effect
|
|
167
|
-
* @param {LogAnnotations} [annotations]
|
|
168
|
-
* @param {string} [span]
|
|
169
|
-
* @param {number} [level]
|
|
170
|
-
*/
|
|
171
|
-
function emitLog(effect, annotations, span, level = LOG_LEVEL_INFO) {
|
|
172
|
-
if (level < minLevel) return;
|
|
173
|
-
const program = buildLogProgram(effect, annotations, span);
|
|
174
|
-
try {
|
|
175
|
-
void getLogRunner().runFork(program);
|
|
176
|
-
} catch {
|
|
177
|
-
// Logging must never break the caller.
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* @param {Effect.Effect<void, never, never>} effect
|
|
183
|
-
* @param {LogAnnotations} [annotations]
|
|
184
|
-
* @param {string} [span]
|
|
185
|
-
* @param {number} [level]
|
|
186
|
-
* @returns {Promise<void>}
|
|
187
|
-
*/
|
|
188
|
-
async function emitLogAwait(effect, annotations, span, level = LOG_LEVEL_INFO) {
|
|
189
|
-
if (level < minLevel) return;
|
|
190
|
-
const program = buildLogProgram(effect, annotations, span);
|
|
191
|
-
try {
|
|
192
|
-
await getLogRunner().runPromise(program);
|
|
193
|
-
} catch {
|
|
194
|
-
// Logging must never break the caller.
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* @param {string} message
|
|
199
|
-
* @param {LogAnnotations} [annotations]
|
|
200
|
-
* @param {string} [span]
|
|
201
|
-
*/
|
|
202
|
-
export function logDebug(message, annotations, span) {
|
|
203
|
-
emitLog(Effect.logDebug(message), annotations, span, LOG_LEVEL_DEBUG);
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* @param {string} message
|
|
207
|
-
* @param {LogAnnotations} [annotations]
|
|
208
|
-
* @param {string} [span]
|
|
209
|
-
*/
|
|
210
|
-
export function logInfo(message, annotations, span) {
|
|
211
|
-
emitLog(Effect.logInfo(message), annotations, span, LOG_LEVEL_INFO);
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* @param {string} message
|
|
215
|
-
* @param {LogAnnotations} [annotations]
|
|
216
|
-
* @param {string} [span]
|
|
217
|
-
*/
|
|
218
|
-
export function logWarning(message, annotations, span) {
|
|
219
|
-
emitLog(Effect.logWarning(message), annotations, span, LOG_LEVEL_WARNING);
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* @param {string} message
|
|
223
|
-
* @param {LogAnnotations} [annotations]
|
|
224
|
-
* @param {string} [span]
|
|
225
|
-
*/
|
|
226
|
-
export function logError(message, annotations, span) {
|
|
227
|
-
emitLog(Effect.logError(message), annotations, span, LOG_LEVEL_ERROR);
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* @param {string} message
|
|
231
|
-
* @param {LogAnnotations} [annotations]
|
|
232
|
-
* @param {string} [span]
|
|
233
|
-
* @returns {Promise<void>}
|
|
234
|
-
*/
|
|
235
|
-
export async function logDebugAwait(message, annotations, span) {
|
|
236
|
-
await emitLogAwait(Effect.logDebug(message), annotations, span, LOG_LEVEL_DEBUG);
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* @param {string} message
|
|
240
|
-
* @param {LogAnnotations} [annotations]
|
|
241
|
-
* @param {string} [span]
|
|
242
|
-
* @returns {Promise<void>}
|
|
243
|
-
*/
|
|
244
|
-
export async function logInfoAwait(message, annotations, span) {
|
|
245
|
-
await emitLogAwait(Effect.logInfo(message), annotations, span, LOG_LEVEL_INFO);
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* @param {string} message
|
|
249
|
-
* @param {LogAnnotations} [annotations]
|
|
250
|
-
* @param {string} [span]
|
|
251
|
-
* @returns {Promise<void>}
|
|
252
|
-
*/
|
|
253
|
-
export async function logWarningAwait(message, annotations, span) {
|
|
254
|
-
await emitLogAwait(Effect.logWarning(message), annotations, span, LOG_LEVEL_WARNING);
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* @param {string} message
|
|
258
|
-
* @param {LogAnnotations} [annotations]
|
|
259
|
-
* @param {string} [span]
|
|
260
|
-
* @returns {Promise<void>}
|
|
261
|
-
*/
|
|
262
|
-
export async function logErrorAwait(message, annotations, span) {
|
|
263
|
-
await emitLogAwait(Effect.logError(message), annotations, span, LOG_LEVEL_ERROR);
|
|
264
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { smithersSpanAttributeAliases } from "./_smithersSpanAttributeAliases.js";
|
|
2
|
-
/**
|
|
3
|
-
* @typedef {Readonly<Record<string, unknown>>} SmithersSpanAttributesInput
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @param {SmithersSpanAttributesInput} [attributes]
|
|
8
|
-
* @returns {Record<string, unknown>}
|
|
9
|
-
*/
|
|
10
|
-
export function makeSmithersSpanAttributes(attributes = {}) {
|
|
11
|
-
const spanAttributes = {};
|
|
12
|
-
for (const [key, value] of Object.entries(attributes)) {
|
|
13
|
-
if (value === undefined) {
|
|
14
|
-
continue;
|
|
15
|
-
}
|
|
16
|
-
const nextKey = key.startsWith("smithers.") ? key : (smithersSpanAttributeAliases[key] ?? key);
|
|
17
|
-
spanAttributes[nextKey] = value;
|
|
18
|
-
}
|
|
19
|
-
return spanAttributes;
|
|
20
|
-
}
|
package/src/metrics/README.md
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# metrics/
|
|
2
|
-
|
|
3
|
-
Every Smithers Effect `Metric` instance, one per file (so consumers can
|
|
4
|
-
subpath-import a single counter without pulling the world), plus the catalog
|
|
5
|
-
(`smithersMetricCatalog.js` and its `ByKey`/`ByName`/`ByPrometheusName` lookup
|
|
6
|
-
maps), shared histogram boundaries (`_buckets.js`), the SmithersEvent → metric
|
|
7
|
-
fan-out (`trackEvent.js`), the process / external-wait gauge updaters, and
|
|
8
|
-
`metricsServiceAdapter.js`, which implements `MetricsServiceShape` on top of
|
|
9
|
-
the global Effect metric registry.
|
|
10
|
-
|
|
11
|
-
How it fits: leaf files define metrics; `smithersMetricCatalog.js` attaches
|
|
12
|
-
names, types, labels, boundaries, and default zero-lines for Prometheus
|
|
13
|
-
rendering; `../renderPrometheusMetrics.js` and `../MetricsServiceLive.js`
|
|
14
|
-
consume the catalog and adapter; `index.js` is the `./metrics` subpath barrel.
|
|
15
|
-
|
|
16
|
-
Gotchas: some metrics exist as files but are NOT in the catalog (`devtools*`,
|
|
17
|
-
`rewind*`, `attentionBacklog`, most `alerts*`, several memory/openApi/scorer
|
|
18
|
-
counters) — they only appear in Prometheus output after their first update and
|
|
19
|
-
get no default HELP line. The catalog in this directory is the single source
|
|
20
|
-
of truth (`../_coreMetrics.js` holds only the `MetricsService` tag).
|
|
21
|
-
Underscore files (`_buckets.js`, `_processStartMs.js`,
|
|
22
|
-
`_asyncExternalWaitCounts.js`) hold module-level mutable/shared state.
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Metric } from "effect";
|
|
2
|
-
import type { SmithersMetricType } from "./SmithersMetricType";
|
|
3
|
-
import type { SmithersMetricUnit } from "./SmithersMetricUnit";
|
|
4
|
-
|
|
5
|
-
export type SmithersMetricDefinition = {
|
|
6
|
-
readonly key: string;
|
|
7
|
-
readonly metric: Metric.Metric<any, any>;
|
|
8
|
-
readonly name: string;
|
|
9
|
-
readonly prometheusName: string;
|
|
10
|
-
readonly type: SmithersMetricType;
|
|
11
|
-
readonly label: string;
|
|
12
|
-
readonly unit?: SmithersMetricUnit;
|
|
13
|
-
readonly description?: string;
|
|
14
|
-
readonly labels?: readonly string[];
|
|
15
|
-
readonly boundaries?: readonly number[];
|
|
16
|
-
readonly defaultLabels?: readonly Readonly<Record<string, string>>[];
|
|
17
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type SmithersMetricType = "counter" | "gauge" | "histogram";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type SmithersMetricUnit = "count" | "milliseconds" | "seconds" | "bytes" | "tokens" | "ratio" | "depth";
|
package/src/metrics/_buckets.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Metric } from "effect";
|
|
2
|
-
export const durationBuckets = Metric.exponentialBoundaries({
|
|
3
|
-
start: 100,
|
|
4
|
-
factor: 2,
|
|
5
|
-
count: 12,
|
|
6
|
-
}); // ~100ms to ~200s
|
|
7
|
-
export const fastBuckets = Metric.exponentialBoundaries({
|
|
8
|
-
start: 1,
|
|
9
|
-
factor: 2,
|
|
10
|
-
count: 12,
|
|
11
|
-
}); // ~1ms to ~2s
|
|
12
|
-
export const toolBuckets = Metric.exponentialBoundaries({
|
|
13
|
-
start: 10,
|
|
14
|
-
factor: 2,
|
|
15
|
-
count: 14,
|
|
16
|
-
}); // ~10ms to ~80s
|
|
17
|
-
export const tokenBuckets = Metric.exponentialBoundaries({
|
|
18
|
-
start: 10,
|
|
19
|
-
factor: 2,
|
|
20
|
-
count: 18,
|
|
21
|
-
}); // ~10 to ~1.3M tokens
|
|
22
|
-
export const contextWindowBuckets = Metric.boundariesFromIterable([50_000, 100_000, 200_000, 500_000, 1_000_000]);
|
|
23
|
-
export const sizeBuckets = Metric.exponentialBoundaries({
|
|
24
|
-
start: 100,
|
|
25
|
-
factor: 2,
|
|
26
|
-
count: 16,
|
|
27
|
-
}); // ~100 bytes to ~3.2MB
|
|
28
|
-
export const carriedStateSizeBuckets = Metric.exponentialBoundaries({
|
|
29
|
-
start: 256,
|
|
30
|
-
factor: 2,
|
|
31
|
-
count: 17,
|
|
32
|
-
}); // ~256 bytes to ~16MB
|
|
33
|
-
export const ancestryDepthBuckets = Metric.exponentialBoundaries({
|
|
34
|
-
start: 1,
|
|
35
|
-
factor: 2,
|
|
36
|
-
count: 12,
|
|
37
|
-
}); // depth 1 to 2048
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Effect, Metric } from "effect";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Apply a delta to an Effect 4 gauge, whose native update operation is absolute.
|
|
5
|
-
*
|
|
6
|
-
* @param {Metric.Gauge<number>} metric
|
|
7
|
-
* @param {number} delta
|
|
8
|
-
*/
|
|
9
|
-
export function incrementGauge(metric, delta) {
|
|
10
|
-
return Metric.value(metric).pipe(Effect.flatMap((state) => Metric.update(metric, Number(state.value) + delta)));
|
|
11
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const processStartMs = Date.now();
|
package/src/metrics/cacheHits.js
DELETED