@smthrs/observability 0.35.0 → 1.0.0-rc.12
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 +87 -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 +415 -0
- package/dist/cjs/JournalLogger.js.map +7 -0
- package/dist/cjs/Logger.d.ts +56 -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 +63 -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 +203 -0
- package/dist/cjs/Otlp.d.ts.map +1 -0
- package/dist/cjs/Otlp.js +251 -0
- package/dist/cjs/Otlp.js.map +7 -0
- package/dist/cjs/Resource.d.ts +163 -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 +520 -0
- package/dist/esm/JournalLogger.js.map +1 -0
- package/dist/esm/Logger.d.ts +56 -0
- package/dist/esm/Logger.d.ts.map +1 -0
- package/dist/esm/Logger.js +61 -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 +63 -0
- package/dist/esm/Otel.d.ts.map +1 -0
- package/dist/esm/Otel.js +52 -0
- package/dist/esm/Otel.js.map +1 -0
- package/dist/esm/Otlp.d.ts +203 -0
- package/dist/esm/Otlp.d.ts.map +1 -0
- package/dist/esm/Otlp.js +384 -0
- package/dist/esm/Otlp.js.map +1 -0
- package/dist/esm/Resource.d.ts +163 -0
- package/dist/esm/Resource.d.ts.map +1 -0
- package/dist/esm/Resource.js +238 -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 +164 -0
- package/docs/api.md +780 -0
- package/docs/concepts/instrumentation-and-export.md +98 -0
- package/docs/concepts/layer-map.md +73 -0
- package/docs/concepts/validated-acquisition.md +106 -0
- package/docs/guides/export-to-a-collector.md +190 -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 +226 -0
- package/docs/installation.md +102 -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 +635 -0
- package/src/Logger.ts +107 -0
- package/src/Metric.ts +88 -0
- package/src/NodeOtel.ts +90 -0
- package/src/Otel.ts +118 -0
- package/src/Otlp.ts +514 -0
- package/src/Resource.ts +325 -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserOtel.d.ts","sourceRoot":"","sources":["../../src/BrowserOtel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAElE,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE3E;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAA;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,CAAA;IACzF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC,GAAG,SAAS,CAAA;IACxG,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAAA;IACtF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACvD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,4BAA4B,CAUlG,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser OpenTelemetry setup with explicitly injected providers/readers.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.1.0
|
|
5
|
+
*/
|
|
6
|
+
import * as WebSdk from "@effect/opentelemetry/WebSdk";
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import * as Layer from "effect/Layer";
|
|
9
|
+
import * as Resource from "./Resource.js";
|
|
10
|
+
/**
|
|
11
|
+
* Builds a scoped browser OpenTelemetry layer. The web SDK owns every
|
|
12
|
+
* processor and reader the factories return and shuts them down on release.
|
|
13
|
+
*
|
|
14
|
+
* @category layers
|
|
15
|
+
* @since 0.1.0
|
|
16
|
+
*/
|
|
17
|
+
export const layerOtel = (options) => Layer.unwrap(Effect.map(Resource.decode(options.resource), (decoded) => WebSdk.layer(() => ({
|
|
18
|
+
resource: Resource.toOpenTelemetryConfiguration(decoded),
|
|
19
|
+
spanProcessor: options.spanProcessor?.(),
|
|
20
|
+
logRecordProcessor: options.logRecordProcessor?.(),
|
|
21
|
+
metricReader: options.metricReader?.(),
|
|
22
|
+
loggerMergeWithExisting: options.loggerMergeWithExisting
|
|
23
|
+
}))));
|
|
24
|
+
//# sourceMappingURL=BrowserOtel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserOtel.js","sourceRoot":"","sources":["../../src/BrowserOtel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,8BAA8B,CAAA;AAItD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAqBzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAgB,EAA6D,EAAE,CACvG,KAAK,CAAC,MAAM,CACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CACxD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC,4BAA4B,CAAC,OAAO,CAAC;IACxD,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE;IACxC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,EAAE;IAClD,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE;IACtC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;CACzD,CAAC,CAAC,CAAC,CACP,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validated collector endpoints for the OTLP exporters.
|
|
3
|
+
*
|
|
4
|
+
* The endpoint is the field an operator most often gets wrong, and a wrong one
|
|
5
|
+
* is invisible: Effect's exporter absorbs export failure by design, so a layer
|
|
6
|
+
* built against `""` or `"localhost:4318"` looks identical to a working one and
|
|
7
|
+
* simply never delivers. Every builder therefore decodes its endpoint during
|
|
8
|
+
* layer acquisition, the same posture `Resource` already takes.
|
|
9
|
+
*
|
|
10
|
+
* @since 1.0.0-rc.0
|
|
11
|
+
*/
|
|
12
|
+
import * as Effect from "effect/Effect";
|
|
13
|
+
import * as Schema from "effect/Schema";
|
|
14
|
+
/**
|
|
15
|
+
* Largest collector endpoint accepted by a builder.
|
|
16
|
+
*
|
|
17
|
+
* @category constants
|
|
18
|
+
* @since 1.0.0-rc.0
|
|
19
|
+
*/
|
|
20
|
+
export declare const maximumEndpointLength = 2048;
|
|
21
|
+
/**
|
|
22
|
+
* Runtime schema for an absolute `http:` or `https:` collector endpoint that
|
|
23
|
+
* carries no credentials, query, fragment, backslashes, spaces, or controls.
|
|
24
|
+
* A base path is allowed; authentication belongs in exporter headers.
|
|
25
|
+
*
|
|
26
|
+
* @category schemas
|
|
27
|
+
* @since 1.0.0-rc.0
|
|
28
|
+
*/
|
|
29
|
+
export declare const Endpoint: Schema.String;
|
|
30
|
+
declare const InvalidExporterEndpoint_base: Schema.Class<InvalidExporterEndpoint, Schema.TaggedStruct<"@smthrs/observability/InvalidExporterEndpoint", {
|
|
31
|
+
readonly code: Schema.Literal<"invalid_exporter_endpoint">;
|
|
32
|
+
readonly path: Schema.String;
|
|
33
|
+
readonly message: Schema.String;
|
|
34
|
+
}>, import("effect/Cause").YieldableError>;
|
|
35
|
+
/**
|
|
36
|
+
* Stable exporter-endpoint refusal shared by every OTLP builder.
|
|
37
|
+
*
|
|
38
|
+
* @category errors
|
|
39
|
+
* @since 1.0.0-rc.0
|
|
40
|
+
*/
|
|
41
|
+
export declare class InvalidExporterEndpoint extends InvalidExporterEndpoint_base {
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Removes the repeated trailing separators that would otherwise produce a
|
|
45
|
+
* double slash in a signal URL.
|
|
46
|
+
*
|
|
47
|
+
* @category conversions
|
|
48
|
+
* @since 1.0.0-rc.0
|
|
49
|
+
*/
|
|
50
|
+
export declare const normalize: (endpoint: string) => string;
|
|
51
|
+
/**
|
|
52
|
+
* Decodes one collector endpoint into its normalized form without retaining
|
|
53
|
+
* the rejected value.
|
|
54
|
+
*
|
|
55
|
+
* `path` names the option the endpoint arrived on, so the refusal points at the
|
|
56
|
+
* caller's own field rather than at a shared internal name.
|
|
57
|
+
*
|
|
58
|
+
* @category decoding
|
|
59
|
+
* @since 1.0.0-rc.0
|
|
60
|
+
*/
|
|
61
|
+
export declare const decode: (endpoint: unknown, path: string) => Effect.Effect<string, InvalidExporterEndpoint>;
|
|
62
|
+
/**
|
|
63
|
+
* Builds the OTLP/HTTP URL one signal is posted to below a decoded endpoint.
|
|
64
|
+
*
|
|
65
|
+
* @category conversions
|
|
66
|
+
* @since 1.0.0-rc.0
|
|
67
|
+
*/
|
|
68
|
+
export declare const signalUrl: (endpoint: string, signal: "traces" | "metrics" | "logs") => string;
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=Endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Endpoint.d.ts","sourceRoot":"","sources":["../../src/Endpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,OAAQ,CAAA;AAuC1C;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,eAGpB,CAAA;;;;;;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,4BAO5C;CAAG;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,KAAG,MAAsC,CAAA;AAEnF;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,GACjB,UAAU,OAAO,EACjB,MAAM,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAW7C,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,QAAQ,QAAQ,GAAG,SAAS,GAAG,MAAM,KAAG,MAC7C,CAAA"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validated collector endpoints for the OTLP exporters.
|
|
3
|
+
*
|
|
4
|
+
* The endpoint is the field an operator most often gets wrong, and a wrong one
|
|
5
|
+
* is invisible: Effect's exporter absorbs export failure by design, so a layer
|
|
6
|
+
* built against `""` or `"localhost:4318"` looks identical to a working one and
|
|
7
|
+
* simply never delivers. Every builder therefore decodes its endpoint during
|
|
8
|
+
* layer acquisition, the same posture `Resource` already takes.
|
|
9
|
+
*
|
|
10
|
+
* @since 1.0.0-rc.0
|
|
11
|
+
*/
|
|
12
|
+
import * as Effect from "effect/Effect";
|
|
13
|
+
import * as Schema from "effect/Schema";
|
|
14
|
+
/**
|
|
15
|
+
* Largest collector endpoint accepted by a builder.
|
|
16
|
+
*
|
|
17
|
+
* @category constants
|
|
18
|
+
* @since 1.0.0-rc.0
|
|
19
|
+
*/
|
|
20
|
+
export const maximumEndpointLength = 2_048;
|
|
21
|
+
/** The largest code unit the WHATWG URL parser repairs away: the space. */
|
|
22
|
+
const largestRepairedCodeUnit = 0x20;
|
|
23
|
+
/**
|
|
24
|
+
* Reports whether the URL parser would repair the value rather than parse it
|
|
25
|
+
* as written. It strips leading and trailing C0 controls and spaces and
|
|
26
|
+
* removes tab, newline, and carriage return from anywhere in its input, and
|
|
27
|
+
* every one of those sits at or below {@link largestRepairedCodeUnit}.
|
|
28
|
+
*/
|
|
29
|
+
const repairedByUrlParser = (value) => {
|
|
30
|
+
for (let index = 0; index < value.length; index++) {
|
|
31
|
+
if (value.charCodeAt(index) <= largestRepairedCodeUnit)
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
return false;
|
|
35
|
+
};
|
|
36
|
+
const isAbsoluteHttpUrl = (value) => {
|
|
37
|
+
// `new URL` alone is not a validator here. It strips padding and inline
|
|
38
|
+
// control characters before parsing, so it reports a copy-pasted
|
|
39
|
+
// `"http://collector:4318\n"` as well formed while the untrimmed original is
|
|
40
|
+
// what a builder would hand its exporter: either an unusable URL or a
|
|
41
|
+
// request to a host nobody typed. No legal collector endpoint carries one of
|
|
42
|
+
// these, so refusing them costs nothing and closes the silent case.
|
|
43
|
+
if (repairedByUrlParser(value))
|
|
44
|
+
return false;
|
|
45
|
+
// Exporters append /v1/<signal> to this base. A query or fragment would
|
|
46
|
+
// swallow that suffix instead of changing the request path. Also refuse
|
|
47
|
+
// missing authority separators and backslashes that WHATWG silently repairs.
|
|
48
|
+
if (!/^https?:\/\/[^/]/i.test(value) || /[?#\\]/.test(value))
|
|
49
|
+
return false;
|
|
50
|
+
let url;
|
|
51
|
+
try {
|
|
52
|
+
url = new URL(value);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return url.username === "" && url.password === "";
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Runtime schema for an absolute `http:` or `https:` collector endpoint that
|
|
61
|
+
* carries no credentials, query, fragment, backslashes, spaces, or controls.
|
|
62
|
+
* A base path is allowed; authentication belongs in exporter headers.
|
|
63
|
+
*
|
|
64
|
+
* @category schemas
|
|
65
|
+
* @since 1.0.0-rc.0
|
|
66
|
+
*/
|
|
67
|
+
export const Endpoint = Schema.String.check(Schema.isMaxLength(maximumEndpointLength), Schema.makeFilter((value) => isAbsoluteHttpUrl(value), { title: "absoluteCollectorEndpoint" }));
|
|
68
|
+
/**
|
|
69
|
+
* Stable exporter-endpoint refusal shared by every OTLP builder.
|
|
70
|
+
*
|
|
71
|
+
* @category errors
|
|
72
|
+
* @since 1.0.0-rc.0
|
|
73
|
+
*/
|
|
74
|
+
export class InvalidExporterEndpoint extends Schema.TaggedError()("@smthrs/observability/InvalidExporterEndpoint", {
|
|
75
|
+
code: Schema.Literal("invalid_exporter_endpoint"),
|
|
76
|
+
path: Schema.String,
|
|
77
|
+
message: Schema.String
|
|
78
|
+
}) {
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Removes the repeated trailing separators that would otherwise produce a
|
|
82
|
+
* double slash in a signal URL.
|
|
83
|
+
*
|
|
84
|
+
* @category conversions
|
|
85
|
+
* @since 1.0.0-rc.0
|
|
86
|
+
*/
|
|
87
|
+
export const normalize = (endpoint) => endpoint.replace(/\/+$/, "");
|
|
88
|
+
/**
|
|
89
|
+
* Decodes one collector endpoint into its normalized form without retaining
|
|
90
|
+
* the rejected value.
|
|
91
|
+
*
|
|
92
|
+
* `path` names the option the endpoint arrived on, so the refusal points at the
|
|
93
|
+
* caller's own field rather than at a shared internal name.
|
|
94
|
+
*
|
|
95
|
+
* @category decoding
|
|
96
|
+
* @since 1.0.0-rc.0
|
|
97
|
+
*/
|
|
98
|
+
export const decode = (endpoint, path) => Schema.decodeUnknownEffect(Endpoint)(endpoint).pipe(Effect.map(normalize), Effect.mapError(() => new InvalidExporterEndpoint({
|
|
99
|
+
code: "invalid_exporter_endpoint",
|
|
100
|
+
path,
|
|
101
|
+
message: `OTLP collector ${path} must be an absolute http:// or https:// base URL without credentials, query, fragment, backslashes, spaces, or control characters`
|
|
102
|
+
})));
|
|
103
|
+
/**
|
|
104
|
+
* Builds the OTLP/HTTP URL one signal is posted to below a decoded endpoint.
|
|
105
|
+
*
|
|
106
|
+
* @category conversions
|
|
107
|
+
* @since 1.0.0-rc.0
|
|
108
|
+
*/
|
|
109
|
+
export const signalUrl = (endpoint, signal) => `${normalize(endpoint)}/v1/${signal}`;
|
|
110
|
+
//# sourceMappingURL=Endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Endpoint.js","sourceRoot":"","sources":["../../src/Endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Non-blocking forwarding of bounded operational logs to the durable journal.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.1.0
|
|
5
|
+
*/
|
|
6
|
+
import * as Journal from "@smthrs/journal/Journal";
|
|
7
|
+
import * as JournalEvent from "@smthrs/journal/JournalEvent";
|
|
8
|
+
import * as Cause from "effect/Cause";
|
|
9
|
+
import * as Layer from "effect/Layer";
|
|
10
|
+
import type * as LogLevel from "effect/LogLevel";
|
|
11
|
+
import * as Schema from "effect/Schema";
|
|
12
|
+
/**
|
|
13
|
+
* Largest queue accepted by the forwarding logger.
|
|
14
|
+
*
|
|
15
|
+
* @category constants
|
|
16
|
+
* @since 1.0.0-rc.0
|
|
17
|
+
*/
|
|
18
|
+
export declare const maximumCapacity = 65536;
|
|
19
|
+
/**
|
|
20
|
+
* Largest detached log payload admitted to the asynchronous queue.
|
|
21
|
+
*
|
|
22
|
+
* @category constants
|
|
23
|
+
* @since 1.0.0-rc.0
|
|
24
|
+
*/
|
|
25
|
+
export declare const maximumSnapshotBytes: number;
|
|
26
|
+
/**
|
|
27
|
+
* Largest number of container members copied into one detached log payload.
|
|
28
|
+
*
|
|
29
|
+
* @category constants
|
|
30
|
+
* @since 1.0.0-rc.0
|
|
31
|
+
*/
|
|
32
|
+
export declare const maximumSnapshotMembers = 4096;
|
|
33
|
+
/**
|
|
34
|
+
* Deepest container path copied into one detached log payload.
|
|
35
|
+
*
|
|
36
|
+
* @category constants
|
|
37
|
+
* @since 1.0.0-rc.0
|
|
38
|
+
*/
|
|
39
|
+
export declare const maximumSnapshotDepth = 64;
|
|
40
|
+
/**
|
|
41
|
+
* What a hostile or unreadable logged value becomes.
|
|
42
|
+
*
|
|
43
|
+
* @category constants
|
|
44
|
+
* @since 1.0.0-rc.0
|
|
45
|
+
*/
|
|
46
|
+
export declare const unrenderableMarker = "[Unrenderable]";
|
|
47
|
+
/**
|
|
48
|
+
* What a value beyond a logger resource ceiling becomes.
|
|
49
|
+
*
|
|
50
|
+
* @category constants
|
|
51
|
+
* @since 1.0.0-rc.0
|
|
52
|
+
*/
|
|
53
|
+
export declare const truncatedMarker = "[Truncated]";
|
|
54
|
+
/**
|
|
55
|
+
* Options for the journal forwarding logger.
|
|
56
|
+
*
|
|
57
|
+
* @category models
|
|
58
|
+
* @since 1.0.0-rc.0
|
|
59
|
+
*/
|
|
60
|
+
export interface Options {
|
|
61
|
+
/** The run every forwarded record is attributed to. */
|
|
62
|
+
readonly runId: JournalEvent.RunId;
|
|
63
|
+
/** Queue depth, 1 through {@link maximumCapacity}. Defaults to 256. */
|
|
64
|
+
readonly capacity?: number | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Pins `References.MinimumLogLevel` for the whole application. Omitted, the
|
|
67
|
+
* layer leaves that reference alone and Effect's own `Info` default applies.
|
|
68
|
+
*/
|
|
69
|
+
readonly minimumLogLevel?: LogLevel.LogLevel | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Keeps the ambient loggers alongside the forwarder. Defaults to `false`,
|
|
72
|
+
* which replaces the ambient logger set.
|
|
73
|
+
*/
|
|
74
|
+
readonly mergeWithExisting?: boolean | undefined;
|
|
75
|
+
}
|
|
76
|
+
declare const InvalidJournalLoggerOptions_base: Schema.Class<InvalidJournalLoggerOptions, Schema.TaggedStruct<"@smthrs/observability/InvalidJournalLoggerOptions", {
|
|
77
|
+
readonly code: Schema.Literal<"invalid_journal_logger_options">;
|
|
78
|
+
readonly path: Schema.String;
|
|
79
|
+
readonly message: Schema.String;
|
|
80
|
+
}>, Cause.YieldableError>;
|
|
81
|
+
/**
|
|
82
|
+
* A stable logger configuration refusal.
|
|
83
|
+
*
|
|
84
|
+
* @category errors
|
|
85
|
+
* @since 1.0.0-rc.0
|
|
86
|
+
*/
|
|
87
|
+
export declare class InvalidJournalLoggerOptions extends InvalidJournalLoggerOptions_base {
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* One typed failure retained from an Effect cause.
|
|
91
|
+
*
|
|
92
|
+
* @category schemas
|
|
93
|
+
* @since 1.0.0-rc.0
|
|
94
|
+
*/
|
|
95
|
+
export declare const TelemetryFail: Schema.Struct<{
|
|
96
|
+
readonly _tag: Schema.Literal<"Fail">;
|
|
97
|
+
readonly error: Schema.Unknown;
|
|
98
|
+
}>;
|
|
99
|
+
/**
|
|
100
|
+
* One unexpected defect retained from an Effect cause.
|
|
101
|
+
*
|
|
102
|
+
* @category schemas
|
|
103
|
+
* @since 1.0.0-rc.0
|
|
104
|
+
*/
|
|
105
|
+
export declare const TelemetryDie: Schema.Struct<{
|
|
106
|
+
readonly _tag: Schema.Literal<"Die">;
|
|
107
|
+
readonly defect: Schema.Unknown;
|
|
108
|
+
}>;
|
|
109
|
+
/**
|
|
110
|
+
* One interruption retained from an Effect cause.
|
|
111
|
+
*
|
|
112
|
+
* @category schemas
|
|
113
|
+
* @since 1.0.0-rc.0
|
|
114
|
+
*/
|
|
115
|
+
export declare const TelemetryInterrupt: Schema.Struct<{
|
|
116
|
+
readonly _tag: Schema.Literal<"Interrupt">;
|
|
117
|
+
readonly fiberId: Schema.NullOr<Schema.Int>;
|
|
118
|
+
}>;
|
|
119
|
+
/**
|
|
120
|
+
* One reason in a persisted telemetry cause.
|
|
121
|
+
*
|
|
122
|
+
* @category schemas
|
|
123
|
+
* @since 1.0.0-rc.0
|
|
124
|
+
*/
|
|
125
|
+
export declare const TelemetryCauseReason: Schema.Union<readonly [Schema.Struct<{
|
|
126
|
+
readonly _tag: Schema.Literal<"Fail">;
|
|
127
|
+
readonly error: Schema.Unknown;
|
|
128
|
+
}>, Schema.Struct<{
|
|
129
|
+
readonly _tag: Schema.Literal<"Die">;
|
|
130
|
+
readonly defect: Schema.Unknown;
|
|
131
|
+
}>, Schema.Struct<{
|
|
132
|
+
readonly _tag: Schema.Literal<"Interrupt">;
|
|
133
|
+
readonly fiberId: Schema.NullOr<Schema.Int>;
|
|
134
|
+
}>]>;
|
|
135
|
+
/**
|
|
136
|
+
* One reason in a persisted telemetry cause.
|
|
137
|
+
*
|
|
138
|
+
* @category models
|
|
139
|
+
* @since 1.0.0-rc.0
|
|
140
|
+
*/
|
|
141
|
+
export type TelemetryCauseReason = typeof TelemetryCauseReason.Type;
|
|
142
|
+
/**
|
|
143
|
+
* A versioned structural Effect cause.
|
|
144
|
+
*
|
|
145
|
+
* Effect 4 stores composed failures as an ordered reason list. The projection
|
|
146
|
+
* preserves that order and each fail, defect, or interrupt discriminator.
|
|
147
|
+
*
|
|
148
|
+
* @category schemas
|
|
149
|
+
* @since 1.0.0-rc.0
|
|
150
|
+
*/
|
|
151
|
+
export declare const TelemetryCause: Schema.Struct<{
|
|
152
|
+
readonly version: Schema.Literal<1>;
|
|
153
|
+
readonly reasons: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
|
|
154
|
+
readonly _tag: Schema.Literal<"Fail">;
|
|
155
|
+
readonly error: Schema.Unknown;
|
|
156
|
+
}>, Schema.Struct<{
|
|
157
|
+
readonly _tag: Schema.Literal<"Die">;
|
|
158
|
+
readonly defect: Schema.Unknown;
|
|
159
|
+
}>, Schema.Struct<{
|
|
160
|
+
readonly _tag: Schema.Literal<"Interrupt">;
|
|
161
|
+
readonly fiberId: Schema.NullOr<Schema.Int>;
|
|
162
|
+
}>]>>;
|
|
163
|
+
}>;
|
|
164
|
+
/**
|
|
165
|
+
* A versioned structural Effect cause.
|
|
166
|
+
*
|
|
167
|
+
* @category models
|
|
168
|
+
* @since 1.0.0-rc.0
|
|
169
|
+
*/
|
|
170
|
+
export type TelemetryCause = typeof TelemetryCause.Type;
|
|
171
|
+
/**
|
|
172
|
+
* Runtime schema for the operational log payload written to the journal.
|
|
173
|
+
*
|
|
174
|
+
* @category schemas
|
|
175
|
+
* @since 1.0.0-rc.0
|
|
176
|
+
*/
|
|
177
|
+
export declare const TelemetryLog: Schema.Struct<{
|
|
178
|
+
readonly version: Schema.Literal<1>;
|
|
179
|
+
readonly level: Schema.Literals<readonly ["All", "Fatal", "Error", "Warn", "Info", "Debug", "Trace", "None"]>;
|
|
180
|
+
readonly message: Schema.Unknown;
|
|
181
|
+
readonly annotations: Schema.$Record<Schema.String, Schema.Unknown>;
|
|
182
|
+
readonly cause: Schema.Struct<{
|
|
183
|
+
readonly version: Schema.Literal<1>;
|
|
184
|
+
readonly reasons: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
|
|
185
|
+
readonly _tag: Schema.Literal<"Fail">;
|
|
186
|
+
readonly error: Schema.Unknown;
|
|
187
|
+
}>, Schema.Struct<{
|
|
188
|
+
readonly _tag: Schema.Literal<"Die">;
|
|
189
|
+
readonly defect: Schema.Unknown;
|
|
190
|
+
}>, Schema.Struct<{
|
|
191
|
+
readonly _tag: Schema.Literal<"Interrupt">;
|
|
192
|
+
readonly fiberId: Schema.NullOr<Schema.Int>;
|
|
193
|
+
}>]>>;
|
|
194
|
+
}>;
|
|
195
|
+
readonly fiberId: Schema.Int;
|
|
196
|
+
readonly traceId: Schema.optionalKey<Schema.String>;
|
|
197
|
+
readonly spanId: Schema.optionalKey<Schema.String>;
|
|
198
|
+
readonly timestamp: Schema.String;
|
|
199
|
+
}>;
|
|
200
|
+
/**
|
|
201
|
+
* Versioned operational log payload written to the journal.
|
|
202
|
+
*
|
|
203
|
+
* @category models
|
|
204
|
+
* @since 1.0.0-rc.0
|
|
205
|
+
*/
|
|
206
|
+
export type TelemetryLog = typeof TelemetryLog.Type;
|
|
207
|
+
/**
|
|
208
|
+
* Installs a bounded, drop-on-overflow logger forwarder for one explicit run.
|
|
209
|
+
*
|
|
210
|
+
* Configuration is decoded before a worker starts. The callback reads the
|
|
211
|
+
* queue's remaining room first, snapshots and redacts a bounded DTO
|
|
212
|
+
* synchronously only when a slot is free, then performs only non-blocking
|
|
213
|
+
* queue admission. A record a saturated queue cannot take is counted and
|
|
214
|
+
* discarded without being snapshotted. Queue overflow, journal `Dropped` receipts, delivery failures,
|
|
215
|
+
* and journal defects each advance `Metric.droppedLogRecords`. The two failure
|
|
216
|
+
* paths also warn through the ambient loggers with a fixed code and run id,
|
|
217
|
+
* and the worker keeps draining. `Accepted` and `Duplicate` do not advance the
|
|
218
|
+
* counter. Admission receipts cannot identify later drop-oldest evictions of
|
|
219
|
+
* these records or report asynchronous persistence failures or shutdown losses.
|
|
220
|
+
* Closing the scope interrupts the worker and may drop records still queued
|
|
221
|
+
* behind an in-flight write without advancing the counter.
|
|
222
|
+
*
|
|
223
|
+
* The layer replaces the ambient logger set unless `mergeWithExisting` is
|
|
224
|
+
* `true`, and provides `MinimumLogLevel` only when `minimumLogLevel` is given,
|
|
225
|
+
* so an application that set that reference elsewhere keeps it.
|
|
226
|
+
*
|
|
227
|
+
* @category layers
|
|
228
|
+
* @since 1.0.0-rc.0
|
|
229
|
+
*/
|
|
230
|
+
export declare const layerJournalForwarding: (options: Options) => Layer.Layer<never, InvalidJournalLoggerOptions, Journal.Journal>;
|
|
231
|
+
export {};
|
|
232
|
+
//# sourceMappingURL=JournalLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JournalLogger.d.ts","sourceRoot":"","sources":["../../src/JournalLogger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAClD,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAA;AAE5D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAKhD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAS,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAAc,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,OAAQ,CAAA;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,mBAAmB,CAAA;AAElD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,gBAAgB,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAA;IAClC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAA;IACxD;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACjD;;;;;;AAED;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,gCAOhD;CAAG;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;EAGxB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;EAGvB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;EAG7B,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;IAAkE,CAAA;AAEnG;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAEnE;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;EAGzB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;EAUvB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AA8UnD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,OAAO,KACf,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,2BAA2B,EAAE,OAAO,CAAC,OAAO,CAsE/D,CAAA"}
|