@livestore/utils 0.0.0
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/dist/.tsbuildinfo.json +1 -0
- package/dist/Deferred.d.ts +10 -0
- package/dist/Deferred.d.ts.map +1 -0
- package/dist/Deferred.js +18 -0
- package/dist/Deferred.js.map +1 -0
- package/dist/NoopTracer.d.ts +9 -0
- package/dist/NoopTracer.d.ts.map +1 -0
- package/dist/NoopTracer.js +54 -0
- package/dist/NoopTracer.js.map +1 -0
- package/dist/base64.d.ts +12 -0
- package/dist/base64.d.ts.map +1 -0
- package/dist/base64.js +114 -0
- package/dist/base64.js.map +1 -0
- package/dist/binary.d.ts +4 -0
- package/dist/binary.d.ts.map +1 -0
- package/dist/binary.js +23 -0
- package/dist/binary.js.map +1 -0
- package/dist/browser.d.ts +3 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +28 -0
- package/dist/browser.js.map +1 -0
- package/dist/effect/Debounce.d.ts +5 -0
- package/dist/effect/Debounce.d.ts.map +1 -0
- package/dist/effect/Debounce.js +33 -0
- package/dist/effect/Debounce.js.map +1 -0
- package/dist/effect/Effect.d.ts +7 -0
- package/dist/effect/Effect.d.ts.map +1 -0
- package/dist/effect/Effect.js +17 -0
- package/dist/effect/Effect.js.map +1 -0
- package/dist/effect/EndableQueue.d.ts +11 -0
- package/dist/effect/EndableQueue.d.ts.map +1 -0
- package/dist/effect/EndableQueue.js +22 -0
- package/dist/effect/EndableQueue.js.map +1 -0
- package/dist/effect/EnvVar.d.ts +16 -0
- package/dist/effect/EnvVar.d.ts.map +1 -0
- package/dist/effect/EnvVar.js +21 -0
- package/dist/effect/EnvVar.js.map +1 -0
- package/dist/effect/Error.d.ts +12 -0
- package/dist/effect/Error.d.ts.map +1 -0
- package/dist/effect/Error.js +13 -0
- package/dist/effect/Error.js.map +1 -0
- package/dist/effect/Gate.d.ts +14 -0
- package/dist/effect/Gate.d.ts.map +1 -0
- package/dist/effect/Gate.js +17 -0
- package/dist/effect/Gate.js.map +1 -0
- package/dist/effect/Layer.d.ts +6 -0
- package/dist/effect/Layer.d.ts.map +1 -0
- package/dist/effect/Layer.js +11 -0
- package/dist/effect/Layer.js.map +1 -0
- package/dist/effect/Otel/Dummy.d.ts +5 -0
- package/dist/effect/Otel/Dummy.d.ts.map +1 -0
- package/dist/effect/Otel/Dummy.js +22 -0
- package/dist/effect/Otel/Dummy.js.map +1 -0
- package/dist/effect/Otel/Meter.d.ts +20 -0
- package/dist/effect/Otel/Meter.d.ts.map +1 -0
- package/dist/effect/Otel/Meter.js +76 -0
- package/dist/effect/Otel/Meter.js.map +1 -0
- package/dist/effect/Otel/OtlpGrpc.d.ts +6 -0
- package/dist/effect/Otel/OtlpGrpc.d.ts.map +1 -0
- package/dist/effect/Otel/OtlpGrpc.js +42 -0
- package/dist/effect/Otel/OtlpGrpc.js.map +1 -0
- package/dist/effect/Otel/OtlpHttp.d.ts +6 -0
- package/dist/effect/Otel/OtlpHttp.d.ts.map +1 -0
- package/dist/effect/Otel/OtlpHttp.js +42 -0
- package/dist/effect/Otel/OtlpHttp.js.map +1 -0
- package/dist/effect/Otel/OtlpWebsocket.d.ts +6 -0
- package/dist/effect/Otel/OtlpWebsocket.d.ts.map +1 -0
- package/dist/effect/Otel/OtlpWebsocket.js +42 -0
- package/dist/effect/Otel/OtlpWebsocket.js.map +1 -0
- package/dist/effect/Otel/Span.d.ts +32 -0
- package/dist/effect/Otel/Span.d.ts.map +1 -0
- package/dist/effect/Otel/Span.js +97 -0
- package/dist/effect/Otel/Span.js.map +1 -0
- package/dist/effect/Otel/Tracer.d.ts +15 -0
- package/dist/effect/Otel/Tracer.d.ts.map +1 -0
- package/dist/effect/Otel/Tracer.js +17 -0
- package/dist/effect/Otel/Tracer.js.map +1 -0
- package/dist/effect/Otel/index.d.ts +8 -0
- package/dist/effect/Otel/index.d.ts.map +1 -0
- package/dist/effect/Otel/index.js +9 -0
- package/dist/effect/Otel/index.js.map +1 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.d.ts +14 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.d.ts.map +1 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.js +15 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.js.map +1 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.d.ts +14 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.d.ts.map +1 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.js +15 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.js.map +1 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.d.ts +19 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.d.ts.map +1 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.js +17 -0
- package/dist/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.js.map +1 -0
- package/dist/effect/Otel/lib-metrics/MetricsProvider.d.ts +10 -0
- package/dist/effect/Otel/lib-metrics/MetricsProvider.d.ts.map +1 -0
- package/dist/effect/Otel/lib-metrics/MetricsProvider.js +4 -0
- package/dist/effect/Otel/lib-metrics/MetricsProvider.js.map +1 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.d.ts +16 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.d.ts.map +1 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.js +39 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.js.map +1 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.d.ts +16 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.d.ts.map +1 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.js +39 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.js.map +1 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.d.ts +16 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.d.ts.map +1 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.js +39 -0
- package/dist/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.js.map +1 -0
- package/dist/effect/Otel/lib-metrics/PeriodicMetricsProvider.d.ts +17 -0
- package/dist/effect/Otel/lib-metrics/PeriodicMetricsProvider.d.ts.map +1 -0
- package/dist/effect/Otel/lib-metrics/PeriodicMetricsProvider.js +27 -0
- package/dist/effect/Otel/lib-metrics/PeriodicMetricsProvider.js.map +1 -0
- package/dist/effect/Otel/lib-tracer/BatchSpanProcessor.d.ts +18 -0
- package/dist/effect/Otel/lib-tracer/BatchSpanProcessor.d.ts.map +1 -0
- package/dist/effect/Otel/lib-tracer/BatchSpanProcessor.js +31 -0
- package/dist/effect/Otel/lib-tracer/BatchSpanProcessor.js.map +1 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.d.ts +19 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.d.ts.map +1 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.js +36 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.js.map +1 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.d.ts +19 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.d.ts.map +1 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.js +36 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.js.map +1 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpWebsocket.d.ts +9 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpWebsocket.d.ts.map +1 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpWebsocket.js +29 -0
- package/dist/effect/Otel/lib-tracer/ExporterTraceOtlpWebsocket.js.map +1 -0
- package/dist/effect/Otel/lib-tracer/SimpleProcessor.d.ts +19 -0
- package/dist/effect/Otel/lib-tracer/SimpleProcessor.d.ts.map +1 -0
- package/dist/effect/Otel/lib-tracer/SimpleProcessor.js +25 -0
- package/dist/effect/Otel/lib-tracer/SimpleProcessor.js.map +1 -0
- package/dist/effect/Otel/lib-tracer/TracerProvider.d.ts +10 -0
- package/dist/effect/Otel/lib-tracer/TracerProvider.d.ts.map +1 -0
- package/dist/effect/Otel/lib-tracer/TracerProvider.js +7 -0
- package/dist/effect/Otel/lib-tracer/TracerProvider.js.map +1 -0
- package/dist/effect/Otel/lib-tracer/WebProvider.d.ts +18 -0
- package/dist/effect/Otel/lib-tracer/WebProvider.d.ts.map +1 -0
- package/dist/effect/Otel/lib-tracer/WebProvider.js +25 -0
- package/dist/effect/Otel/lib-tracer/WebProvider.js.map +1 -0
- package/dist/effect/ReadonlyArray.d.ts +4 -0
- package/dist/effect/ReadonlyArray.d.ts.map +1 -0
- package/dist/effect/ReadonlyArray.js +11 -0
- package/dist/effect/ReadonlyArray.js.map +1 -0
- package/dist/effect/RequestResolver.d.ts +11 -0
- package/dist/effect/RequestResolver.d.ts.map +1 -0
- package/dist/effect/RequestResolver.js +18 -0
- package/dist/effect/RequestResolver.js.map +1 -0
- package/dist/effect/STM.d.ts +3 -0
- package/dist/effect/STM.d.ts.map +1 -0
- package/dist/effect/STM.js +3 -0
- package/dist/effect/STM.js.map +1 -0
- package/dist/effect/Schedule.d.ts +5 -0
- package/dist/effect/Schedule.d.ts.map +1 -0
- package/dist/effect/Schedule.js +7 -0
- package/dist/effect/Schedule.js.map +1 -0
- package/dist/effect/Scheduler.d.ts +49 -0
- package/dist/effect/Scheduler.d.ts.map +1 -0
- package/dist/effect/Scheduler.js +168 -0
- package/dist/effect/Scheduler.js.map +1 -0
- package/dist/effect/Schema/SchemaHash.d.ts +3 -0
- package/dist/effect/Schema/SchemaHash.d.ts.map +1 -0
- package/dist/effect/Schema/SchemaHash.js +15 -0
- package/dist/effect/Schema/SchemaHash.js.map +1 -0
- package/dist/effect/Schema/SchemaHash.test.d.ts +2 -0
- package/dist/effect/Schema/SchemaHash.test.d.ts.map +1 -0
- package/dist/effect/Schema/SchemaHash.test.js +13 -0
- package/dist/effect/Schema/SchemaHash.test.js.map +1 -0
- package/dist/effect/Schema/SchemaJsonWrapper.d.ts +11 -0
- package/dist/effect/Schema/SchemaJsonWrapper.d.ts.map +1 -0
- package/dist/effect/Schema/SchemaJsonWrapper.js +38 -0
- package/dist/effect/Schema/SchemaJsonWrapper.js.map +1 -0
- package/dist/effect/Schema/SchemaJsonWrapper.test.d.ts +2 -0
- package/dist/effect/Schema/SchemaJsonWrapper.test.d.ts.map +1 -0
- package/dist/effect/Schema/SchemaJsonWrapper.test.js +42 -0
- package/dist/effect/Schema/SchemaJsonWrapper.test.js.map +1 -0
- package/dist/effect/Schema/index.d.ts +15 -0
- package/dist/effect/Schema/index.d.ts.map +1 -0
- package/dist/effect/Schema/index.js +14 -0
- package/dist/effect/Schema/index.js.map +1 -0
- package/dist/effect/ServiceContext.d.ts +39 -0
- package/dist/effect/ServiceContext.d.ts.map +1 -0
- package/dist/effect/ServiceContext.js +61 -0
- package/dist/effect/ServiceContext.js.map +1 -0
- package/dist/effect/SmartQueue.d.ts +38 -0
- package/dist/effect/SmartQueue.d.ts.map +1 -0
- package/dist/effect/SmartQueue.js +123 -0
- package/dist/effect/SmartQueue.js.map +1 -0
- package/dist/effect/Stream/chainSwitch.d.ts +3 -0
- package/dist/effect/Stream/chainSwitch.d.ts.map +1 -0
- package/dist/effect/Stream/chainSwitch.js +48 -0
- package/dist/effect/Stream/chainSwitch.js.map +1 -0
- package/dist/effect/Stream/index.d.ts +37 -0
- package/dist/effect/Stream/index.d.ts.map +1 -0
- package/dist/effect/Stream/index.js +82 -0
- package/dist/effect/Stream/index.js.map +1 -0
- package/dist/effect/SubscriptionRef.d.ts +10 -0
- package/dist/effect/SubscriptionRef.d.ts.map +1 -0
- package/dist/effect/SubscriptionRef.js +8 -0
- package/dist/effect/SubscriptionRef.js.map +1 -0
- package/dist/effect/TimeoutGate.d.ts +13 -0
- package/dist/effect/TimeoutGate.d.ts.map +1 -0
- package/dist/effect/TimeoutGate.js +41 -0
- package/dist/effect/TimeoutGate.js.map +1 -0
- package/dist/effect/WebCrypto.d.ts +18 -0
- package/dist/effect/WebCrypto.d.ts.map +1 -0
- package/dist/effect/WebCrypto.js +56 -0
- package/dist/effect/WebCrypto.js.map +1 -0
- package/dist/effect/WebLock.d.ts +5 -0
- package/dist/effect/WebLock.d.ts.map +1 -0
- package/dist/effect/WebLock.js +20 -0
- package/dist/effect/WebLock.js.map +1 -0
- package/dist/effect/browser.d.ts +19 -0
- package/dist/effect/browser.d.ts.map +1 -0
- package/dist/effect/browser.js +82 -0
- package/dist/effect/browser.js.map +1 -0
- package/dist/effect/fetch.d.ts +89 -0
- package/dist/effect/fetch.d.ts.map +1 -0
- package/dist/effect/fetch.js +142 -0
- package/dist/effect/fetch.js.map +1 -0
- package/dist/effect/index.d.ts +50 -0
- package/dist/effect/index.d.ts.map +1 -0
- package/dist/effect/index.js +58 -0
- package/dist/effect/index.js.map +1 -0
- package/dist/global.d.ts +5 -0
- package/dist/global.d.ts.map +1 -0
- package/dist/global.js +2 -0
- package/dist/global.js.map +1 -0
- package/dist/guards.d.ts +6 -0
- package/dist/guards.d.ts.map +1 -0
- package/dist/guards.js +6 -0
- package/dist/guards.js.map +1 -0
- package/dist/index.d.ts +69 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +162 -0
- package/dist/index.js.map +1 -0
- package/dist/object/index.d.ts +10 -0
- package/dist/object/index.d.ts.map +1 -0
- package/dist/object/index.js +10 -0
- package/dist/object/index.js.map +1 -0
- package/dist/object/omit.d.ts +3 -0
- package/dist/object/omit.d.ts.map +1 -0
- package/dist/object/omit.js +14 -0
- package/dist/object/omit.js.map +1 -0
- package/dist/object/pick.d.ts +14 -0
- package/dist/object/pick.d.ts.map +1 -0
- package/dist/object/pick.js +17 -0
- package/dist/object/pick.js.map +1 -0
- package/dist/promise.d.ts +6 -0
- package/dist/promise.d.ts.map +1 -0
- package/dist/promise.js +27 -0
- package/dist/promise.js.map +1 -0
- package/dist/set.d.ts +2 -0
- package/dist/set.d.ts.map +1 -0
- package/dist/set.js +10 -0
- package/dist/set.js.map +1 -0
- package/dist/single-item.d.ts +8 -0
- package/dist/single-item.d.ts.map +1 -0
- package/dist/single-item.js +9 -0
- package/dist/single-item.js.map +1 -0
- package/dist/string.d.ts +3 -0
- package/dist/string.d.ts.map +1 -0
- package/dist/string.js +3 -0
- package/dist/string.js.map +1 -0
- package/dist/time.d.ts +12 -0
- package/dist/time.d.ts.map +1 -0
- package/dist/time.js +22 -0
- package/dist/time.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/json.d.ts +27 -0
- package/dist/types/json.d.ts.map +1 -0
- package/dist/types/json.js +2 -0
- package/dist/types/json.js.map +1 -0
- package/package.json +58 -0
- package/src/Deferred.ts +24 -0
- package/src/NoopTracer.ts +75 -0
- package/src/base64.ts +118 -0
- package/src/browser.ts +32 -0
- package/src/effect/Effect.ts +27 -0
- package/src/effect/Error.ts +12 -0
- package/src/effect/Otel/Dummy.ts +32 -0
- package/src/effect/Otel/Meter.ts +145 -0
- package/src/effect/Otel/OtlpGrpc.ts +75 -0
- package/src/effect/Otel/OtlpHttp.ts +75 -0
- package/src/effect/Otel/OtlpWebsocket.ts +75 -0
- package/src/effect/Otel/Span.ts +222 -0
- package/src/effect/Otel/Tracer.ts +30 -0
- package/src/effect/Otel/index.ts +8 -0
- package/src/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.ts +39 -0
- package/src/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.ts +39 -0
- package/src/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.ts +47 -0
- package/src/effect/Otel/lib-metrics/MetricsProvider.ts +12 -0
- package/src/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.ts +77 -0
- package/src/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.ts +77 -0
- package/src/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.ts +80 -0
- package/src/effect/Otel/lib-metrics/PeriodicMetricsProvider.ts +55 -0
- package/src/effect/Otel/lib-tracer/BatchSpanProcessor.ts +58 -0
- package/src/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.ts +64 -0
- package/src/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.ts +64 -0
- package/src/effect/Otel/lib-tracer/ExporterTraceOtlpWebsocket.ts +38 -0
- package/src/effect/Otel/lib-tracer/README.md +1 -0
- package/src/effect/Otel/lib-tracer/SimpleProcessor.ts +46 -0
- package/src/effect/Otel/lib-tracer/TracerProvider.ts +16 -0
- package/src/effect/Otel/lib-tracer/WebProvider.ts +48 -0
- package/src/effect/Schedule.ts +12 -0
- package/src/effect/ServiceContext.ts +116 -0
- package/src/effect/index.ts +65 -0
- package/src/global.ts +5 -0
- package/src/guards.ts +8 -0
- package/src/index.ts +217 -0
- package/src/object/index.ts +24 -0
- package/src/object/omit.ts +17 -0
- package/src/object/pick.ts +27 -0
- package/src/promise.ts +43 -0
- package/src/set.ts +10 -0
- package/src/string.ts +2 -0
- package/src/time.ts +25 -0
- package/tsconfig.json +13 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExporterMetricsOltpGrpc.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/ExporterMetricsOltpGrpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAG9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAMtE,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CACjD,6BAA6B,CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,MAAkC,EAAE,EAAE,CACtF,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAA;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAEjD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAC7B,IAAI,CACF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,EACjD,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,IAAI,CACF,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EACrC,MAAM,CAAC,KAAK,CACb,CACF,CACF,CACF,CAAA;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Layer from '@effect/io/Layer';
|
|
4
|
+
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
|
|
5
|
+
import type { OTLPExporterNodeConfigBase } from '@opentelemetry/otlp-exporter-base';
|
|
6
|
+
import { PeriodicMetricsProvider } from './PeriodicMetricsProvider.js';
|
|
7
|
+
export interface OTLPMetricExporterConfig {
|
|
8
|
+
readonly _: unique symbol;
|
|
9
|
+
}
|
|
10
|
+
export declare const OTLPMetricExporterConfig: Context.Tag<OTLPMetricExporterConfig, OTLPExporterNodeConfigBase>;
|
|
11
|
+
export declare const makeOTLPMetricExporterConfigLayer: (config: OTLPExporterNodeConfigBase) => Layer.Layer<never, never, OTLPMetricExporterConfig>;
|
|
12
|
+
export declare const makeMetricExporter: Effect.Effect<import("@effect/io/Scope.js").Scope | OTLPMetricExporterConfig, never, OTLPMetricExporter>;
|
|
13
|
+
export declare const LivePeriodicMetricsProvider: Layer.Layer<import("./MetricsProvider.js").MetricsProvider | OTLPMetricExporterConfig, never, PeriodicMetricsProvider>;
|
|
14
|
+
//# sourceMappingURL=ExporterMetricsOltpHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExporterMetricsOltpHttp.d.ts","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAE/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAEnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAED,eAAO,MAAM,wBAAwB,mEAEpC,CAAA;AAED,eAAO,MAAM,iCAAiC,WAAY,0BAA0B,wDACnC,CAAA;AAEjD,eAAO,MAAM,kBAAkB,0GAgB7B,CAAA;AAEF,eAAO,MAAM,2BAA2B,wHAA8C,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import { pipe } from '@effect/data/Function';
|
|
3
|
+
import * as Effect from '@effect/io/Effect';
|
|
4
|
+
import * as Layer from '@effect/io/Layer';
|
|
5
|
+
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
|
|
6
|
+
import { PeriodicMetricsProvider } from './PeriodicMetricsProvider.js';
|
|
7
|
+
export const OTLPMetricExporterConfig = Context.Tag('otel-metric-exporter-config');
|
|
8
|
+
export const makeOTLPMetricExporterConfigLayer = (config) => Layer.succeed(OTLPMetricExporterConfig, config);
|
|
9
|
+
export const makeMetricExporter = Effect.gen(function* (_) {
|
|
10
|
+
const config = yield* _(OTLPMetricExporterConfig);
|
|
11
|
+
const metricExporter = yield* _(pipe(Effect.sync(() => new OTLPMetricExporter(config)), Effect.acquireRelease((p) => pipe(Effect.tryPromise(() => p.shutdown()), Effect.orDie))));
|
|
12
|
+
return metricExporter;
|
|
13
|
+
});
|
|
14
|
+
export const LivePeriodicMetricsProvider = PeriodicMetricsProvider(makeMetricExporter);
|
|
15
|
+
//# sourceMappingURL=ExporterMetricsOltpHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExporterMetricsOltpHttp.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/ExporterMetricsOltpHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAG9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAMtE,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CACjD,6BAA6B,CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,MAAkC,EAAE,EAAE,CACtF,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAA;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAEjD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAC7B,IAAI,CACF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,EACjD,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,IAAI,CACF,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EACrC,MAAM,CAAC,KAAK,CACb,CACF,CACF,CACF,CAAA;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Layer from '@effect/io/Layer';
|
|
4
|
+
import type { OTLPExporterNodeConfigBase } from '@opentelemetry/otlp-exporter-base';
|
|
5
|
+
import { WebsocketMetricExporter } from 'otel-websocket-exporter';
|
|
6
|
+
import { PeriodicMetricsProvider } from './PeriodicMetricsProvider.js';
|
|
7
|
+
export declare const OTLPMetricExporterConfigSymbol: unique symbol;
|
|
8
|
+
type OTLPMetricExporterConfigSymbol = typeof OTLPMetricExporterConfigSymbol;
|
|
9
|
+
export interface OTLPMetricExporterConfig {
|
|
10
|
+
readonly [OTLPMetricExporterConfigSymbol]: OTLPMetricExporterConfigSymbol;
|
|
11
|
+
readonly config: OTLPExporterNodeConfigBase;
|
|
12
|
+
}
|
|
13
|
+
export declare const OTLPMetricExporterConfig: Context.Tag<OTLPMetricExporterConfig, OTLPMetricExporterConfig>;
|
|
14
|
+
export declare const makeOTLPMetricExporterConfigLayer: (config: OTLPExporterNodeConfigBase) => Layer.Layer<never, never, OTLPMetricExporterConfig>;
|
|
15
|
+
export declare const makeOTLPMetricExporterConfigLayerM: <R, E>(configEff: Effect.Effect<R, E, OTLPExporterNodeConfigBase>) => Layer.Layer<R, E, OTLPMetricExporterConfig>;
|
|
16
|
+
export declare const makeMetricExporter: Effect.Effect<import("@effect/io/Scope.js").Scope | OTLPMetricExporterConfig, never, WebsocketMetricExporter>;
|
|
17
|
+
export declare const LivePeriodicMetricsProvider: Layer.Layer<import("./MetricsProvider.js").MetricsProvider | OTLPMetricExporterConfig, never, PeriodicMetricsProvider>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=ExporterMetricsOltpWebsocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExporterMetricsOltpWebsocket.d.ts","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAE/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,eAAO,MAAM,8BAA8B,eAA4C,CAAA;AACvF,KAAK,8BAA8B,GAAG,OAAO,8BAA8B,CAAA;AAE3E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,CAAC,8BAA8B,CAAC,EAAE,8BAA8B,CAAA;IACzE,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAA;CAC5C;AAED,eAAO,MAAM,wBAAwB,iEAAwE,CAAA;AAE7G,eAAO,MAAM,iCAAiC,WAAY,0BAA0B,wDACmC,CAAA;AAEvH,eAAO,MAAM,kCAAkC,mHAO5C,CAAA;AAEH,eAAO,MAAM,kBAAkB,+GAa7B,CAAA;AAEF,eAAO,MAAM,2BAA2B,wHAA8C,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import { pipe } from '@effect/data/Function';
|
|
3
|
+
import * as Effect from '@effect/io/Effect';
|
|
4
|
+
import * as Layer from '@effect/io/Layer';
|
|
5
|
+
import { WebsocketMetricExporter } from 'otel-websocket-exporter';
|
|
6
|
+
import { PeriodicMetricsProvider } from './PeriodicMetricsProvider.js';
|
|
7
|
+
export const OTLPMetricExporterConfigSymbol = Symbol.for('otel-metric-exporter-config');
|
|
8
|
+
export const OTLPMetricExporterConfig = Context.Tag(OTLPMetricExporterConfigSymbol);
|
|
9
|
+
export const makeOTLPMetricExporterConfigLayer = (config) => Layer.succeed(OTLPMetricExporterConfig, { [OTLPMetricExporterConfigSymbol]: OTLPMetricExporterConfigSymbol, config });
|
|
10
|
+
export const makeOTLPMetricExporterConfigLayerM = (configEff) => Layer.effect(OTLPMetricExporterConfig, Effect.map(configEff, (config) => ({ [OTLPMetricExporterConfigSymbol]: OTLPMetricExporterConfigSymbol, config })));
|
|
11
|
+
export const makeMetricExporter = Effect.gen(function* (_) {
|
|
12
|
+
const { config } = yield* _(OTLPMetricExporterConfig);
|
|
13
|
+
const metricExporter = yield* _(Effect.acquireRelease(Effect.succeed(new WebsocketMetricExporter(config)), (p) => pipe(Effect.tryPromise(() => p.shutdown()), Effect.orDie)));
|
|
14
|
+
return metricExporter;
|
|
15
|
+
});
|
|
16
|
+
export const LivePeriodicMetricsProvider = PeriodicMetricsProvider(makeMetricExporter);
|
|
17
|
+
//# sourceMappingURL=ExporterMetricsOltpWebsocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExporterMetricsOltpWebsocket.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/ExporterMetricsOltpWebsocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;AAQvF,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAA2B,8BAA8B,CAAC,CAAA;AAE7G,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,MAAkC,EAAE,EAAE,CACtF,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,8BAA8B,CAAC,EAAE,8BAA8B,EAAE,MAAM,EAAE,CAAC,CAAA;AAEvH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAO,SAA0D,EAAE,EAAE,CACrH,KAAK,CAAC,MAAM,CACV,wBAAwB,EACxB,MAAM,CAAC,GAAG,CACR,SAAS,EACT,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,8BAA8B,CAAC,EAAE,8BAA8B,EAAE,MAAM,EAAE,CAAU,CACpG,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAA;IAErD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAC7B,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/E,IAAI,CACF,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EACrC,MAAM,CAAC,KAAK,CACb,CACF,CACF,CAAA;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import type { MeterProvider } from '@opentelemetry/sdk-metrics';
|
|
3
|
+
export declare const MeterProviderSymbol: unique symbol;
|
|
4
|
+
export type MeterProviderSymbol = typeof MeterProviderSymbol;
|
|
5
|
+
export interface MetricsProvider {
|
|
6
|
+
readonly [MeterProviderSymbol]: MeterProviderSymbol;
|
|
7
|
+
readonly metricsProvider: MeterProvider;
|
|
8
|
+
}
|
|
9
|
+
export declare const MetricsProvider: Context.Tag<MetricsProvider, MetricsProvider>;
|
|
10
|
+
//# sourceMappingURL=MetricsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsProvider.d.ts","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/MetricsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,eAAO,MAAM,mBAAmB,eAA4C,CAAA;AAC5E,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACnD,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAA;CACxC;AAED,eAAO,MAAM,eAAe,+CAAoD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsProvider.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/MetricsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAG/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;AAQ5E,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAkB,mBAAmB,CAAC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Layer from '@effect/io/Layer';
|
|
4
|
+
import type { MeterProviderOptions } from '@opentelemetry/sdk-metrics';
|
|
5
|
+
import { OTLPMetricExporterConfig } from './ExporterMetricsOltpGrpc.js';
|
|
6
|
+
import { MetricsProvider } from './MetricsProvider.js';
|
|
7
|
+
export declare const OTLPMetricsProviderConfigSymbol: unique symbol;
|
|
8
|
+
export interface OTLPMetricsProviderConfig {
|
|
9
|
+
readonly options: MeterProviderOptions;
|
|
10
|
+
}
|
|
11
|
+
export declare const OTLPMetricsProviderConfig: Context.Tag<OTLPMetricsProviderConfig, OTLPMetricsProviderConfig>;
|
|
12
|
+
export declare const LiveOTLPMetricsProviderConfig: (options: MeterProviderOptions) => Layer.Layer<never, never, OTLPMetricsProviderConfig>;
|
|
13
|
+
export declare const makeOTLPMetricsProvider: Effect.Effect<import("@effect/io/Scope.js").Scope | OTLPMetricExporterConfig, never, MetricsProvider>;
|
|
14
|
+
export declare const OTLPMetricsProviderLayer: Layer.Layer<OTLPMetricExporterConfig, never, MetricsProvider>;
|
|
15
|
+
export declare const OTLPMetricsProvider: (config?: MeterProviderOptions) => Layer.Layer<OTLPMetricExporterConfig, never, MetricsProvider>;
|
|
16
|
+
//# sourceMappingURL=OTLPMetricsProviderGrpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OTLPMetricsProviderGrpc.d.ts","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAG/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAGtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAuB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3E,eAAO,MAAM,+BAA+B,eAAsD,CAAA;AAElG,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;CACvC;AAED,eAAO,MAAM,yBAAyB,mEAA0E,CAAA;AAEhH,eAAO,MAAM,6BAA6B,YAAa,oBAAoB,yDACpB,CAAA;AAEvD,eAAO,MAAM,uBAAuB,uGA8ClC,CAAA;AAEF,eAAO,MAAM,wBAAwB,+DAAyD,CAAA;AAE9F,eAAO,MAAM,mBAAmB,YACrB,oBAAoB,KAC5B,WAAW,CAAC,wBAAwB,EAAE,KAAK,EAAE,eAAe,CACqD,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import { identity, pipe } from '@effect/data/Function';
|
|
3
|
+
import * as Option from '@effect/data/Option';
|
|
4
|
+
import * as Effect from '@effect/io/Effect';
|
|
5
|
+
import * as Layer from '@effect/io/Layer';
|
|
6
|
+
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-grpc';
|
|
7
|
+
import { MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
|
|
8
|
+
import { OTLPMetricExporterConfig } from './ExporterMetricsOltpGrpc.js';
|
|
9
|
+
import { MeterProviderSymbol, MetricsProvider } from './MetricsProvider.js';
|
|
10
|
+
export const OTLPMetricsProviderConfigSymbol = Symbol.for('effect-otel/OTLPMetricsProviderConfig');
|
|
11
|
+
export const OTLPMetricsProviderConfig = Context.Tag(OTLPMetricsProviderConfigSymbol);
|
|
12
|
+
export const LiveOTLPMetricsProviderConfig = (options) => Layer.succeed(OTLPMetricsProviderConfig, { options });
|
|
13
|
+
export const makeOTLPMetricsProvider = Effect.gen(function* ($) {
|
|
14
|
+
const ctx = yield* $(Effect.context());
|
|
15
|
+
const options = pipe(Context.getOption(ctx, OTLPMetricsProviderConfig), Option.map((_) => _.options), Option.getOrUndefined);
|
|
16
|
+
const metricsProvider = yield* $(Effect.sync(() => new MeterProvider(options)));
|
|
17
|
+
// TODO remove below
|
|
18
|
+
// const metricsExporter = yield* _(exporter)
|
|
19
|
+
const config = yield* $(OTLPMetricExporterConfig);
|
|
20
|
+
const metricExporter = yield* $(Effect.sync(() => new OTLPMetricExporter(config)),
|
|
21
|
+
// TODO re-enable
|
|
22
|
+
Effect.acquireRelease((_p) => pipe(
|
|
23
|
+
// Effect.tryPromise(() => p.shutdown()),
|
|
24
|
+
Effect.unit, // TODO without this I'm seeing a "`config` of undefined" bug
|
|
25
|
+
Effect.orDie)));
|
|
26
|
+
const metricReader = yield* $(Effect.sync(() => new PeriodicExportingMetricReader({
|
|
27
|
+
exporter: metricExporter,
|
|
28
|
+
exportIntervalMillis: 1000, // TODO make configurable
|
|
29
|
+
})));
|
|
30
|
+
yield* $(Effect.sync(() => metricsProvider.addMetricReader(metricReader)));
|
|
31
|
+
// TODO remove above
|
|
32
|
+
return identity({
|
|
33
|
+
[MeterProviderSymbol]: MeterProviderSymbol,
|
|
34
|
+
metricsProvider,
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
export const OTLPMetricsProviderLayer = Layer.scoped(MetricsProvider, makeOTLPMetricsProvider);
|
|
38
|
+
export const OTLPMetricsProvider = (config) => config ? Layer.provide(LiveOTLPMetricsProviderConfig(config), OTLPMetricsProviderLayer) : OTLPMetricsProviderLayer;
|
|
39
|
+
//# sourceMappingURL=OTLPMetricsProviderGrpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OTLPMetricsProviderGrpc.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/OTLPMetricsProviderGrpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Layer from '@effect/io/Layer';
|
|
4
|
+
import type { MeterProviderOptions } from '@opentelemetry/sdk-metrics';
|
|
5
|
+
import { OTLPMetricExporterConfig } from './ExporterMetricsOltpHttp.js';
|
|
6
|
+
import { MetricsProvider } from './MetricsProvider.js';
|
|
7
|
+
export declare const OTLPMetricsProviderConfigSymbol: unique symbol;
|
|
8
|
+
export interface OTLPMetricsProviderConfig {
|
|
9
|
+
readonly options: MeterProviderOptions;
|
|
10
|
+
}
|
|
11
|
+
export declare const OTLPMetricsProviderConfig: Context.Tag<OTLPMetricsProviderConfig, OTLPMetricsProviderConfig>;
|
|
12
|
+
export declare const LiveOTLPMetricsProviderConfig: (options: MeterProviderOptions) => Layer.Layer<never, never, OTLPMetricsProviderConfig>;
|
|
13
|
+
export declare const makeOTLPMetricsProvider: Effect.Effect<import("@effect/io/Scope.js").Scope | OTLPMetricExporterConfig, never, MetricsProvider>;
|
|
14
|
+
export declare const OTLPMetricsProviderLayer: Layer.Layer<OTLPMetricExporterConfig, never, MetricsProvider>;
|
|
15
|
+
export declare const OTLPMetricsProvider: (config?: MeterProviderOptions) => Layer.Layer<OTLPMetricExporterConfig, never, MetricsProvider>;
|
|
16
|
+
//# sourceMappingURL=OTLPMetricsProviderHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OTLPMetricsProviderHttp.d.ts","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAG/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAGtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAuB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3E,eAAO,MAAM,+BAA+B,eAAsD,CAAA;AAElG,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;CACvC;AAED,eAAO,MAAM,yBAAyB,mEAA0E,CAAA;AAEhH,eAAO,MAAM,6BAA6B,YAAa,oBAAoB,yDACpB,CAAA;AAEvD,eAAO,MAAM,uBAAuB,uGA8ClC,CAAA;AAEF,eAAO,MAAM,wBAAwB,+DAAyD,CAAA;AAE9F,eAAO,MAAM,mBAAmB,YACrB,oBAAoB,KAC5B,WAAW,CAAC,wBAAwB,EAAE,KAAK,EAAE,eAAe,CACqD,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import { identity, pipe } from '@effect/data/Function';
|
|
3
|
+
import * as Option from '@effect/data/Option';
|
|
4
|
+
import * as Effect from '@effect/io/Effect';
|
|
5
|
+
import * as Layer from '@effect/io/Layer';
|
|
6
|
+
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
|
|
7
|
+
import { MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
|
|
8
|
+
import { OTLPMetricExporterConfig } from './ExporterMetricsOltpHttp.js';
|
|
9
|
+
import { MeterProviderSymbol, MetricsProvider } from './MetricsProvider.js';
|
|
10
|
+
export const OTLPMetricsProviderConfigSymbol = Symbol.for('effect-otel/OTLPMetricsProviderConfig');
|
|
11
|
+
export const OTLPMetricsProviderConfig = Context.Tag(OTLPMetricsProviderConfigSymbol);
|
|
12
|
+
export const LiveOTLPMetricsProviderConfig = (options) => Layer.succeed(OTLPMetricsProviderConfig, { options });
|
|
13
|
+
export const makeOTLPMetricsProvider = Effect.gen(function* ($) {
|
|
14
|
+
const ctx = yield* $(Effect.context());
|
|
15
|
+
const options = pipe(Context.getOption(ctx, OTLPMetricsProviderConfig), Option.map((_) => _.options), Option.getOrUndefined);
|
|
16
|
+
const metricsProvider = yield* $(Effect.sync(() => new MeterProvider(options)));
|
|
17
|
+
// TODO remove below
|
|
18
|
+
// const metricsExporter = yield* _(exporter)
|
|
19
|
+
const config = yield* $(OTLPMetricExporterConfig);
|
|
20
|
+
const metricExporter = yield* $(Effect.sync(() => new OTLPMetricExporter(config)),
|
|
21
|
+
// TODO re-enable
|
|
22
|
+
Effect.acquireRelease((_p) => pipe(
|
|
23
|
+
// Effect.tryPromise(() => p.shutdown()),
|
|
24
|
+
Effect.unit, // TODO without this I'm seeing a "`config` of undefined" bug
|
|
25
|
+
Effect.orDie)));
|
|
26
|
+
const metricReader = yield* $(Effect.sync(() => new PeriodicExportingMetricReader({
|
|
27
|
+
exporter: metricExporter,
|
|
28
|
+
exportIntervalMillis: 1000, // TODO make configurable
|
|
29
|
+
})));
|
|
30
|
+
yield* $(Effect.sync(() => metricsProvider.addMetricReader(metricReader)));
|
|
31
|
+
// TODO remove above
|
|
32
|
+
return identity({
|
|
33
|
+
[MeterProviderSymbol]: MeterProviderSymbol,
|
|
34
|
+
metricsProvider,
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
export const OTLPMetricsProviderLayer = Layer.scoped(MetricsProvider, makeOTLPMetricsProvider);
|
|
38
|
+
export const OTLPMetricsProvider = (config) => config ? Layer.provide(LiveOTLPMetricsProviderConfig(config), OTLPMetricsProviderLayer) : OTLPMetricsProviderLayer;
|
|
39
|
+
//# sourceMappingURL=OTLPMetricsProviderHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OTLPMetricsProviderHttp.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/OTLPMetricsProviderHttp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Layer from '@effect/io/Layer';
|
|
4
|
+
import type { MeterProviderOptions } from '@opentelemetry/sdk-metrics';
|
|
5
|
+
import { OTLPMetricExporterConfig } from './ExporterMetricsOltpWebsocket.js';
|
|
6
|
+
import { MetricsProvider } from './MetricsProvider.js';
|
|
7
|
+
export declare const OTLPMetricsProviderConfigSymbol: unique symbol;
|
|
8
|
+
export interface OTLPMetricsProviderConfig {
|
|
9
|
+
readonly options: MeterProviderOptions;
|
|
10
|
+
}
|
|
11
|
+
export declare const OTLPMetricsProviderConfig: Context.Tag<OTLPMetricsProviderConfig, OTLPMetricsProviderConfig>;
|
|
12
|
+
export declare const LiveOTLPMetricsProviderConfig: (options: MeterProviderOptions) => Layer.Layer<never, never, OTLPMetricsProviderConfig>;
|
|
13
|
+
export declare const makeOTLPMetricsProvider: Effect.Effect<import("@effect/io/Scope.js").Scope | OTLPMetricExporterConfig, never, MetricsProvider>;
|
|
14
|
+
export declare const OTLPMetricsProviderLayer: Layer.Layer<OTLPMetricExporterConfig, never, MetricsProvider>;
|
|
15
|
+
export declare const OTLPMetricsProvider: (config?: MeterProviderOptions) => Layer.Layer<OTLPMetricExporterConfig, never, MetricsProvider>;
|
|
16
|
+
//# sourceMappingURL=OTLPMetricsProviderWebsocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OTLPMetricsProviderWebsocket.d.ts","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAG/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAItE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,EAAuB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3E,eAAO,MAAM,+BAA+B,eAAsD,CAAA;AAElG,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;CACvC;AAED,eAAO,MAAM,yBAAyB,mEAA0E,CAAA;AAEhH,eAAO,MAAM,6BAA6B,YAAa,oBAAoB,yDACpB,CAAA;AAEvD,eAAO,MAAM,uBAAuB,uGAgDlC,CAAA;AAEF,eAAO,MAAM,wBAAwB,+DAAyD,CAAA;AAE9F,eAAO,MAAM,mBAAmB,YACrB,oBAAoB,KAC5B,WAAW,CAAC,wBAAwB,EAAE,KAAK,EAAE,eAAe,CACqD,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import { identity, pipe } from '@effect/data/Function';
|
|
3
|
+
import * as Option from '@effect/data/Option';
|
|
4
|
+
import * as Effect from '@effect/io/Effect';
|
|
5
|
+
import * as Layer from '@effect/io/Layer';
|
|
6
|
+
import { MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
|
|
7
|
+
import { WebsocketMetricExporter } from 'otel-websocket-exporter';
|
|
8
|
+
import { OTLPMetricExporterConfig } from './ExporterMetricsOltpWebsocket.js';
|
|
9
|
+
import { MeterProviderSymbol, MetricsProvider } from './MetricsProvider.js';
|
|
10
|
+
export const OTLPMetricsProviderConfigSymbol = Symbol.for('effect-otel/OTLPMetricsProviderConfig');
|
|
11
|
+
export const OTLPMetricsProviderConfig = Context.Tag(OTLPMetricsProviderConfigSymbol);
|
|
12
|
+
export const LiveOTLPMetricsProviderConfig = (options) => Layer.succeed(OTLPMetricsProviderConfig, { options });
|
|
13
|
+
export const makeOTLPMetricsProvider = Effect.gen(function* ($) {
|
|
14
|
+
const ctx = yield* $(Effect.context());
|
|
15
|
+
const options = pipe(Context.getOption(ctx, OTLPMetricsProviderConfig), Option.map((_) => _.options), Option.getOrUndefined);
|
|
16
|
+
const metricsProvider = yield* $(Effect.sync(() => new MeterProvider(options)));
|
|
17
|
+
// TODO remove below
|
|
18
|
+
// const metricsExporter = yield* _(exporter)
|
|
19
|
+
const { config } = yield* $(OTLPMetricExporterConfig);
|
|
20
|
+
const metricExporter = yield* $(pipe(Effect.sync(() => new WebsocketMetricExporter(config)),
|
|
21
|
+
// TODO re-enable
|
|
22
|
+
Effect.acquireRelease((_p) => pipe(
|
|
23
|
+
// Effect.tryPromise(() => p.shutdown()),
|
|
24
|
+
Effect.unit, // TODO without this I'm seeing a "`config` of undefined" bug
|
|
25
|
+
Effect.orDie))));
|
|
26
|
+
const metricReader = yield* $(Effect.sync(() => new PeriodicExportingMetricReader({
|
|
27
|
+
exporter: metricExporter,
|
|
28
|
+
exportIntervalMillis: 1000, // TODO make configurable
|
|
29
|
+
})));
|
|
30
|
+
yield* $(Effect.sync(() => metricsProvider.addMetricReader(metricReader)));
|
|
31
|
+
// TODO remove above
|
|
32
|
+
return identity({
|
|
33
|
+
[MeterProviderSymbol]: MeterProviderSymbol,
|
|
34
|
+
metricsProvider,
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
export const OTLPMetricsProviderLayer = Layer.scoped(MetricsProvider, makeOTLPMetricsProvider);
|
|
38
|
+
export const OTLPMetricsProvider = (config) => config ? Layer.provide(LiveOTLPMetricsProviderConfig(config), OTLPMetricsProviderLayer) : OTLPMetricsProviderLayer;
|
|
39
|
+
//# sourceMappingURL=OTLPMetricsProviderWebsocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OTLPMetricsProviderWebsocket.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/OTLPMetricsProviderWebsocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Layer from '@effect/io/Layer';
|
|
4
|
+
import type * as Scope from '@effect/io/Scope';
|
|
5
|
+
import type { MetricReader, PushMetricExporter } from '@opentelemetry/sdk-metrics';
|
|
6
|
+
import { MetricsProvider } from './MetricsProvider.js';
|
|
7
|
+
export declare const PeriodicMetricsProviderSymbol: unique symbol;
|
|
8
|
+
export type PeriodicMetricsProviderSymbol = typeof PeriodicMetricsProviderSymbol;
|
|
9
|
+
export interface PeriodicMetricsProvider {
|
|
10
|
+
readonly [PeriodicMetricsProviderSymbol]: PeriodicMetricsProviderSymbol;
|
|
11
|
+
readonly metricsExporter: PushMetricExporter;
|
|
12
|
+
readonly metricReader: MetricReader;
|
|
13
|
+
}
|
|
14
|
+
export declare const makePeriodicMetricsProvider: <R, E, A extends PushMetricExporter>(exporter: Effect.Effect<Scope.Scope | R, E, A>) => Effect.Effect<Scope.Scope | MetricsProvider | R, E, PeriodicMetricsProvider>;
|
|
15
|
+
export declare const PeriodicMetricsProviderTag: Context.Tag<PeriodicMetricsProvider, PeriodicMetricsProvider>;
|
|
16
|
+
export declare const PeriodicMetricsProvider: <R, E, A extends PushMetricExporter>(exporter: Effect.Effect<Scope.Scope | R, E, A>) => Layer.Layer<MetricsProvider | Exclude<R, Scope.Scope>, E, PeriodicMetricsProvider>;
|
|
17
|
+
//# sourceMappingURL=PeriodicMetricsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PeriodicMetricsProvider.d.ts","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/PeriodicMetricsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAE/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGlF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAMtD,eAAO,MAAM,6BAA6B,eAAoD,CAAA;AAC9F,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,EAAE,6BAA6B,CAAA;IACvE,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAA;IAC5C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;CACpC;AAED,eAAO,MAAM,2BAA2B,sKAyBpC,CAAA;AAEJ,eAAO,MAAM,0BAA0B,+DAAsE,CAAA;AAE7G,eAAO,MAAM,uBAAuB,4KAEgD,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import { identity } from '@effect/data/Function';
|
|
3
|
+
import * as Effect from '@effect/io/Effect';
|
|
4
|
+
import * as Layer from '@effect/io/Layer';
|
|
5
|
+
import { PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
|
|
6
|
+
import { MetricsProvider } from './MetricsProvider.js';
|
|
7
|
+
//
|
|
8
|
+
// Span Processor
|
|
9
|
+
//
|
|
10
|
+
export const PeriodicMetricsProviderSymbol = Symbol.for('effect-otel/PeriodicMetricsProvider');
|
|
11
|
+
export const makePeriodicMetricsProvider = (exporter) => Effect.gen(function* ($) {
|
|
12
|
+
const { metricsProvider } = yield* $(MetricsProvider);
|
|
13
|
+
const metricsExporter = yield* $(exporter);
|
|
14
|
+
const metricReader = yield* $(Effect.sync(() => new PeriodicExportingMetricReader({
|
|
15
|
+
exporter: metricsExporter,
|
|
16
|
+
exportIntervalMillis: 1000, // TODO make configurable
|
|
17
|
+
})));
|
|
18
|
+
yield* $(Effect.sync(() => metricsProvider.addMetricReader(metricReader)));
|
|
19
|
+
return identity({
|
|
20
|
+
[PeriodicMetricsProviderSymbol]: PeriodicMetricsProviderSymbol,
|
|
21
|
+
metricsExporter,
|
|
22
|
+
metricReader,
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
export const PeriodicMetricsProviderTag = Context.Tag(PeriodicMetricsProviderSymbol);
|
|
26
|
+
export const PeriodicMetricsProvider = (exporter) => Layer.scoped(PeriodicMetricsProviderTag, makePeriodicMetricsProvider(exporter));
|
|
27
|
+
//# sourceMappingURL=PeriodicMetricsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PeriodicMetricsProvider.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-metrics/PeriodicMetricsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAGzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,EAAE;AACF,iBAAiB;AACjB,EAAE;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAS9F,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,QAA8C,EAC9C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrB,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAErD,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAE1C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAC3B,MAAM,CAAC,IAAI,CACT,GAAG,EAAE,CACH,IAAI,6BAA6B,CAAC;QAChC,QAAQ,EAAE,eAAe;QACzB,oBAAoB,EAAE,IAAI,EAAE,yBAAyB;KACtD,CAAC,CACL,CACF,CAAA;IAED,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAE1E,OAAO,QAAQ,CAA0B;QACvC,CAAC,6BAA6B,CAAC,EAAE,6BAA6B;QAC9D,eAAe;QACf,YAAY;KACb,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAA0B,6BAA6B,CAAC,CAAA;AAE7G,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAA8C,EAC9C,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Layer from '@effect/io/Layer';
|
|
4
|
+
import type * as Scope from '@effect/io/Scope';
|
|
5
|
+
import type { SpanExporter } from '@opentelemetry/sdk-trace-base';
|
|
6
|
+
import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
7
|
+
import { TracerProvider } from './TracerProvider.js';
|
|
8
|
+
export declare const BatchProcessorSymbol: unique symbol;
|
|
9
|
+
export type BatchProcessorSymbol = typeof BatchProcessorSymbol;
|
|
10
|
+
export interface BatchProcessor {
|
|
11
|
+
readonly [BatchProcessorSymbol]: BatchProcessorSymbol;
|
|
12
|
+
readonly spanExporter: SpanExporter;
|
|
13
|
+
readonly spanProcessor: BatchSpanProcessor;
|
|
14
|
+
}
|
|
15
|
+
export declare const makeBatchProcessor: <R, E, A extends SpanExporter>(exporter: Effect.Effect<Scope.Scope | R, E, A>) => Effect.Effect<Scope.Scope | TracerProvider | R, E, BatchProcessor>;
|
|
16
|
+
export declare const BatchProcessorTag: Context.Tag<BatchProcessor, BatchProcessor>;
|
|
17
|
+
export declare const BatchProcessor: <R, E, A extends SpanExporter>(exporter: Effect.Effect<Scope.Scope | R, E, A>) => Layer.Layer<TracerProvider | Exclude<R, Scope.Scope>, E, BatchProcessor>;
|
|
18
|
+
//# sourceMappingURL=BatchSpanProcessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BatchSpanProcessor.d.ts","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-tracer/BatchSpanProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAE/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAMpD,eAAO,MAAM,oBAAoB,eAA2C,CAAA;AAC5E,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IACrD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAA;CAC3C;AAED,eAAO,MAAM,kBAAkB,sJA6B3B,CAAA;AAEJ,eAAO,MAAM,iBAAiB,6CAAoD,CAAA;AAElF,eAAO,MAAM,cAAc,4JACoC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import { identity } from '@effect/data/Function';
|
|
3
|
+
import * as Effect from '@effect/io/Effect';
|
|
4
|
+
import * as Layer from '@effect/io/Layer';
|
|
5
|
+
import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
6
|
+
import { TracerProvider } from './TracerProvider.js';
|
|
7
|
+
//
|
|
8
|
+
// Span Processor
|
|
9
|
+
//
|
|
10
|
+
export const BatchProcessorSymbol = Symbol.for('effect-otel/BatchProcessor');
|
|
11
|
+
export const makeBatchProcessor = (exporter) => Effect.gen(function* ($) {
|
|
12
|
+
const { tracerProvider } = yield* $(TracerProvider);
|
|
13
|
+
const spanExporter = yield* $(exporter);
|
|
14
|
+
const spanProcessor = yield* $(Effect.sync(() => new BatchSpanProcessor(spanExporter,
|
|
15
|
+
// TODO make this configurable
|
|
16
|
+
{
|
|
17
|
+
scheduledDelayMillis: 500,
|
|
18
|
+
maxExportBatchSize: 1000,
|
|
19
|
+
maxQueueSize: 10000000,
|
|
20
|
+
exportTimeoutMillis: 1000 * 60 * 3, // 3 minutes
|
|
21
|
+
})));
|
|
22
|
+
yield* $(Effect.sync(() => tracerProvider.addSpanProcessor(spanProcessor)));
|
|
23
|
+
return identity({
|
|
24
|
+
[BatchProcessorSymbol]: BatchProcessorSymbol,
|
|
25
|
+
spanExporter,
|
|
26
|
+
spanProcessor,
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
export const BatchProcessorTag = Context.Tag(BatchProcessorSymbol);
|
|
30
|
+
export const BatchProcessor = (exporter) => Layer.scoped(BatchProcessorTag, makeBatchProcessor(exporter));
|
|
31
|
+
//# sourceMappingURL=BatchSpanProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BatchSpanProcessor.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-tracer/BatchSpanProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,EAAE;AACF,iBAAiB;AACjB,EAAE;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAS5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAA+B,QAA8C,EAAE,EAAE,CACjH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrB,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAEnD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAEvC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAC5B,MAAM,CAAC,IAAI,CACT,GAAG,EAAE,CACH,IAAI,kBAAkB,CACpB,YAAY;IACZ,8BAA8B;IAC9B;QACE,oBAAoB,EAAE,GAAG;QACzB,kBAAkB,EAAE,IAAI;QACxB,YAAY,EAAE,QAAU;QACxB,mBAAmB,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,YAAY;KACjD,CACF,CACJ,CACF,CAAA;IAED,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IAE3E,OAAO,QAAQ,CAAiB;QAC9B,CAAC,oBAAoB,CAAC,EAAE,oBAAoB;QAC5C,YAAY;QACZ,aAAa;KACd,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAiB,oBAAoB,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,cAAc,GAAG,CAA+B,QAA8C,EAAE,EAAE,CAC7G,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Layer from '@effect/io/Layer';
|
|
4
|
+
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';
|
|
5
|
+
import type { OTLPExporterNodeConfigBase } from '@opentelemetry/otlp-exporter-base';
|
|
6
|
+
import { SimpleProcessor } from './SimpleProcessor.js';
|
|
7
|
+
export declare const OTLPTraceExporterConfigSymbol: unique symbol;
|
|
8
|
+
type OTLPTraceExporterConfigSymbol = typeof OTLPTraceExporterConfigSymbol;
|
|
9
|
+
export interface OTLPTraceExporterConfig {
|
|
10
|
+
readonly [OTLPTraceExporterConfigSymbol]: OTLPTraceExporterConfigSymbol;
|
|
11
|
+
readonly config: OTLPExporterNodeConfigBase;
|
|
12
|
+
}
|
|
13
|
+
export declare const OTLPTraceExporterConfig: Context.Tag<OTLPTraceExporterConfig, OTLPTraceExporterConfig>;
|
|
14
|
+
export declare const makeOTLPTraceExporterConfigLayer: (config: OTLPExporterNodeConfigBase) => Layer.Layer<never, never, OTLPTraceExporterConfig>;
|
|
15
|
+
export declare const makeOTLPTraceExporterConfigLayerM: <R, E>(configEff: Effect.Effect<R, E, OTLPExporterNodeConfigBase>) => Layer.Layer<R, E, OTLPTraceExporterConfig>;
|
|
16
|
+
export declare const makeTracingSpanExporter: Effect.Effect<import("@effect/io/Scope.js").Scope | OTLPTraceExporterConfig, never, OTLPTraceExporter>;
|
|
17
|
+
export declare const LiveSimpleProcessor: Layer.Layer<import("./TracerProvider.js").TracerProvider | OTLPTraceExporterConfig, never, SimpleProcessor>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=ExporterTraceOtlpGrpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExporterTraceOtlpGrpc.d.ts","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAG/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAEnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,eAAO,MAAM,6BAA6B,eAAoD,CAAA;AAC9F,KAAK,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEzE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,EAAE,6BAA6B,CAAA;IACvE,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAA;CAC5C;AAED,eAAO,MAAM,uBAAuB,+DAAsE,CAAA;AAE1G,eAAO,MAAM,gCAAgC,WAAY,0BAA0B,uDACiC,CAAA;AAEpH,eAAO,MAAM,iCAAiC,kHAO3C,CAAA;AACH,eAAO,MAAM,uBAAuB,wGA6BlC,CAAA;AAEF,eAAO,MAAM,mBAAmB,6GAA2C,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Duration from '@effect/data/Duration';
|
|
3
|
+
import { pipe } from '@effect/data/Function';
|
|
4
|
+
import * as Effect from '@effect/io/Effect';
|
|
5
|
+
import * as Layer from '@effect/io/Layer';
|
|
6
|
+
import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api';
|
|
7
|
+
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';
|
|
8
|
+
import { SimpleProcessor } from './SimpleProcessor.js';
|
|
9
|
+
export const OTLPTraceExporterConfigSymbol = Symbol.for('effect-otel/OTLPTraceExporterConfig');
|
|
10
|
+
export const OTLPTraceExporterConfig = Context.Tag(OTLPTraceExporterConfigSymbol);
|
|
11
|
+
export const makeOTLPTraceExporterConfigLayer = (config) => Layer.succeed(OTLPTraceExporterConfig, { [OTLPTraceExporterConfigSymbol]: OTLPTraceExporterConfigSymbol, config });
|
|
12
|
+
export const makeOTLPTraceExporterConfigLayerM = (configEff) => Layer.effect(OTLPTraceExporterConfig, Effect.map(configEff, (config) => ({ [OTLPTraceExporterConfigSymbol]: OTLPTraceExporterConfigSymbol, config })));
|
|
13
|
+
export const makeTracingSpanExporter = Effect.gen(function* ($) {
|
|
14
|
+
const { config } = yield* $(OTLPTraceExporterConfig);
|
|
15
|
+
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.ERROR);
|
|
16
|
+
const spanExporter = yield* $(pipe(Effect.sync(() => new OTLPTraceExporter(config)),
|
|
17
|
+
// NOTE Unfortunately this workaround/"hack" is currently needed since Otel doesn't yet provide a graceful
|
|
18
|
+
// way to shutdown.
|
|
19
|
+
//
|
|
20
|
+
// Related issue: https://github.com/open-telemetry/opentelemetry-js/issues/987
|
|
21
|
+
Effect.acquireRelease((p) => Effect.gen(function* ($) {
|
|
22
|
+
while (1) {
|
|
23
|
+
yield* $(Effect.sleep(Duration.millis(0)));
|
|
24
|
+
const promises = p['_sendingPromises'];
|
|
25
|
+
if (promises.length > 0) {
|
|
26
|
+
yield* $(Effect.exit(Effect.promise(() => Promise.all(promises))));
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}))));
|
|
33
|
+
return spanExporter;
|
|
34
|
+
});
|
|
35
|
+
export const LiveSimpleProcessor = SimpleProcessor(makeTracingSpanExporter);
|
|
36
|
+
//# sourceMappingURL=ExporterTraceOtlpGrpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExporterTraceOtlpGrpc.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-tracer/ExporterTraceOtlpGrpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAQ9F,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAA0B,6BAA6B,CAAC,CAAA;AAE1G,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,MAAkC,EAAE,EAAE,CACrF,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,6BAA6B,CAAC,EAAE,6BAA6B,EAAE,MAAM,EAAE,CAAC,CAAA;AAEpH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAO,SAA0D,EAAE,EAAE,CACpH,KAAK,CAAC,MAAM,CACV,uBAAuB,EACvB,MAAM,CAAC,GAAG,CACR,SAAS,EACT,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,6BAA6B,CAAC,EAAE,6BAA6B,EAAE,MAAM,EAAE,CAAU,CAClG,CACF,CAAA;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAA;IAEpD,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IAE3D,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAC3B,IAAI,CACF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,0GAA0G;IAC1G,mBAAmB;IACnB,EAAE;IACF,+EAA+E;IAC/E,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,EAAE;YACR,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1C,MAAM,QAAQ,GAAG,CAAC,CAAC,kBAAkB,CAAU,CAAA;YAC/C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;aACnE;iBAAM;gBACL,MAAK;aACN;SACF;IACH,CAAC,CAAC,CACH,CACF,CACF,CAAA;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Layer from '@effect/io/Layer';
|
|
4
|
+
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
5
|
+
import type { OTLPExporterNodeConfigBase } from '@opentelemetry/otlp-exporter-base';
|
|
6
|
+
import { SimpleProcessor } from './SimpleProcessor.js';
|
|
7
|
+
export declare const OTLPTraceExporterConfigSymbol: unique symbol;
|
|
8
|
+
type OTLPTraceExporterConfigSymbol = typeof OTLPTraceExporterConfigSymbol;
|
|
9
|
+
export interface OTLPTraceExporterConfig {
|
|
10
|
+
readonly [OTLPTraceExporterConfigSymbol]: OTLPTraceExporterConfigSymbol;
|
|
11
|
+
readonly config: OTLPExporterNodeConfigBase;
|
|
12
|
+
}
|
|
13
|
+
export declare const OTLPTraceExporterConfig: Context.Tag<OTLPTraceExporterConfig, OTLPTraceExporterConfig>;
|
|
14
|
+
export declare const makeOTLPTraceExporterConfigLayer: (config: OTLPExporterNodeConfigBase) => Layer.Layer<never, never, OTLPTraceExporterConfig>;
|
|
15
|
+
export declare const makeOTLPTraceExporterConfigLayerM: <R, E>(configEff: Effect.Effect<R, E, OTLPExporterNodeConfigBase>) => Layer.Layer<R, E, OTLPTraceExporterConfig>;
|
|
16
|
+
export declare const makeTracingSpanExporter: Effect.Effect<import("@effect/io/Scope.js").Scope | OTLPTraceExporterConfig, never, OTLPTraceExporter>;
|
|
17
|
+
export declare const LiveSimpleProcessor: Layer.Layer<import("./TracerProvider.js").TracerProvider | OTLPTraceExporterConfig, never, SimpleProcessor>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=ExporterTraceOtlpHttp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExporterTraceOtlpHttp.d.ts","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAG/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAEnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,eAAO,MAAM,6BAA6B,eAAoD,CAAA;AAC9F,KAAK,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEzE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,EAAE,6BAA6B,CAAA;IACvE,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAA;CAC5C;AAED,eAAO,MAAM,uBAAuB,+DAAsE,CAAA;AAE1G,eAAO,MAAM,gCAAgC,WAAY,0BAA0B,uDACiC,CAAA;AAEpH,eAAO,MAAM,iCAAiC,kHAO3C,CAAA;AACH,eAAO,MAAM,uBAAuB,wGA6BlC,CAAA;AAEF,eAAO,MAAM,mBAAmB,6GAA2C,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Duration from '@effect/data/Duration';
|
|
3
|
+
import { pipe } from '@effect/data/Function';
|
|
4
|
+
import * as Effect from '@effect/io/Effect';
|
|
5
|
+
import * as Layer from '@effect/io/Layer';
|
|
6
|
+
import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api';
|
|
7
|
+
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
8
|
+
import { SimpleProcessor } from './SimpleProcessor.js';
|
|
9
|
+
export const OTLPTraceExporterConfigSymbol = Symbol.for('effect-otel/OTLPTraceExporterConfig');
|
|
10
|
+
export const OTLPTraceExporterConfig = Context.Tag(OTLPTraceExporterConfigSymbol);
|
|
11
|
+
export const makeOTLPTraceExporterConfigLayer = (config) => Layer.succeed(OTLPTraceExporterConfig, { [OTLPTraceExporterConfigSymbol]: OTLPTraceExporterConfigSymbol, config });
|
|
12
|
+
export const makeOTLPTraceExporterConfigLayerM = (configEff) => Layer.effect(OTLPTraceExporterConfig, Effect.map(configEff, (config) => ({ [OTLPTraceExporterConfigSymbol]: OTLPTraceExporterConfigSymbol, config })));
|
|
13
|
+
export const makeTracingSpanExporter = Effect.gen(function* ($) {
|
|
14
|
+
const { config } = yield* $(OTLPTraceExporterConfig);
|
|
15
|
+
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.ERROR);
|
|
16
|
+
const spanExporter = yield* $(pipe(Effect.sync(() => new OTLPTraceExporter(config)),
|
|
17
|
+
// NOTE Unfortunately this workaround/"hack" is currently needed since Otel doesn't yet provide a graceful
|
|
18
|
+
// way to shutdown.
|
|
19
|
+
//
|
|
20
|
+
// Related issue: https://github.com/open-telemetry/opentelemetry-js/issues/987
|
|
21
|
+
Effect.acquireRelease((p) => Effect.gen(function* ($) {
|
|
22
|
+
while (1) {
|
|
23
|
+
yield* $(Effect.sleep(Duration.millis(0)));
|
|
24
|
+
const promises = p['_sendingPromises'];
|
|
25
|
+
if (promises.length > 0) {
|
|
26
|
+
yield* $(Effect.exit(Effect.promise(() => Promise.all(promises))));
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}))));
|
|
33
|
+
return spanExporter;
|
|
34
|
+
});
|
|
35
|
+
export const LiveSimpleProcessor = SimpleProcessor(makeTracingSpanExporter);
|
|
36
|
+
//# sourceMappingURL=ExporterTraceOtlpHttp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExporterTraceOtlpHttp.js","sourceRoot":"","sources":["../../../../src/effect/Otel/lib-tracer/ExporterTraceOtlpHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAQ9F,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAA0B,6BAA6B,CAAC,CAAA;AAE1G,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,MAAkC,EAAE,EAAE,CACrF,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,6BAA6B,CAAC,EAAE,6BAA6B,EAAE,MAAM,EAAE,CAAC,CAAA;AAEpH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAO,SAA0D,EAAE,EAAE,CACpH,KAAK,CAAC,MAAM,CACV,uBAAuB,EACvB,MAAM,CAAC,GAAG,CACR,SAAS,EACT,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,6BAA6B,CAAC,EAAE,6BAA6B,EAAE,MAAM,EAAE,CAAU,CAClG,CACF,CAAA;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAA;IAEpD,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IAE3D,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAC3B,IAAI,CACF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,0GAA0G;IAC1G,mBAAmB;IACnB,EAAE;IACF,+EAA+E;IAC/E,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,EAAE;YACR,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1C,MAAM,QAAQ,GAAG,CAAC,CAAC,kBAAkB,CAAU,CAAA;YAC/C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;aACnE;iBAAM;gBACL,MAAK;aACN;SACF;IACH,CAAC,CAAC,CACH,CACF,CACF,CAAA;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAA"}
|