@smthrs/observability 0.34.0 → 1.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -798
- 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 -1343
- package/src/index.js +0 -136
- package/src/kindPhase.js +0 -17
- package/src/logging.js +0 -248
- 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 -1185
- 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,136 +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").SmithersEvent} SmithersEvent */
|
|
9
|
-
/** @typedef {import("./SmithersLogFormat.ts").SmithersLogFormat} SmithersLogFormat */
|
|
10
|
-
/** @typedef {import("./SmithersMetricDefinition.ts").SmithersMetricDefinition} SmithersMetricDefinition */
|
|
11
|
-
/** @typedef {import("./SmithersObservabilityOptions.ts").SmithersObservabilityOptions} SmithersObservabilityOptions */
|
|
12
|
-
/** @typedef {import("./SmithersObservabilityService.ts").SmithersObservabilityService} SmithersObservabilityService */
|
|
13
|
-
|
|
14
|
-
export { MetricsService } from "./_coreMetrics.js";
|
|
15
|
-
export { TracingService, TracingServiceLive } from "./_coreTracing.js";
|
|
16
|
-
export { SmithersObservability } from "./SmithersObservability.js";
|
|
17
|
-
export { prometheusContentType } from "./prometheusContentType.js";
|
|
18
|
-
export { smithersSpanNames } from "./smithersSpanNames.js";
|
|
19
|
-
export { getCurrentSmithersTraceSpan } from "./getCurrentSmithersTraceSpan.js";
|
|
20
|
-
export { getCurrentSmithersTraceAnnotations } from "./getCurrentSmithersTraceAnnotations.js";
|
|
21
|
-
export { makeSmithersSpanAttributes } from "./makeSmithersSpanAttributes.js";
|
|
22
|
-
export { annotateSmithersTrace } from "./annotateSmithersTrace.js";
|
|
23
|
-
export { withSmithersSpan } from "./withSmithersSpan.js";
|
|
24
|
-
export { renderPrometheusMetrics } from "./renderPrometheusMetrics.js";
|
|
25
|
-
export { resolveSmithersObservabilityOptions } from "./resolveSmithersObservabilityOptions.js";
|
|
26
|
-
export { smithersMetrics } from "./smithersMetrics.js";
|
|
27
|
-
export { MetricsServiceLive } from "./MetricsServiceLive.js";
|
|
28
|
-
export { createSmithersOtelLayer } from "./createSmithersOtelLayer.js";
|
|
29
|
-
export { createSmithersObservabilityLayer } from "./createSmithersObservabilityLayer.js";
|
|
30
|
-
export { createSmithersRuntimeLayer } from "./createSmithersRuntimeLayer.js";
|
|
31
|
-
export {
|
|
32
|
-
rewindTotal,
|
|
33
|
-
rewindRollbackTotal,
|
|
34
|
-
rewindDurationMs,
|
|
35
|
-
rewindFramesDeleted,
|
|
36
|
-
rewindSandboxesReverted,
|
|
37
|
-
} from "./metrics/index.js";
|
|
38
|
-
export {
|
|
39
|
-
activeNodes,
|
|
40
|
-
activeRuns,
|
|
41
|
-
approvalPending,
|
|
42
|
-
externalWaitAsyncPending,
|
|
43
|
-
approvalsDenied,
|
|
44
|
-
approvalsGranted,
|
|
45
|
-
approvalsRequested,
|
|
46
|
-
approvalWaitDuration,
|
|
47
|
-
timerDelayDuration,
|
|
48
|
-
timersCancelled,
|
|
49
|
-
timersCreated,
|
|
50
|
-
timersFired,
|
|
51
|
-
timersPending,
|
|
52
|
-
attemptDuration,
|
|
53
|
-
cacheHits,
|
|
54
|
-
cacheMisses,
|
|
55
|
-
dbQueryDuration,
|
|
56
|
-
dbRetries,
|
|
57
|
-
dbTransactionDuration,
|
|
58
|
-
dbTransactionRetries,
|
|
59
|
-
dbTransactionRollbacks,
|
|
60
|
-
errorsTotal,
|
|
61
|
-
eventsEmittedTotal,
|
|
62
|
-
hotReloadDuration,
|
|
63
|
-
hotReloadFailures,
|
|
64
|
-
hotReloads,
|
|
65
|
-
httpRequestDuration,
|
|
66
|
-
httpRequests,
|
|
67
|
-
nodeDuration,
|
|
68
|
-
nodeRetriesTotal,
|
|
69
|
-
nodesFailed,
|
|
70
|
-
nodesFinished,
|
|
71
|
-
nodesStarted,
|
|
72
|
-
processHeapUsedBytes,
|
|
73
|
-
processMemoryRssBytes,
|
|
74
|
-
processUptimeSeconds,
|
|
75
|
-
promptSizeBytes,
|
|
76
|
-
responseSizeBytes,
|
|
77
|
-
runDuration,
|
|
78
|
-
runsCancelledTotal,
|
|
79
|
-
runsContinuedTotal,
|
|
80
|
-
runsFailedTotal,
|
|
81
|
-
runsFinishedTotal,
|
|
82
|
-
runsResumedTotal,
|
|
83
|
-
runsAncestryDepth,
|
|
84
|
-
runsCarriedStateBytes,
|
|
85
|
-
sandboxActive,
|
|
86
|
-
sandboxBundleSizeBytes,
|
|
87
|
-
sandboxCompletedTotal,
|
|
88
|
-
sandboxCreatedTotal,
|
|
89
|
-
sandboxDurationMs,
|
|
90
|
-
sandboxPatchCount,
|
|
91
|
-
sandboxTransportDurationMs,
|
|
92
|
-
runsTotal,
|
|
93
|
-
schedulerConcurrencyUtilization,
|
|
94
|
-
schedulerQueueDepth,
|
|
95
|
-
schedulerWaitDuration,
|
|
96
|
-
tokensCacheReadTotal,
|
|
97
|
-
tokensCacheWriteTotal,
|
|
98
|
-
tokensContextWindowBucketTotal,
|
|
99
|
-
tokensContextWindowPerCall,
|
|
100
|
-
tokensInputPerCall,
|
|
101
|
-
tokensInputTotal,
|
|
102
|
-
tokensOutputPerCall,
|
|
103
|
-
tokensOutputTotal,
|
|
104
|
-
tokensReasoningTotal,
|
|
105
|
-
toolCallErrorsTotal,
|
|
106
|
-
toolCallsTotal,
|
|
107
|
-
toolDuration,
|
|
108
|
-
toolOutputTruncatedTotal,
|
|
109
|
-
scorerEventsStarted,
|
|
110
|
-
scorerEventsFinished,
|
|
111
|
-
scorerEventsFailed,
|
|
112
|
-
snapshotsCaptured,
|
|
113
|
-
runForksCreated,
|
|
114
|
-
replaysStarted,
|
|
115
|
-
snapshotDuration,
|
|
116
|
-
trackEvent as trackSmithersEvent,
|
|
117
|
-
updateProcessMetrics,
|
|
118
|
-
vcsDuration,
|
|
119
|
-
toPrometheusMetricName,
|
|
120
|
-
smithersMetricCatalog,
|
|
121
|
-
metricsServiceAdapter,
|
|
122
|
-
} from "./metrics/index.js";
|
|
123
|
-
export {
|
|
124
|
-
correlationContextFiberRef,
|
|
125
|
-
correlationContextToLogAnnotations,
|
|
126
|
-
CorrelationContextLive,
|
|
127
|
-
CorrelationContextService,
|
|
128
|
-
getCurrentCorrelationContext,
|
|
129
|
-
getCurrentCorrelationContextEffect,
|
|
130
|
-
mergeCorrelationContext,
|
|
131
|
-
runWithCorrelationContext,
|
|
132
|
-
withCorrelationContext,
|
|
133
|
-
withCurrentCorrelationContext,
|
|
134
|
-
} from "./correlation.js";
|
|
135
|
-
export { updateCurrentCorrelationContext } from "./correlation.js";
|
|
136
|
-
export { logDebug, logInfo, logWarning, logError, 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,248 +0,0 @@
|
|
|
1
|
-
import { Effect, Logger, LogLevel } from "effect";
|
|
2
|
-
import { getCurrentSmithersTraceAnnotations } from "./getCurrentSmithersTraceAnnotations.js";
|
|
3
|
-
import {
|
|
4
|
-
correlationContextToLogAnnotations,
|
|
5
|
-
getCurrentCorrelationContext,
|
|
6
|
-
withCurrentCorrelationContext,
|
|
7
|
-
} from "./correlation.js";
|
|
8
|
-
/**
|
|
9
|
-
* @typedef {Record<string, unknown> | undefined} LogAnnotations
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/** @type {number} */
|
|
13
|
-
const LOG_LEVEL_NONE = 0;
|
|
14
|
-
const LOG_LEVEL_DEBUG = 1;
|
|
15
|
-
const LOG_LEVEL_INFO = 2;
|
|
16
|
-
const LOG_LEVEL_WARNING = 3;
|
|
17
|
-
const LOG_LEVEL_ERROR = 4;
|
|
18
|
-
const LOG_RUNNER_KEY = Symbol.for("smithers.observability.logRunner");
|
|
19
|
-
const defaultLoggerLayer = Logger.layer([Logger.consoleLogFmt]);
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Resolve the minimum imperative log level. The environment value is an
|
|
23
|
-
* injectable parameter (defaulting to `SMITHERS_LOG_LEVEL`) so the mapping is
|
|
24
|
-
* testable without re-importing the module; module state still captures the
|
|
25
|
-
* env-derived value once at load time.
|
|
26
|
-
*
|
|
27
|
-
* @param {string | undefined} [env]
|
|
28
|
-
* @returns {number}
|
|
29
|
-
*/
|
|
30
|
-
export function resolveMinLevel(env = process.env.SMITHERS_LOG_LEVEL?.toLowerCase()) {
|
|
31
|
-
switch (env) {
|
|
32
|
-
case "none":
|
|
33
|
-
return Infinity;
|
|
34
|
-
case "trace":
|
|
35
|
-
case "debug":
|
|
36
|
-
return LOG_LEVEL_DEBUG;
|
|
37
|
-
case "warning":
|
|
38
|
-
case "warn":
|
|
39
|
-
return LOG_LEVEL_WARNING;
|
|
40
|
-
case "error":
|
|
41
|
-
return LOG_LEVEL_ERROR;
|
|
42
|
-
case "fatal":
|
|
43
|
-
return Infinity;
|
|
44
|
-
case "all":
|
|
45
|
-
return LOG_LEVEL_NONE;
|
|
46
|
-
// Default to INFO so INFO/OTLP records flow without SMITHERS_LOG_LEVEL,
|
|
47
|
-
// matching resolveSmithersObservabilityOptions' Effect-layer default.
|
|
48
|
-
case "info":
|
|
49
|
-
default:
|
|
50
|
-
return LOG_LEVEL_INFO;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const minLevel = resolveMinLevel();
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* @typedef {{
|
|
58
|
-
* runFork: (effect: Effect.Effect<void, never, never>) => unknown;
|
|
59
|
-
* runPromise: (effect: Effect.Effect<void, never, never>) => Promise<void>;
|
|
60
|
-
* }} SmithersLogRunner
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
|
-
/** @returns {{ runner: SmithersLogRunner | null }} */
|
|
64
|
-
function getRunnerState() {
|
|
65
|
-
const globalState = /** @type {typeof globalThis & { [LOG_RUNNER_KEY]?: { runner: SmithersLogRunner | null } }} */ (
|
|
66
|
-
globalThis
|
|
67
|
-
);
|
|
68
|
-
globalState[LOG_RUNNER_KEY] ??= { runner: null };
|
|
69
|
-
return globalState[LOG_RUNNER_KEY];
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/** @type {SmithersLogRunner} */
|
|
73
|
-
const defaultRunner = {
|
|
74
|
-
runFork: (effect) => Effect.runFork(effect.pipe(Effect.provide(defaultLoggerLayer))),
|
|
75
|
-
runPromise: (effect) => Effect.runPromise(effect.pipe(Effect.provide(defaultLoggerLayer))),
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
/** @returns {SmithersLogRunner} */
|
|
79
|
-
function getLogRunner() {
|
|
80
|
-
return getRunnerState().runner ?? defaultRunner;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Install the Effect runtime used by fire-and-forget observability logs.
|
|
85
|
-
* Returns a restore function so tests and embedded hosts can scope overrides.
|
|
86
|
-
*
|
|
87
|
-
* @param {SmithersLogRunner | null} runner
|
|
88
|
-
* @returns {() => void}
|
|
89
|
-
*/
|
|
90
|
-
export function setSmithersLogRunner(runner) {
|
|
91
|
-
const state = getRunnerState();
|
|
92
|
-
const previous = state.runner;
|
|
93
|
-
state.runner = runner;
|
|
94
|
-
return () => {
|
|
95
|
-
state.runner = previous;
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Map an imperative smithers log level to the Effect log level used when
|
|
101
|
-
* running the log program. Exported alongside {@link resolveMinLevel} so the
|
|
102
|
-
* level mapping (including the catch-all `LogLevel.All` fallback) can be
|
|
103
|
-
* exercised directly with injected level values.
|
|
104
|
-
*
|
|
105
|
-
* @param {number} level
|
|
106
|
-
*/
|
|
107
|
-
export function toEffectLogLevel(level) {
|
|
108
|
-
switch (level) {
|
|
109
|
-
case LOG_LEVEL_DEBUG:
|
|
110
|
-
return "Debug";
|
|
111
|
-
case LOG_LEVEL_INFO:
|
|
112
|
-
return "Info";
|
|
113
|
-
case LOG_LEVEL_WARNING:
|
|
114
|
-
return "Warn";
|
|
115
|
-
case LOG_LEVEL_ERROR:
|
|
116
|
-
return "Error";
|
|
117
|
-
default:
|
|
118
|
-
return "All";
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* @param {Effect.Effect<void, never, never>} effect
|
|
124
|
-
* @param {LogAnnotations} [annotations]
|
|
125
|
-
* @param {string} [span]
|
|
126
|
-
* @returns {Effect.Effect<void, never, never>}
|
|
127
|
-
*/
|
|
128
|
-
function buildLogProgram(effect, annotations, span) {
|
|
129
|
-
const correlationAnnotations = correlationContextToLogAnnotations(getCurrentCorrelationContext());
|
|
130
|
-
const traceAnnotations = getCurrentSmithersTraceAnnotations();
|
|
131
|
-
const mergedAnnotations =
|
|
132
|
-
correlationAnnotations || traceAnnotations || annotations
|
|
133
|
-
? {
|
|
134
|
-
...correlationAnnotations,
|
|
135
|
-
...traceAnnotations,
|
|
136
|
-
...annotations,
|
|
137
|
-
}
|
|
138
|
-
: undefined;
|
|
139
|
-
let program = effect;
|
|
140
|
-
if (mergedAnnotations) {
|
|
141
|
-
program = program.pipe(Effect.annotateLogs(mergedAnnotations));
|
|
142
|
-
}
|
|
143
|
-
if (span) {
|
|
144
|
-
program = program.pipe(Effect.withLogSpan(span));
|
|
145
|
-
}
|
|
146
|
-
return withCurrentCorrelationContext(program);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* @param {Effect.Effect<void, never, never>} effect
|
|
151
|
-
* @param {LogAnnotations} [annotations]
|
|
152
|
-
* @param {string} [span]
|
|
153
|
-
* @param {number} [level]
|
|
154
|
-
*/
|
|
155
|
-
function emitLog(effect, annotations, span, level = LOG_LEVEL_INFO) {
|
|
156
|
-
if (level < minLevel) return;
|
|
157
|
-
const program = buildLogProgram(effect, annotations, span);
|
|
158
|
-
try {
|
|
159
|
-
void getLogRunner().runFork(program);
|
|
160
|
-
} catch {
|
|
161
|
-
// Logging must never break the caller.
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* @param {Effect.Effect<void, never, never>} effect
|
|
167
|
-
* @param {LogAnnotations} [annotations]
|
|
168
|
-
* @param {string} [span]
|
|
169
|
-
* @param {number} [level]
|
|
170
|
-
* @returns {Promise<void>}
|
|
171
|
-
*/
|
|
172
|
-
async function emitLogAwait(effect, annotations, span, level = LOG_LEVEL_INFO) {
|
|
173
|
-
if (level < minLevel) return;
|
|
174
|
-
const program = buildLogProgram(effect, annotations, span);
|
|
175
|
-
try {
|
|
176
|
-
await getLogRunner().runPromise(program);
|
|
177
|
-
} catch {
|
|
178
|
-
// Logging must never break the caller.
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* @param {string} message
|
|
183
|
-
* @param {LogAnnotations} [annotations]
|
|
184
|
-
* @param {string} [span]
|
|
185
|
-
*/
|
|
186
|
-
export function logDebug(message, annotations, span) {
|
|
187
|
-
emitLog(Effect.logDebug(message), annotations, span, LOG_LEVEL_DEBUG);
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* @param {string} message
|
|
191
|
-
* @param {LogAnnotations} [annotations]
|
|
192
|
-
* @param {string} [span]
|
|
193
|
-
*/
|
|
194
|
-
export function logInfo(message, annotations, span) {
|
|
195
|
-
emitLog(Effect.logInfo(message), annotations, span, LOG_LEVEL_INFO);
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* @param {string} message
|
|
199
|
-
* @param {LogAnnotations} [annotations]
|
|
200
|
-
* @param {string} [span]
|
|
201
|
-
*/
|
|
202
|
-
export function logWarning(message, annotations, span) {
|
|
203
|
-
emitLog(Effect.logWarning(message), annotations, span, LOG_LEVEL_WARNING);
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* @param {string} message
|
|
207
|
-
* @param {LogAnnotations} [annotations]
|
|
208
|
-
* @param {string} [span]
|
|
209
|
-
*/
|
|
210
|
-
export function logError(message, annotations, span) {
|
|
211
|
-
emitLog(Effect.logError(message), annotations, span, LOG_LEVEL_ERROR);
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* @param {string} message
|
|
215
|
-
* @param {LogAnnotations} [annotations]
|
|
216
|
-
* @param {string} [span]
|
|
217
|
-
* @returns {Promise<void>}
|
|
218
|
-
*/
|
|
219
|
-
export async function logDebugAwait(message, annotations, span) {
|
|
220
|
-
await emitLogAwait(Effect.logDebug(message), annotations, span, LOG_LEVEL_DEBUG);
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* @param {string} message
|
|
224
|
-
* @param {LogAnnotations} [annotations]
|
|
225
|
-
* @param {string} [span]
|
|
226
|
-
* @returns {Promise<void>}
|
|
227
|
-
*/
|
|
228
|
-
export async function logInfoAwait(message, annotations, span) {
|
|
229
|
-
await emitLogAwait(Effect.logInfo(message), annotations, span, LOG_LEVEL_INFO);
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* @param {string} message
|
|
233
|
-
* @param {LogAnnotations} [annotations]
|
|
234
|
-
* @param {string} [span]
|
|
235
|
-
* @returns {Promise<void>}
|
|
236
|
-
*/
|
|
237
|
-
export async function logWarningAwait(message, annotations, span) {
|
|
238
|
-
await emitLogAwait(Effect.logWarning(message), annotations, span, LOG_LEVEL_WARNING);
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* @param {string} message
|
|
242
|
-
* @param {LogAnnotations} [annotations]
|
|
243
|
-
* @param {string} [span]
|
|
244
|
-
* @returns {Promise<void>}
|
|
245
|
-
*/
|
|
246
|
-
export async function logErrorAwait(message, annotations, span) {
|
|
247
|
-
await emitLogAwait(Effect.logError(message), annotations, span, LOG_LEVEL_ERROR);
|
|
248
|
-
}
|
|
@@ -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
package/src/metrics/dbRetries.js
DELETED