@effect/opentelemetry 0.22.0 → 0.23.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/cjs/Metrics.js +48 -0
- package/dist/cjs/Metrics.js.map +1 -0
- package/dist/cjs/NodeSdk.js +63 -0
- package/dist/cjs/NodeSdk.js.map +1 -0
- package/dist/cjs/Resource.js +62 -0
- package/dist/cjs/Resource.js.map +1 -0
- package/dist/cjs/Tracer.js +88 -0
- package/dist/cjs/Tracer.js.map +1 -0
- package/dist/cjs/WebSdk.js +63 -0
- package/dist/cjs/WebSdk.js.map +1 -0
- package/dist/cjs/index.js +42 -0
- package/dist/cjs/index.js.map +1 -0
- package/{Metrics/dist/effect-opentelemetry-Metrics.cjs.dev.js → dist/cjs/internal/metrics.js} +83 -110
- package/dist/cjs/internal/metrics.js.map +1 -0
- package/dist/cjs/internal/tracer.js +207 -0
- package/dist/cjs/internal/tracer.js.map +1 -0
- package/dist/{declarations/src → dts}/Metrics.d.ts +1 -2
- package/dist/dts/Metrics.d.ts.map +1 -0
- package/dist/dts/NodeSdk.d.ts.map +1 -0
- package/dist/dts/Resource.d.ts.map +1 -0
- package/dist/dts/Tracer.d.ts.map +1 -0
- package/dist/dts/WebSdk.d.ts.map +1 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/internal/metrics.d.ts +2 -0
- package/dist/dts/internal/metrics.d.ts.map +1 -0
- package/dist/dts/internal/tracer.d.ts +2 -0
- package/dist/dts/internal/tracer.d.ts.map +1 -0
- package/dist/esm/Metrics.js +17 -0
- package/dist/esm/Metrics.js.map +1 -0
- package/dist/esm/NodeSdk.js +30 -0
- package/dist/esm/NodeSdk.js.map +1 -0
- package/{Resource/dist/effect-opentelemetry-Resource.esm.js → dist/esm/Resource.js} +7 -16
- package/dist/esm/Resource.js.map +1 -0
- package/dist/esm/Tracer.js +57 -0
- package/dist/esm/Tracer.js.map +1 -0
- package/dist/esm/WebSdk.js +30 -0
- package/dist/esm/WebSdk.js.map +1 -0
- package/dist/esm/index.js +21 -0
- package/dist/esm/index.js.map +1 -0
- package/{internal/metrics.esm.js → dist/esm/internal/metrics.js} +16 -21
- package/dist/esm/internal/metrics.js.map +1 -0
- package/{internal/tracer.esm.js → dist/esm/internal/tracer.js} +33 -40
- package/dist/esm/internal/tracer.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +45 -131
- package/src/Metrics.ts +3 -4
- package/src/NodeSdk.ts +3 -3
- package/src/Tracer.ts +2 -2
- package/src/WebSdk.ts +3 -3
- package/src/index.ts +5 -5
- package/src/internal/metrics.ts +5 -4
- package/src/internal/tracer.ts +5 -5
- package/Metrics/dist/effect-opentelemetry-Metrics.cjs.d.mts +0 -2
- package/Metrics/dist/effect-opentelemetry-Metrics.cjs.d.mts.map +0 -1
- package/Metrics/dist/effect-opentelemetry-Metrics.cjs.d.ts +0 -2
- package/Metrics/dist/effect-opentelemetry-Metrics.cjs.d.ts.map +0 -1
- package/Metrics/dist/effect-opentelemetry-Metrics.cjs.js +0 -7
- package/Metrics/dist/effect-opentelemetry-Metrics.cjs.mjs +0 -5
- package/Metrics/dist/effect-opentelemetry-Metrics.cjs.prod.js +0 -293
- package/Metrics/dist/effect-opentelemetry-Metrics.esm.js +0 -24
- package/Metrics/package.json +0 -4
- package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.d.mts +0 -2
- package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.d.mts.map +0 -1
- package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.d.ts +0 -2
- package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.d.ts.map +0 -1
- package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.dev.js +0 -81
- package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.js +0 -7
- package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.mjs +0 -4
- package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.prod.js +0 -81
- package/NodeSdk/dist/effect-opentelemetry-NodeSdk.esm.js +0 -42
- package/NodeSdk/package.json +0 -4
- package/Resource/dist/effect-opentelemetry-Resource.cjs.d.mts +0 -2
- package/Resource/dist/effect-opentelemetry-Resource.cjs.d.mts.map +0 -1
- package/Resource/dist/effect-opentelemetry-Resource.cjs.d.ts +0 -2
- package/Resource/dist/effect-opentelemetry-Resource.cjs.d.ts.map +0 -1
- package/Resource/dist/effect-opentelemetry-Resource.cjs.dev.js +0 -64
- package/Resource/dist/effect-opentelemetry-Resource.cjs.js +0 -7
- package/Resource/dist/effect-opentelemetry-Resource.cjs.mjs +0 -4
- package/Resource/dist/effect-opentelemetry-Resource.cjs.prod.js +0 -64
- package/Resource/package.json +0 -4
- package/Tracer/dist/effect-opentelemetry-Tracer.cjs.d.mts +0 -2
- package/Tracer/dist/effect-opentelemetry-Tracer.cjs.d.mts.map +0 -1
- package/Tracer/dist/effect-opentelemetry-Tracer.cjs.d.ts +0 -2
- package/Tracer/dist/effect-opentelemetry-Tracer.cjs.d.ts.map +0 -1
- package/Tracer/dist/effect-opentelemetry-Tracer.cjs.dev.js +0 -293
- package/Tracer/dist/effect-opentelemetry-Tracer.cjs.js +0 -7
- package/Tracer/dist/effect-opentelemetry-Tracer.cjs.mjs +0 -13
- package/Tracer/dist/effect-opentelemetry-Tracer.cjs.prod.js +0 -293
- package/Tracer/dist/effect-opentelemetry-Tracer.esm.js +0 -72
- package/Tracer/package.json +0 -4
- package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.d.mts +0 -2
- package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.d.mts.map +0 -1
- package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.d.ts +0 -2
- package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.d.ts.map +0 -1
- package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.dev.js +0 -81
- package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.js +0 -7
- package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.mjs +0 -4
- package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.prod.js +0 -81
- package/WebSdk/dist/effect-opentelemetry-WebSdk.esm.js +0 -42
- package/WebSdk/package.json +0 -4
- package/dist/declarations/src/Metrics.d.ts.map +0 -1
- package/dist/declarations/src/NodeSdk.d.ts.map +0 -1
- package/dist/declarations/src/Resource.d.ts.map +0 -1
- package/dist/declarations/src/Tracer.d.ts.map +0 -1
- package/dist/declarations/src/WebSdk.d.ts.map +0 -1
- package/dist/declarations/src/index.d.ts.map +0 -1
- package/dist/effect-opentelemetry.cjs.d.mts +0 -2
- package/dist/effect-opentelemetry.cjs.d.mts.map +0 -1
- package/dist/effect-opentelemetry.cjs.d.ts +0 -2
- package/dist/effect-opentelemetry.cjs.d.ts.map +0 -1
- package/dist/effect-opentelemetry.cjs.dev.js +0 -41
- package/dist/effect-opentelemetry.cjs.js +0 -7
- package/dist/effect-opentelemetry.cjs.mjs +0 -7
- package/dist/effect-opentelemetry.cjs.prod.js +0 -41
- package/dist/effect-opentelemetry.esm.js +0 -10
- /package/dist/{declarations/src → dts}/NodeSdk.d.ts +0 -0
- /package/dist/{declarations/src → dts}/Resource.d.ts +0 -0
- /package/dist/{declarations/src → dts}/Tracer.d.ts +0 -0
- /package/dist/{declarations/src → dts}/WebSdk.d.ts +0 -0
- /package/dist/{declarations/src → dts}/index.d.ts +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as internal from "./internal/metrics.js";
|
|
2
|
+
/**
|
|
3
|
+
* @since 1.0.0
|
|
4
|
+
* @category producer
|
|
5
|
+
*/
|
|
6
|
+
export const makeProducer = internal.makeProducer;
|
|
7
|
+
/**
|
|
8
|
+
* @since 1.0.0
|
|
9
|
+
* @category producer
|
|
10
|
+
*/
|
|
11
|
+
export const registerProducer = internal.registerProducer;
|
|
12
|
+
/**
|
|
13
|
+
* @since 1.0.0
|
|
14
|
+
* @category layers
|
|
15
|
+
*/
|
|
16
|
+
export const layer = internal.layer;
|
|
17
|
+
//# sourceMappingURL=Metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Metrics.js","names":["internal","makeProducer","registerProducer","layer"],"sources":["../../src/Metrics.ts"],"sourcesContent":[null],"mappings":"AAQA,OAAO,KAAKA,QAAQ,MAAM,uBAAuB;AAGjD;;;;AAIA,OAAO,MAAMC,YAAY,GAAmDD,QAAQ,CAACC,YAAY;AAEjG;;;;AAIA,OAAO,MAAMC,gBAAgB,GAG0BF,QAAQ,CAACE,gBAAgB;AAEhF;;;;AAIA,OAAO,MAAMC,KAAK,GAAuEH,QAAQ,CAACG,KAAK"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import * as Metrics from "./Metrics.js";
|
|
5
|
+
import * as Resource from "./Resource.js";
|
|
6
|
+
import * as Tracer from "./Tracer.js";
|
|
7
|
+
/**
|
|
8
|
+
* @since 1.0.0
|
|
9
|
+
* @category layers
|
|
10
|
+
*/
|
|
11
|
+
export const layerTracerProvider = (processor, config) => Layer.scoped(Tracer.TracerProvider, Effect.flatMap(Resource.Resource, resource => Effect.acquireRelease(Effect.sync(() => {
|
|
12
|
+
const provider = new NodeTracerProvider({
|
|
13
|
+
...(config ?? {}),
|
|
14
|
+
resource
|
|
15
|
+
});
|
|
16
|
+
provider.addSpanProcessor(processor);
|
|
17
|
+
return provider;
|
|
18
|
+
}), provider => Effect.promise(() => provider.shutdown()))));
|
|
19
|
+
/**
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
* @category layer
|
|
22
|
+
*/
|
|
23
|
+
export const layer = evaluate => Layer.unwrapEffect(Effect.sync(() => {
|
|
24
|
+
const config = evaluate();
|
|
25
|
+
const ResourceLive = Resource.layer(config.resource);
|
|
26
|
+
const TracerLive = config.spanProcessor ? Tracer.layer.pipe(Layer.use(layerTracerProvider(config.spanProcessor, config.tracerConfig))) : Layer.effectDiscard(Effect.unit);
|
|
27
|
+
const MetricsLive = config.metricReader ? Metrics.layer(() => config.metricReader) : Layer.effectDiscard(Effect.unit);
|
|
28
|
+
return Layer.merge(TracerLive, MetricsLive).pipe(Layer.useMerge(ResourceLive));
|
|
29
|
+
}));
|
|
30
|
+
//# sourceMappingURL=NodeSdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeSdk.js","names":["NodeTracerProvider","Effect","Layer","Metrics","Resource","Tracer","layerTracerProvider","processor","config","scoped","TracerProvider","flatMap","resource","acquireRelease","sync","provider","addSpanProcessor","promise","shutdown","layer","evaluate","unwrapEffect","ResourceLive","TracerLive","spanProcessor","pipe","use","tracerConfig","effectDiscard","unit","MetricsLive","metricReader","merge","useMerge"],"sources":["../../src/NodeSdk.ts"],"sourcesContent":[null],"mappings":"AAOA,SAASA,kBAAkB,QAAQ,+BAA+B;AAClE,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,MAAM,MAAM,aAAa;AAiBrC;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,SAAwB,EACxBC,MAAuC,KAEvCN,KAAK,CAACO,MAAM,CACVJ,MAAM,CAACK,cAAc,EACrBT,MAAM,CAACU,OAAO,CACZP,QAAQ,CAACA,QAAQ,EAChBQ,QAAQ,IACPX,MAAM,CAACY,cAAc,CACnBZ,MAAM,CAACa,IAAI,CAAC,MAAK;EACf,MAAMC,QAAQ,GAAG,IAAIf,kBAAkB,CAAC;IACtC,IAAIQ,MAAM,IAAI,EAAE,CAAC;IACjBI;GACD,CAAC;EACFG,QAAQ,CAACC,gBAAgB,CAACT,SAAS,CAAC;EACpC,OAAOQ,QAAQ;AACjB,CAAC,CAAC,EACDA,QAAQ,IAAKd,MAAM,CAACgB,OAAO,CAAC,MAAMF,QAAQ,CAACG,QAAQ,EAAE,CAAC,CACxD,CACJ,CACF;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,GAChBC,QAAgC,IAEhClB,KAAK,CAACmB,YAAY,CAChBpB,MAAM,CAACa,IAAI,CAAC,MAAK;EACf,MAAMN,MAAM,GAAGY,QAAQ,EAAE;EACzB,MAAME,YAAY,GAAGlB,QAAQ,CAACe,KAAK,CAACX,MAAM,CAACI,QAAQ,CAAC;EACpD,MAAMW,UAAU,GAAGf,MAAM,CAACgB,aAAa,GACrCnB,MAAM,CAACc,KAAK,CAACM,IAAI,CACfvB,KAAK,CAACwB,GAAG,CAACpB,mBAAmB,CAACE,MAAM,CAACgB,aAAa,EAAEhB,MAAM,CAACmB,YAAY,CAAC,CAAC,CAC1E,GACCzB,KAAK,CAAC0B,aAAa,CAAC3B,MAAM,CAAC4B,IAAI,CAAC;EACpC,MAAMC,WAAW,GAAGtB,MAAM,CAACuB,YAAY,GACnC5B,OAAO,CAACgB,KAAK,CAAC,MAAMX,MAAM,CAACuB,YAAa,CAAC,GACzC7B,KAAK,CAAC0B,aAAa,CAAC3B,MAAM,CAAC4B,IAAI,CAAC;EACpC,OAAO3B,KAAK,CAAC8B,KAAK,CAACT,UAAU,EAAEO,WAAW,CAAC,CAACL,IAAI,CAC9CvB,KAAK,CAAC+B,QAAQ,CAACX,YAAY,CAAC,CAC7B;AACH,CAAC,CAAC,CACH"}
|
|
@@ -1,28 +1,20 @@
|
|
|
1
|
-
import * as Resources from '@opentelemetry/resources';
|
|
2
|
-
import { SemanticResourceAttributes, TelemetrySdkLanguageValues } from '@opentelemetry/semantic-conventions';
|
|
3
|
-
import { Tag } from 'effect/Context';
|
|
4
|
-
import * as Layer from 'effect/Layer';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* @since 1.0.0
|
|
8
3
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
|
|
4
|
+
import * as Resources from "@opentelemetry/resources";
|
|
5
|
+
import { SemanticResourceAttributes, TelemetrySdkLanguageValues } from "@opentelemetry/semantic-conventions";
|
|
6
|
+
import { Tag } from "effect/Context";
|
|
7
|
+
import * as Layer from "effect/Layer";
|
|
15
8
|
/**
|
|
16
9
|
* @since 1.0.0
|
|
17
10
|
* @category tag
|
|
18
11
|
*/
|
|
19
|
-
const Resource = /*#__PURE__*/Tag("@effect/opentelemetry/Resource");
|
|
20
|
-
|
|
12
|
+
export const Resource = /*#__PURE__*/Tag("@effect/opentelemetry/Resource");
|
|
21
13
|
/**
|
|
22
14
|
* @since 1.0.0
|
|
23
15
|
* @category layer
|
|
24
16
|
*/
|
|
25
|
-
const layer = config => {
|
|
17
|
+
export const layer = config => {
|
|
26
18
|
const attributes = {
|
|
27
19
|
...(config.attributes ?? {}),
|
|
28
20
|
[SemanticResourceAttributes.SERVICE_NAME]: config.serviceName,
|
|
@@ -34,5 +26,4 @@ const layer = config => {
|
|
|
34
26
|
}
|
|
35
27
|
return Layer.succeed(Resource, new Resources.Resource(attributes));
|
|
36
28
|
};
|
|
37
|
-
|
|
38
|
-
export { Resource, layer };
|
|
29
|
+
//# sourceMappingURL=Resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Resource.js","names":["Resources","SemanticResourceAttributes","TelemetrySdkLanguageValues","Tag","Layer","Resource","layer","config","attributes","SERVICE_NAME","serviceName","TELEMETRY_SDK_NAME","TELEMETRY_SDK_LANGUAGE","globalThis","document","NODEJS","WEBJS","serviceVersion","SERVICE_VERSION","succeed"],"sources":["../../src/Resource.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,SAAS,MAAM,0BAA0B;AACrD,SAASC,0BAA0B,EAAEC,0BAA0B,QAAQ,qCAAqC;AAC5G,SAASC,GAAG,QAAQ,gBAAgB;AACpC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAUrC;;;;AAIA,OAAO,MAAMC,QAAQ,gBAAGF,GAAG,CAA+B,gCAAgC,CAAC;AAE3F;;;;AAIA,OAAO,MAAMG,KAAK,GAAIC,MAIrB,IAAI;EACH,MAAMC,UAAU,GAAG;IACjB,IAAID,MAAM,CAACC,UAAU,IAAI,EAAE,CAAC;IAC5B,CAACP,0BAA0B,CAACQ,YAAY,GAAGF,MAAM,CAACG,WAAW;IAC7D,CAACT,0BAA0B,CAACU,kBAAkB,GAAG,uBAAuB;IACxE,CAACV,0BAA0B,CAACW,sBAAsB,GAAG,OAAQC,UAAkB,CAACC,QAAQ,KAAK,WAAW,GACpGZ,0BAA0B,CAACa,MAAM,GACjCb,0BAA0B,CAACc;GAChC;EACD,IAAIT,MAAM,CAACU,cAAc,EAAE;IACzBT,UAAU,CAACP,0BAA0B,CAACiB,eAAe,CAAC,GAAGX,MAAM,CAACU,cAAc;;EAEhF,OAAOb,KAAK,CAACe,OAAO,CAClBd,QAAQ,EACR,IAAIL,SAAS,CAACK,QAAQ,CAACG,UAAU,CAAC,CACnC;AACH,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as internal from "./internal/tracer.js";
|
|
2
|
+
/**
|
|
3
|
+
* @since 1.0.0
|
|
4
|
+
* @category constructors
|
|
5
|
+
*/
|
|
6
|
+
export const make = internal.make;
|
|
7
|
+
/**
|
|
8
|
+
* @since 1.0.0
|
|
9
|
+
* @category constructors
|
|
10
|
+
*/
|
|
11
|
+
export const makeExternalSpan = internal.makeExternalSpan;
|
|
12
|
+
/**
|
|
13
|
+
* @since 1.0.0
|
|
14
|
+
* @category accessors
|
|
15
|
+
*/
|
|
16
|
+
export const currentOtelSpan = internal.currentOtelSpan;
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
* @category layers
|
|
20
|
+
*/
|
|
21
|
+
export const layer = internal.layer;
|
|
22
|
+
/**
|
|
23
|
+
* @since 1.0.0
|
|
24
|
+
* @category layers
|
|
25
|
+
*/
|
|
26
|
+
export const layerGlobal = internal.layerGlobal;
|
|
27
|
+
/**
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
* @category layers
|
|
30
|
+
*/
|
|
31
|
+
export const layerTracer = internal.layerTracer;
|
|
32
|
+
/**
|
|
33
|
+
* @since 1.0.0
|
|
34
|
+
* @category layers
|
|
35
|
+
*/
|
|
36
|
+
export const layerGlobalTracer = internal.layerGlobalTracer;
|
|
37
|
+
/**
|
|
38
|
+
* @since 1.0.0
|
|
39
|
+
* @category tags
|
|
40
|
+
*/
|
|
41
|
+
export const TracerProvider = internal.TracerProvider;
|
|
42
|
+
/**
|
|
43
|
+
* @since 1.0.0
|
|
44
|
+
* @category tags
|
|
45
|
+
*/
|
|
46
|
+
export const Tracer = internal.Tracer;
|
|
47
|
+
/**
|
|
48
|
+
* @since 1.0.0
|
|
49
|
+
* @category tags
|
|
50
|
+
*/
|
|
51
|
+
export const TraceFlags = internal.traceFlagsTag;
|
|
52
|
+
/**
|
|
53
|
+
* @since 1.0.0
|
|
54
|
+
* @category tags
|
|
55
|
+
*/
|
|
56
|
+
export const TraceState = internal.traceStateTag;
|
|
57
|
+
//# sourceMappingURL=Tracer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tracer.js","names":["internal","make","makeExternalSpan","currentOtelSpan","layer","layerGlobal","layerTracer","layerGlobalTracer","TracerProvider","Tracer","TraceFlags","traceFlagsTag","TraceState","traceStateTag"],"sources":["../../src/Tracer.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAGhD;;;;AAIA,OAAO,MAAMC,IAAI,GAA6CD,QAAQ,CAACC,IAAI;AAE3E;;;;AAIA,OAAO,MAAMC,gBAAgB,GAOTF,QAAQ,CAACE,gBAAgB;AAE7C;;;;AAIA,OAAO,MAAMC,eAAe,GAAmDH,QAAQ,CAACG,eAAe;AAEvG;;;;AAIA,OAAO,MAAMC,KAAK,GAAwDJ,QAAQ,CAACI,KAAK;AAExF;;;;AAIA,OAAO,MAAMC,WAAW,GAAkCL,QAAQ,CAACK,WAAW;AAE9E;;;;AAIA,OAAO,MAAMC,WAAW,GAA8DN,QAAQ,CAACM,WAAW;AAE1G;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAwCP,QAAQ,CAACO,iBAAiB;AAEhG;;;;AAIA,OAAO,MAAMC,cAAc,GAAkDR,QAAQ,CAACQ,cAAc;AAEpG;;;;AAIA,OAAO,MAAMC,MAAM,GAAkCT,QAAQ,CAACS,MAAM;AAEpE;;;;AAIA,OAAO,MAAMC,UAAU,GAA0CV,QAAQ,CAACW,aAAa;AAEvF;;;;AAIA,OAAO,MAAMC,UAAU,GAA0CZ,QAAQ,CAACa,aAAa"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { WebTracerProvider } from "@opentelemetry/sdk-trace-web";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import * as Metrics from "./Metrics.js";
|
|
5
|
+
import * as Resource from "./Resource.js";
|
|
6
|
+
import * as Tracer from "./Tracer.js";
|
|
7
|
+
/**
|
|
8
|
+
* @since 1.0.0
|
|
9
|
+
* @category layers
|
|
10
|
+
*/
|
|
11
|
+
export const layerTracerProvider = (processor, config) => Layer.scoped(Tracer.TracerProvider, Effect.flatMap(Resource.Resource, resource => Effect.acquireRelease(Effect.sync(() => {
|
|
12
|
+
const provider = new WebTracerProvider({
|
|
13
|
+
...(config ?? {}),
|
|
14
|
+
resource
|
|
15
|
+
});
|
|
16
|
+
provider.addSpanProcessor(processor);
|
|
17
|
+
return provider;
|
|
18
|
+
}), provider => Effect.promise(() => provider.shutdown()))));
|
|
19
|
+
/**
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
* @category layer
|
|
22
|
+
*/
|
|
23
|
+
export const layer = evaluate => Layer.unwrapEffect(Effect.sync(() => {
|
|
24
|
+
const config = evaluate();
|
|
25
|
+
const ResourceLive = Resource.layer(config.resource);
|
|
26
|
+
const TracerLive = config.spanProcessor ? Tracer.layer.pipe(Layer.use(layerTracerProvider(config.spanProcessor, config.tracerConfig))) : Layer.effectDiscard(Effect.unit);
|
|
27
|
+
const MetricsLive = config.metricReader ? Metrics.layer(() => config.metricReader) : Layer.effectDiscard(Effect.unit);
|
|
28
|
+
return Layer.merge(TracerLive, MetricsLive).pipe(Layer.useMerge(ResourceLive));
|
|
29
|
+
}));
|
|
30
|
+
//# sourceMappingURL=WebSdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSdk.js","names":["WebTracerProvider","Effect","Layer","Metrics","Resource","Tracer","layerTracerProvider","processor","config","scoped","TracerProvider","flatMap","resource","acquireRelease","sync","provider","addSpanProcessor","promise","shutdown","layer","evaluate","unwrapEffect","ResourceLive","TracerLive","spanProcessor","pipe","use","tracerConfig","effectDiscard","unit","MetricsLive","metricReader","merge","useMerge"],"sources":["../../src/WebSdk.ts"],"sourcesContent":[null],"mappings":"AAOA,SAASA,iBAAiB,QAAQ,8BAA8B;AAChE,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,MAAM,MAAM,aAAa;AAiBrC;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,SAAwB,EACxBC,MAAuC,KAEvCN,KAAK,CAACO,MAAM,CACVJ,MAAM,CAACK,cAAc,EACrBT,MAAM,CAACU,OAAO,CACZP,QAAQ,CAACA,QAAQ,EAChBQ,QAAQ,IACPX,MAAM,CAACY,cAAc,CACnBZ,MAAM,CAACa,IAAI,CAAC,MAAK;EACf,MAAMC,QAAQ,GAAG,IAAIf,iBAAiB,CAAC;IACrC,IAAIQ,MAAM,IAAI,EAAE,CAAC;IACjBI;GACD,CAAC;EACFG,QAAQ,CAACC,gBAAgB,CAACT,SAAS,CAAC;EACpC,OAAOQ,QAAQ;AACjB,CAAC,CAAC,EACDA,QAAQ,IAAKd,MAAM,CAACgB,OAAO,CAAC,MAAMF,QAAQ,CAACG,QAAQ,EAAE,CAAC,CACxD,CACJ,CACF;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,GAChBC,QAAgC,IAEhClB,KAAK,CAACmB,YAAY,CAChBpB,MAAM,CAACa,IAAI,CAAC,MAAK;EACf,MAAMN,MAAM,GAAGY,QAAQ,EAAE;EACzB,MAAME,YAAY,GAAGlB,QAAQ,CAACe,KAAK,CAACX,MAAM,CAACI,QAAQ,CAAC;EACpD,MAAMW,UAAU,GAAGf,MAAM,CAACgB,aAAa,GACrCnB,MAAM,CAACc,KAAK,CAACM,IAAI,CAACvB,KAAK,CAACwB,GAAG,CAACpB,mBAAmB,CAACE,MAAM,CAACgB,aAAa,EAAEhB,MAAM,CAACmB,YAAY,CAAC,CAAC,CAAC,GAC1FzB,KAAK,CAAC0B,aAAa,CAAC3B,MAAM,CAAC4B,IAAI,CAAC;EACpC,MAAMC,WAAW,GAAGtB,MAAM,CAACuB,YAAY,GACnC5B,OAAO,CAACgB,KAAK,CAAC,MAAMX,MAAM,CAACuB,YAAa,CAAC,GACzC7B,KAAK,CAAC0B,aAAa,CAAC3B,MAAM,CAAC4B,IAAI,CAAC;EACpC,OAAO3B,KAAK,CAAC8B,KAAK,CAACT,UAAU,EAAEO,WAAW,CAAC,CAACL,IAAI,CAC9CvB,KAAK,CAAC+B,QAAQ,CAACX,YAAY,CAAC,CAC7B;AACH,CAAC,CAAC,CACH"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
export * as Metrics from "./Metrics.js";
|
|
5
|
+
/**
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
export * as NodeSdk from "./NodeSdk.js";
|
|
9
|
+
/**
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
export * as Resource from "./Resource.js";
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
*/
|
|
16
|
+
export * as Tracer from "./Tracer.js";
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
*/
|
|
20
|
+
export * as WebSdk from "./WebSdk.js";
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Metrics","NodeSdk","Resource","Tracer","WebSdk"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { ValueType } from
|
|
2
|
-
import { DataPointType, InstrumentType
|
|
3
|
-
import * as Effect from
|
|
4
|
-
import * as HashSet from
|
|
5
|
-
import * as Layer from
|
|
6
|
-
import * as Metric from
|
|
7
|
-
import * as MetricKeyType from
|
|
8
|
-
import * as MetricState from
|
|
9
|
-
import * as Option from
|
|
10
|
-
import
|
|
11
|
-
|
|
1
|
+
import { ValueType } from "@opentelemetry/api";
|
|
2
|
+
import { AggregationTemporality, DataPointType, InstrumentType } from "@opentelemetry/sdk-metrics";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as HashSet from "effect/HashSet";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
6
|
+
import * as Metric from "effect/Metric";
|
|
7
|
+
import * as MetricKeyType from "effect/MetricKeyType";
|
|
8
|
+
import * as MetricState from "effect/MetricState";
|
|
9
|
+
import * as Option from "effect/Option";
|
|
10
|
+
import * as Resource from "../Resource.js";
|
|
12
11
|
const sdkName = "@effect/opentelemetry/Metrics";
|
|
13
|
-
|
|
14
12
|
/** @internal */
|
|
15
|
-
class MetricProducerImpl {
|
|
13
|
+
export class MetricProducerImpl {
|
|
14
|
+
resource;
|
|
16
15
|
constructor(resource) {
|
|
17
16
|
this.resource = resource;
|
|
18
17
|
}
|
|
@@ -220,18 +219,14 @@ const currentHrTime = () => {
|
|
|
220
219
|
const now = Date.now();
|
|
221
220
|
return [Math.floor(now / 1000), now % 1000 * 1000000];
|
|
222
221
|
};
|
|
223
|
-
|
|
224
222
|
/** @internal */
|
|
225
|
-
const makeProducer = /*#__PURE__*/Effect.map(Resource, resource => new MetricProducerImpl(resource));
|
|
226
|
-
|
|
223
|
+
export const makeProducer = /*#__PURE__*/Effect.map(Resource.Resource, resource => new MetricProducerImpl(resource));
|
|
227
224
|
/** @internal */
|
|
228
|
-
const registerProducer = (self, metricReader) => Effect.acquireRelease(Effect.sync(() => {
|
|
225
|
+
export const registerProducer = (self, metricReader) => Effect.acquireRelease(Effect.sync(() => {
|
|
229
226
|
const reader = metricReader();
|
|
230
227
|
reader.setMetricProducer(self);
|
|
231
228
|
return reader;
|
|
232
229
|
}), reader => Effect.promise(() => reader.shutdown()));
|
|
233
|
-
|
|
234
230
|
/** @internal */
|
|
235
|
-
const layer = evaluate => Layer.scopedDiscard(Effect.flatMap(makeProducer, producer => registerProducer(producer, evaluate)));
|
|
236
|
-
|
|
237
|
-
export { MetricProducerImpl, layer, makeProducer, registerProducer };
|
|
231
|
+
export const layer = evaluate => Layer.scopedDiscard(Effect.flatMap(makeProducer, producer => registerProducer(producer, evaluate)));
|
|
232
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","names":["ValueType","AggregationTemporality","DataPointType","InstrumentType","Effect","HashSet","Layer","Metric","MetricKeyType","MetricState","Option","Resource","sdkName","MetricProducerImpl","resource","constructor","collect","_options","snapshot","unsafeSnapshot","hrTimeNow","currentHrTime","metricData","metricKey","metricState","attributes","reduce","tags","acc","label","key","value","descriptor","descriptorFromKey","isCounterState","push","dataPointType","SUM","isMonotonic","type","COUNTER","aggregationTemporality","CUMULATIVE","dataPoints","startTime","endTime","Number","count","isGaugeState","GAUGE","isHistogramState","size","buckets","length","boundaries","Array","counts","i","prev","boundary","HISTOGRAM","min","max","sum","isFrequencyState","freqKey","occurrences","isSummaryState","quantile","quantiles","toString","_tag","descriptorMeta","unit","valueType","INT","DOUBLE","Promise","resolve","resourceMetrics","scopeMetrics","scope","name","metrics","errors","suffix","description","getOrElse","time_unit","instrumentTypeFromKey","keyType","bigint","isHistogramKey","isGaugeKey","OBSERVABLE_GAUGE","isFrequencyKey","isCounterKey","incremental","UP_DOWN_COUNTER","now","Date","Math","floor","makeProducer","map","registerProducer","self","metricReader","acquireRelease","sync","reader","setMetricProducer","promise","shutdown","layer","evaluate","scopedDiscard","flatMap","producer"],"sources":["../../../src/internal/metrics.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
import * as OtelApi from
|
|
2
|
-
import * as Cause from
|
|
3
|
-
import * as Context from
|
|
4
|
-
import * as Effect from
|
|
5
|
-
import * as FiberRef from
|
|
6
|
-
import * as Layer from
|
|
7
|
-
import * as Option from
|
|
8
|
-
import * as EffectTracer from
|
|
9
|
-
import { Resource } from
|
|
10
|
-
|
|
1
|
+
import * as OtelApi from "@opentelemetry/api";
|
|
2
|
+
import * as Cause from "effect/Cause";
|
|
3
|
+
import * as Context from "effect/Context";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as FiberRef from "effect/FiberRef";
|
|
6
|
+
import * as Layer from "effect/Layer";
|
|
7
|
+
import * as Option from "effect/Option";
|
|
8
|
+
import * as EffectTracer from "effect/Tracer";
|
|
9
|
+
import { Resource } from "../Resource.js";
|
|
11
10
|
/** @internal */
|
|
12
|
-
class OtelSpan {
|
|
11
|
+
export class OtelSpan {
|
|
12
|
+
name;
|
|
13
|
+
parent;
|
|
14
|
+
context;
|
|
15
|
+
links;
|
|
13
16
|
_tag = "Span";
|
|
17
|
+
span;
|
|
18
|
+
spanId;
|
|
19
|
+
traceId;
|
|
14
20
|
attributes = new Map();
|
|
21
|
+
sampled;
|
|
22
|
+
status;
|
|
15
23
|
constructor(contextApi, tracer, name, parent, context, links, startTime) {
|
|
16
24
|
this.name = name;
|
|
17
25
|
this.parent = parent;
|
|
@@ -70,15 +78,12 @@ class OtelSpan {
|
|
|
70
78
|
this.span.addEvent(name, attributes ? recordToAttributes(attributes) : undefined, nanosToHrTime(startTime));
|
|
71
79
|
}
|
|
72
80
|
}
|
|
73
|
-
|
|
74
81
|
/** @internal */
|
|
75
|
-
const TracerProvider = /*#__PURE__*/Context.Tag("@effect/opentelemetry/Tracer/TracerProvider");
|
|
76
|
-
|
|
82
|
+
export const TracerProvider = /*#__PURE__*/Context.Tag("@effect/opentelemetry/Tracer/TracerProvider");
|
|
77
83
|
/** @internal */
|
|
78
|
-
const Tracer = /*#__PURE__*/Context.Tag("@effect/opentelemetry/Tracer/Tracer");
|
|
79
|
-
|
|
84
|
+
export const Tracer = /*#__PURE__*/Context.Tag("@effect/opentelemetry/Tracer/Tracer");
|
|
80
85
|
/** @internal */
|
|
81
|
-
const make = /*#__PURE__*/Effect.map(Tracer, tracer => EffectTracer.make({
|
|
86
|
+
export const make = /*#__PURE__*/Effect.map(Tracer, tracer => EffectTracer.make({
|
|
82
87
|
span(name, parent, context, links, startTime) {
|
|
83
88
|
return new OtelSpan(OtelApi.context, tracer, name, parent, context, links, startTime);
|
|
84
89
|
},
|
|
@@ -90,15 +95,12 @@ const make = /*#__PURE__*/Effect.map(Tracer, tracer => EffectTracer.make({
|
|
|
90
95
|
return OtelApi.context.with(populateContext(OtelApi.context.active(), currentSpan), execution);
|
|
91
96
|
}
|
|
92
97
|
}));
|
|
93
|
-
|
|
94
98
|
/** @internal */
|
|
95
|
-
const traceFlagsTag = /*#__PURE__*/Context.Tag("@effect/opentelemetry/traceFlags");
|
|
96
|
-
|
|
99
|
+
export const traceFlagsTag = /*#__PURE__*/Context.Tag("@effect/opentelemetry/traceFlags");
|
|
97
100
|
/** @internal */
|
|
98
|
-
const traceStateTag = /*#__PURE__*/Context.Tag("@effect/opentelemetry/traceState");
|
|
99
|
-
|
|
101
|
+
export const traceStateTag = /*#__PURE__*/Context.Tag("@effect/opentelemetry/traceState");
|
|
100
102
|
/** @internal */
|
|
101
|
-
const makeExternalSpan = options => {
|
|
103
|
+
export const makeExternalSpan = options => {
|
|
102
104
|
let context = Context.empty();
|
|
103
105
|
if (options.traceFlags) {
|
|
104
106
|
context = Context.add(context, traceFlagsTag, options.traceFlags);
|
|
@@ -119,30 +121,22 @@ const makeExternalSpan = options => {
|
|
|
119
121
|
context
|
|
120
122
|
};
|
|
121
123
|
};
|
|
122
|
-
|
|
123
124
|
/** @internal */
|
|
124
|
-
const currentOtelSpan = /*#__PURE__*/Effect.map(Effect.currentSpan, span => Option.map(Option.filter(span, span => "span" in span), _ => _.span));
|
|
125
|
-
|
|
125
|
+
export const currentOtelSpan = /*#__PURE__*/Effect.map(Effect.currentSpan, span => Option.map(Option.filter(span, span => "span" in span), _ => _.span));
|
|
126
126
|
/** @internal */
|
|
127
|
-
const layerGlobalProvider = /*#__PURE__*/Layer.sync(TracerProvider, () => OtelApi.trace.getTracerProvider());
|
|
128
|
-
|
|
127
|
+
export const layerGlobalProvider = /*#__PURE__*/Layer.sync(TracerProvider, () => OtelApi.trace.getTracerProvider());
|
|
129
128
|
/** @internal */
|
|
130
|
-
const layerTracer = /*#__PURE__*/Layer.effect(Tracer, /*#__PURE__*/Effect.flatMap( /*#__PURE__*/Effect.zip(Resource, TracerProvider), ([resource, provider]) => Effect.sync(() => provider.getTracer(resource.attributes["service.name"], resource.attributes["service.version"]))));
|
|
131
|
-
|
|
129
|
+
export const layerTracer = /*#__PURE__*/Layer.effect(Tracer, /*#__PURE__*/Effect.flatMap( /*#__PURE__*/Effect.zip(Resource, TracerProvider), ([resource, provider]) => Effect.sync(() => provider.getTracer(resource.attributes["service.name"], resource.attributes["service.version"]))));
|
|
132
130
|
/** @internal */
|
|
133
|
-
const layerGlobalTracer = /*#__PURE__*/layerTracer.pipe( /*#__PURE__*/Layer.use(layerGlobalProvider));
|
|
134
|
-
|
|
131
|
+
export const layerGlobalTracer = /*#__PURE__*/layerTracer.pipe( /*#__PURE__*/Layer.use(layerGlobalProvider));
|
|
135
132
|
/** @internal */
|
|
136
|
-
const layerGlobal = /*#__PURE__*/Layer.unwrapEffect(Effect.map(make, Layer.setTracer)).pipe( /*#__PURE__*/Layer.use(layerGlobalTracer));
|
|
137
|
-
|
|
133
|
+
export const layerGlobal = /*#__PURE__*/Layer.unwrapEffect(Effect.map(make, Layer.setTracer)).pipe( /*#__PURE__*/Layer.use(layerGlobalTracer));
|
|
138
134
|
/** @internal */
|
|
139
|
-
const layer = /*#__PURE__*/Layer.unwrapEffect(Effect.map(make, Layer.setTracer)).pipe( /*#__PURE__*/Layer.use(layerTracer));
|
|
140
|
-
|
|
135
|
+
export const layer = /*#__PURE__*/Layer.unwrapEffect(Effect.map(make, Layer.setTracer)).pipe( /*#__PURE__*/Layer.use(layerTracer));
|
|
141
136
|
// -------------------------------------------------------------------------------------
|
|
142
137
|
// utils
|
|
143
138
|
// -------------------------------------------------------------------------------------
|
|
144
|
-
|
|
145
|
-
const bigint1e9 = 1_000_000_000n;
|
|
139
|
+
const bigint1e9 = 1000000000n;
|
|
146
140
|
const nanosToHrTime = timestamp => {
|
|
147
141
|
return [Number(timestamp / bigint1e9), Number(timestamp % bigint1e9)];
|
|
148
142
|
};
|
|
@@ -177,5 +171,4 @@ const objectToAttribute = value => {
|
|
|
177
171
|
return String(value);
|
|
178
172
|
}
|
|
179
173
|
};
|
|
180
|
-
|
|
181
|
-
export { OtelSpan, Tracer, TracerProvider, currentOtelSpan, layer, layerGlobal, layerGlobalProvider, layerGlobalTracer, layerTracer, make, makeExternalSpan, traceFlagsTag, traceStateTag };
|
|
174
|
+
//# sourceMappingURL=tracer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracer.js","names":["OtelApi","Cause","Context","Effect","FiberRef","Layer","Option","EffectTracer","Resource","OtelSpan","name","parent","context","links","_tag","span","spanId","traceId","attributes","Map","sampled","status","constructor","contextApi","tracer","startTime","active","startSpan","nanosToHrTime","length","map","link","makeSpanContext","recordToAttributes","undefined","populateContext","value","trace","deleteSpan","spanContext","traceFlags","TraceFlags","SAMPLED","attribute","key","setAttribute","unknownToAttributeValue","set","end","endTime","exit","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","ERROR","event","addEvent","TracerProvider","Tag","Tracer","make","execution","fiber","currentSpan","getFiberRef","currentContext","unsafeMap","get","ParentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","options","empty","add","traceState","match","createTraceState","onNone","onSome","currentOtelSpan","filter","_","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","flatMap","zip","resource","provider","getTracer","layerGlobalTracer","pipe","use","layerGlobal","unwrapEffect","setTracer","layer","bigint1e9","timestamp","Number","liftThrowable","otelContext","setSpan","setSpanContext","isRemote","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","Object","entries","reduce","acc","objectToAttribute","JSON","stringify","String"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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"}
|