@effect/opentelemetry 0.60.0 → 4.0.0-beta.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.
Files changed (160) hide show
  1. package/LICENSE +1 -1
  2. package/dist/{dts/Logger.d.ts → Logger.d.ts} +19 -13
  3. package/dist/Logger.d.ts.map +1 -0
  4. package/dist/Logger.js +76 -0
  5. package/dist/Logger.js.map +1 -0
  6. package/dist/Metrics.d.ts +76 -0
  7. package/dist/Metrics.d.ts.map +1 -0
  8. package/dist/Metrics.js +59 -0
  9. package/dist/Metrics.js.map +1 -0
  10. package/dist/{dts/NodeSdk.d.ts → NodeSdk.d.ts} +12 -9
  11. package/dist/NodeSdk.d.ts.map +1 -0
  12. package/dist/{esm/NodeSdk.js → NodeSdk.js} +23 -14
  13. package/dist/NodeSdk.js.map +1 -0
  14. package/dist/{dts/Resource.d.ts → Resource.d.ts} +10 -13
  15. package/dist/Resource.d.ts.map +1 -0
  16. package/dist/{esm/Resource.js → Resource.js} +12 -13
  17. package/dist/Resource.js.map +1 -0
  18. package/dist/Tracer.d.ts +129 -0
  19. package/dist/Tracer.d.ts.map +1 -0
  20. package/dist/Tracer.js +391 -0
  21. package/dist/Tracer.js.map +1 -0
  22. package/dist/{dts/WebSdk.d.ts → WebSdk.d.ts} +12 -9
  23. package/dist/WebSdk.d.ts.map +1 -0
  24. package/dist/WebSdk.js +41 -0
  25. package/dist/WebSdk.js.map +1 -0
  26. package/dist/index.d.ts +28 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/{esm/index.js → index.js} +4 -20
  29. package/dist/index.js.map +1 -0
  30. package/dist/internal/attributes.d.ts +2 -0
  31. package/dist/internal/attributes.d.ts.map +1 -0
  32. package/dist/internal/attributes.js +19 -0
  33. package/dist/internal/attributes.js.map +1 -0
  34. package/dist/{dts/internal → internal}/metrics.d.ts.map +1 -1
  35. package/dist/internal/metrics.js +406 -0
  36. package/dist/internal/metrics.js.map +1 -0
  37. package/dist/internal/utilities.d.ts +2 -0
  38. package/dist/internal/utilities.d.ts.map +1 -0
  39. package/dist/internal/utilities.js +3 -0
  40. package/dist/internal/utilities.js.map +1 -0
  41. package/package.json +70 -118
  42. package/src/Logger.ts +52 -55
  43. package/src/Metrics.ts +92 -18
  44. package/src/NodeSdk.ts +67 -64
  45. package/src/Resource.ts +16 -24
  46. package/src/Tracer.ts +469 -78
  47. package/src/WebSdk.ts +59 -51
  48. package/src/index.ts +7 -26
  49. package/src/internal/attributes.ts +21 -0
  50. package/src/internal/metrics.ts +381 -250
  51. package/src/internal/utilities.ts +5 -0
  52. package/Logger/package.json +0 -6
  53. package/Metrics/package.json +0 -6
  54. package/NodeSdk/package.json +0 -6
  55. package/Otlp/package.json +0 -6
  56. package/OtlpLogger/package.json +0 -6
  57. package/OtlpMetrics/package.json +0 -6
  58. package/OtlpResource/package.json +0 -6
  59. package/OtlpTracer/package.json +0 -6
  60. package/Resource/package.json +0 -6
  61. package/Tracer/package.json +0 -6
  62. package/WebSdk/package.json +0 -6
  63. package/dist/cjs/Logger.js +0 -85
  64. package/dist/cjs/Logger.js.map +0 -1
  65. package/dist/cjs/Metrics.js +0 -24
  66. package/dist/cjs/Metrics.js.map +0 -1
  67. package/dist/cjs/NodeSdk.js +0 -53
  68. package/dist/cjs/NodeSdk.js.map +0 -1
  69. package/dist/cjs/Otlp.js +0 -46
  70. package/dist/cjs/Otlp.js.map +0 -1
  71. package/dist/cjs/OtlpLogger.js +0 -158
  72. package/dist/cjs/OtlpLogger.js.map +0 -1
  73. package/dist/cjs/OtlpMetrics.js +0 -354
  74. package/dist/cjs/OtlpMetrics.js.map +0 -1
  75. package/dist/cjs/OtlpResource.js +0 -136
  76. package/dist/cjs/OtlpResource.js.map +0 -1
  77. package/dist/cjs/OtlpTracer.js +0 -229
  78. package/dist/cjs/OtlpTracer.js.map +0 -1
  79. package/dist/cjs/Resource.js +0 -75
  80. package/dist/cjs/Resource.js.map +0 -1
  81. package/dist/cjs/Tracer.js +0 -87
  82. package/dist/cjs/Tracer.js.map +0 -1
  83. package/dist/cjs/WebSdk.js +0 -42
  84. package/dist/cjs/WebSdk.js.map +0 -1
  85. package/dist/cjs/index.js +0 -30
  86. package/dist/cjs/index.js.map +0 -1
  87. package/dist/cjs/internal/metrics.js +0 -288
  88. package/dist/cjs/internal/metrics.js.map +0 -1
  89. package/dist/cjs/internal/otlpExporter.js +0 -81
  90. package/dist/cjs/internal/otlpExporter.js.map +0 -1
  91. package/dist/cjs/internal/tracer.js +0 -299
  92. package/dist/cjs/internal/tracer.js.map +0 -1
  93. package/dist/cjs/internal/utils.js +0 -34
  94. package/dist/cjs/internal/utils.js.map +0 -1
  95. package/dist/dts/Logger.d.ts.map +0 -1
  96. package/dist/dts/Metrics.d.ts +0 -29
  97. package/dist/dts/Metrics.d.ts.map +0 -1
  98. package/dist/dts/NodeSdk.d.ts.map +0 -1
  99. package/dist/dts/Otlp.d.ts +0 -31
  100. package/dist/dts/Otlp.d.ts.map +0 -1
  101. package/dist/dts/OtlpLogger.d.ts +0 -46
  102. package/dist/dts/OtlpLogger.d.ts.map +0 -1
  103. package/dist/dts/OtlpMetrics.d.ts +0 -40
  104. package/dist/dts/OtlpMetrics.d.ts.map +0 -1
  105. package/dist/dts/OtlpResource.d.ts +0 -104
  106. package/dist/dts/OtlpResource.d.ts.map +0 -1
  107. package/dist/dts/OtlpTracer.d.ts +0 -49
  108. package/dist/dts/OtlpTracer.d.ts.map +0 -1
  109. package/dist/dts/Resource.d.ts.map +0 -1
  110. package/dist/dts/Tracer.d.ts +0 -143
  111. package/dist/dts/Tracer.d.ts.map +0 -1
  112. package/dist/dts/WebSdk.d.ts.map +0 -1
  113. package/dist/dts/index.d.ts +0 -45
  114. package/dist/dts/index.d.ts.map +0 -1
  115. package/dist/dts/internal/otlpExporter.d.ts +0 -2
  116. package/dist/dts/internal/otlpExporter.d.ts.map +0 -1
  117. package/dist/dts/internal/tracer.d.ts +0 -2
  118. package/dist/dts/internal/tracer.d.ts.map +0 -1
  119. package/dist/dts/internal/utils.d.ts +0 -2
  120. package/dist/dts/internal/utils.d.ts.map +0 -1
  121. package/dist/esm/Logger.js +0 -75
  122. package/dist/esm/Logger.js.map +0 -1
  123. package/dist/esm/Metrics.js +0 -17
  124. package/dist/esm/Metrics.js.map +0 -1
  125. package/dist/esm/NodeSdk.js.map +0 -1
  126. package/dist/esm/Otlp.js +0 -38
  127. package/dist/esm/Otlp.js.map +0 -1
  128. package/dist/esm/OtlpLogger.js +0 -150
  129. package/dist/esm/OtlpLogger.js.map +0 -1
  130. package/dist/esm/OtlpMetrics.js +0 -346
  131. package/dist/esm/OtlpMetrics.js.map +0 -1
  132. package/dist/esm/OtlpResource.js +0 -124
  133. package/dist/esm/OtlpResource.js.map +0 -1
  134. package/dist/esm/OtlpTracer.js +0 -221
  135. package/dist/esm/OtlpTracer.js.map +0 -1
  136. package/dist/esm/Resource.js.map +0 -1
  137. package/dist/esm/Tracer.js +0 -80
  138. package/dist/esm/Tracer.js.map +0 -1
  139. package/dist/esm/WebSdk.js +0 -33
  140. package/dist/esm/WebSdk.js.map +0 -1
  141. package/dist/esm/index.js.map +0 -1
  142. package/dist/esm/internal/metrics.js +0 -278
  143. package/dist/esm/internal/metrics.js.map +0 -1
  144. package/dist/esm/internal/otlpExporter.js +0 -74
  145. package/dist/esm/internal/otlpExporter.js.map +0 -1
  146. package/dist/esm/internal/tracer.js +0 -290
  147. package/dist/esm/internal/tracer.js.map +0 -1
  148. package/dist/esm/internal/utils.js +0 -23
  149. package/dist/esm/internal/utils.js.map +0 -1
  150. package/dist/esm/package.json +0 -4
  151. package/index/package.json +0 -6
  152. package/src/Otlp.ts +0 -66
  153. package/src/OtlpLogger.ts +0 -258
  154. package/src/OtlpMetrics.ts +0 -571
  155. package/src/OtlpResource.ts +0 -232
  156. package/src/OtlpTracer.ts +0 -349
  157. package/src/internal/otlpExporter.ts +0 -124
  158. package/src/internal/tracer.ts +0 -437
  159. package/src/internal/utils.ts +0 -31
  160. /package/dist/{dts/internal → internal}/metrics.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.js","names":["ValueType","AggregationTemporality","DataPointType","InstrumentType","Arr","Effect","Layer","Metric","MetricKeyType","MetricState","Option","Resource","sdkName","MetricProducerImpl","resource","constructor","startTimes","Map","startTimeFor","name","hrTime","has","get","set","collect","_options","snapshot","unsafeSnapshot","hrTimeNow","currentHrTime","metricData","metricDataByName","addMetricData","data","push","descriptor","i","len","length","metricKey","metricState","attributes","reduce","tags","acc","label","key","value","descriptorFromKey","startTime","isCounterState","dataPoint","endTime","Number","count","dataPoints","dataPointType","SUM","isMonotonic","type","COUNTER","aggregationTemporality","CUMULATIVE","isGaugeState","GAUGE","isHistogramState","size","buckets","boundaries","allocate","counts","prev","boundary","min","max","sum","HISTOGRAM","isFrequencyState","freqKey","occurrences","isSummaryState","quantile","quantiles","toString","_tag","countDataPoint","sumDataPoint","descriptorMeta","unit","valueType","INT","DOUBLE","Promise","resolve","resourceMetrics","scopeMetrics","scope","metrics","errors","suffix","description","getOrElse","advice","time_unit","instrumentTypeFromKey","keyType","bigint","isHistogramKey","isGaugeKey","OBSERVABLE_GAUGE","isFrequencyKey","isCounterKey","incremental","UP_DOWN_COUNTER","now","Date","Math","floor","makeProducer","map","registerProducer","self","metricReader","options","acquireRelease","sync","reader","readers","Array","isArray","forEach","setMetricProducer","promise","all","shutdown","pipe","ignoreLogged","interruptible","timeoutOption","shutdownTimeout","layer","evaluate","scopedDiscard","flatMap","producer"],"sources":["../../../src/internal/metrics.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,74 +0,0 @@
1
- import * as Headers from "@effect/platform/Headers";
2
- import * as HttpClient from "@effect/platform/HttpClient";
3
- import * as HttpClientError from "@effect/platform/HttpClientError";
4
- import * as HttpClientRequest from "@effect/platform/HttpClientRequest";
5
- import * as Duration from "effect/Duration";
6
- import * as Effect from "effect/Effect";
7
- import * as FiberSet from "effect/FiberSet";
8
- import * as Num from "effect/Number";
9
- import * as Option from "effect/Option";
10
- import * as Schedule from "effect/Schedule";
11
- import * as Scope from "effect/Scope";
12
- const policy = /*#__PURE__*/Schedule.forever.pipe(Schedule.passthrough, /*#__PURE__*/Schedule.addDelay(error => {
13
- if (HttpClientError.isHttpClientError(error) && error._tag === "ResponseError" && error.response.status === 429) {
14
- const retryAfter = Option.fromNullable(error.response.headers["retry-after"]).pipe(Option.flatMap(Num.parse), Option.getOrElse(() => 5));
15
- return Duration.seconds(retryAfter);
16
- }
17
- return Duration.seconds(1);
18
- }));
19
- /** @internal */
20
- export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
21
- const clock = yield* Effect.clock;
22
- const scope = yield* Effect.scope;
23
- const exportInterval = Duration.decode(options.exportInterval);
24
- let disabledUntil = undefined;
25
- const client = HttpClient.filterStatusOk(yield* HttpClient.HttpClient).pipe(HttpClient.retryTransient({
26
- schedule: policy,
27
- times: 3
28
- }));
29
- let headers = Headers.unsafeFromRecord({
30
- "user-agent": `effect-opentelemetry-${options.label}/0.0.0`
31
- });
32
- if (options.headers) {
33
- headers = Headers.merge(Headers.fromInput(options.headers), headers);
34
- }
35
- const request = HttpClientRequest.post(options.url, {
36
- headers
37
- });
38
- let buffer = [];
39
- const runExport = Effect.suspend(() => {
40
- if (disabledUntil !== undefined && clock.unsafeCurrentTimeMillis() < disabledUntil) {
41
- return Effect.void;
42
- } else if (disabledUntil !== undefined) {
43
- disabledUntil = undefined;
44
- }
45
- const items = buffer;
46
- if (options.maxBatchSize !== "disabled") {
47
- if (buffer.length === 0) {
48
- return Effect.void;
49
- }
50
- buffer = [];
51
- }
52
- return client.execute(HttpClientRequest.bodyUnsafeJson(request, options.body(items))).pipe(Effect.asVoid, Effect.withTracerEnabled(false));
53
- }).pipe(Effect.catchAllCause(cause => {
54
- if (disabledUntil !== undefined) return Effect.void;
55
- disabledUntil = clock.unsafeCurrentTimeMillis() + Duration.toMillis("1 minute");
56
- return Effect.logDebug(`Disabling ${options.label} for 60 seconds`, cause);
57
- }));
58
- yield* Scope.addFinalizer(scope, runExport.pipe(Effect.ignore, Effect.interruptible, Effect.timeoutOption(options.shutdownTimeout)));
59
- yield* Effect.sleep(exportInterval).pipe(Effect.zipRight(runExport), Effect.forever, Effect.annotateLogs({
60
- package: "@effect/opentelemetry",
61
- module: options.label
62
- }), Effect.forkIn(scope), Effect.interruptible);
63
- const runFork = yield* FiberSet.makeRuntime().pipe(Effect.interruptible);
64
- return {
65
- push(data) {
66
- if (disabledUntil !== undefined) return;
67
- buffer.push(data);
68
- if (options.maxBatchSize !== "disabled" && buffer.length >= options.maxBatchSize) {
69
- runFork(runExport);
70
- }
71
- }
72
- };
73
- });
74
- //# sourceMappingURL=otlpExporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"otlpExporter.js","names":["Headers","HttpClient","HttpClientError","HttpClientRequest","Duration","Effect","FiberSet","Num","Option","Schedule","Scope","policy","forever","pipe","passthrough","addDelay","error","isHttpClientError","_tag","response","status","retryAfter","fromNullable","headers","flatMap","parse","getOrElse","seconds","make","fnUntraced","options","clock","scope","exportInterval","decode","disabledUntil","undefined","client","filterStatusOk","retryTransient","schedule","times","unsafeFromRecord","label","merge","fromInput","request","post","url","buffer","runExport","suspend","unsafeCurrentTimeMillis","void","items","maxBatchSize","length","execute","bodyUnsafeJson","body","asVoid","withTracerEnabled","catchAllCause","cause","toMillis","logDebug","addFinalizer","ignore","interruptible","timeoutOption","shutdownTimeout","sleep","zipRight","annotateLogs","package","module","forkIn","runFork","makeRuntime","push","data"],"sources":["../../../src/internal/otlpExporter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,290 +0,0 @@
1
- import * as OtelApi from "@opentelemetry/api";
2
- import * as OtelSemConv from "@opentelemetry/semantic-conventions";
3
- import * as Cause from "effect/Cause";
4
- import * as Context from "effect/Context";
5
- import * as Effect from "effect/Effect";
6
- import * as Exit from "effect/Exit";
7
- import { constTrue, dual } from "effect/Function";
8
- import * as Layer from "effect/Layer";
9
- import * as Option from "effect/Option";
10
- import * as EffectTracer from "effect/Tracer";
11
- import { Resource } from "../Resource.js";
12
- import { nanosToHrTime, recordToAttributes, unknownToAttributeValue } from "./utils.js";
13
- const OtelSpanTypeId = /*#__PURE__*/Symbol.for("@effect/opentelemetry/Tracer/OtelSpan");
14
- const kindMap = {
15
- "internal": OtelApi.SpanKind.INTERNAL,
16
- "client": OtelApi.SpanKind.CLIENT,
17
- "server": OtelApi.SpanKind.SERVER,
18
- "producer": OtelApi.SpanKind.PRODUCER,
19
- "consumer": OtelApi.SpanKind.CONSUMER
20
- };
21
- const getOtelParent = (tracer, otelContext, context) => {
22
- const active = tracer.getSpan(otelContext);
23
- const otelParent = active ? active.spanContext() : undefined;
24
- return otelParent ? Option.some(EffectTracer.externalSpan({
25
- spanId: otelParent.spanId,
26
- traceId: otelParent.traceId,
27
- sampled: (otelParent.traceFlags & 1) === 1,
28
- context
29
- })) : Option.none();
30
- };
31
- /** @internal */
32
- export class OtelSpan {
33
- name;
34
- context;
35
- links;
36
- kind;
37
- [OtelSpanTypeId];
38
- _tag = "Span";
39
- span;
40
- spanId;
41
- traceId;
42
- attributes = /*#__PURE__*/new Map();
43
- sampled;
44
- parent;
45
- status;
46
- constructor(contextApi, traceApi, tracer, name, effectParent, context, links, startTime, kind, options) {
47
- this.name = name;
48
- this.context = context;
49
- this.links = links;
50
- this.kind = kind;
51
- this[OtelSpanTypeId] = OtelSpanTypeId;
52
- const active = contextApi.active();
53
- this.parent = effectParent._tag === "Some" ? effectParent : options?.root !== true ? getOtelParent(traceApi, active, context) : Option.none();
54
- this.span = tracer.startSpan(name, {
55
- startTime: nanosToHrTime(startTime),
56
- links: links.length > 0 ? links.map(link => ({
57
- context: makeSpanContext(link.span),
58
- attributes: recordToAttributes(link.attributes)
59
- })) : undefined,
60
- kind: kindMap[this.kind]
61
- }, this.parent._tag === "Some" ? populateContext(active, this.parent.value, context) : OtelApi.trace.deleteSpan(active));
62
- const spanContext = this.span.spanContext();
63
- this.spanId = spanContext.spanId;
64
- this.traceId = spanContext.traceId;
65
- this.status = {
66
- _tag: "Started",
67
- startTime
68
- };
69
- this.sampled = (spanContext.traceFlags & OtelApi.TraceFlags.SAMPLED) === OtelApi.TraceFlags.SAMPLED;
70
- }
71
- attribute(key, value) {
72
- this.span.setAttribute(key, unknownToAttributeValue(value));
73
- this.attributes.set(key, value);
74
- }
75
- addLinks(links) {
76
- // eslint-disable-next-line no-restricted-syntax
77
- this.links.push(...links);
78
- this.span.addLinks(links.map(link => ({
79
- context: makeSpanContext(link.span),
80
- attributes: recordToAttributes(link.attributes)
81
- })));
82
- }
83
- end(endTime, exit) {
84
- const hrTime = nanosToHrTime(endTime);
85
- this.status = {
86
- _tag: "Ended",
87
- endTime,
88
- exit,
89
- startTime: this.status.startTime
90
- };
91
- if (exit._tag === "Success") {
92
- this.span.setStatus({
93
- code: OtelApi.SpanStatusCode.OK
94
- });
95
- } else {
96
- if (Cause.isInterruptedOnly(exit.cause)) {
97
- this.span.setStatus({
98
- code: OtelApi.SpanStatusCode.OK,
99
- message: Cause.pretty(exit.cause)
100
- });
101
- this.span.setAttribute("span.label", "⚠︎ Interrupted");
102
- this.span.setAttribute("status.interrupted", true);
103
- } else {
104
- const firstError = Cause.prettyErrors(exit.cause)[0];
105
- if (firstError) {
106
- firstError.stack = Cause.pretty(exit.cause, {
107
- renderErrorCause: true
108
- });
109
- this.span.recordException(firstError, hrTime);
110
- this.span.setStatus({
111
- code: OtelApi.SpanStatusCode.ERROR,
112
- message: firstError.message
113
- });
114
- } else {
115
- // empty cause means no error
116
- this.span.setStatus({
117
- code: OtelApi.SpanStatusCode.OK
118
- });
119
- }
120
- }
121
- }
122
- this.span.end(hrTime);
123
- }
124
- event(name, startTime, attributes) {
125
- this.span.addEvent(name, attributes ? recordToAttributes(attributes) : undefined, nanosToHrTime(startTime));
126
- }
127
- }
128
- /** @internal */
129
- export const TracerProvider = /*#__PURE__*/Context.GenericTag("@effect/opentelemetry/Tracer/OtelTracerProvider");
130
- /** @internal */
131
- export const Tracer = /*#__PURE__*/Context.GenericTag("@effect/opentelemetry/Tracer/OtelTracer");
132
- /** @internal */
133
- export const make = /*#__PURE__*/Effect.map(Tracer, tracer => EffectTracer.make({
134
- span(name, parent, context, links, startTime, kind, options) {
135
- return new OtelSpan(OtelApi.context, OtelApi.trace, tracer, name, parent, context, links.slice(), startTime, kind, options);
136
- },
137
- context(execution, fiber) {
138
- const currentSpan = fiber.currentSpan;
139
- if (currentSpan === undefined) {
140
- return execution();
141
- }
142
- return OtelApi.context.with(populateContext(OtelApi.context.active(), currentSpan), execution);
143
- }
144
- }));
145
- /** @internal */
146
- export const traceFlagsTag = /*#__PURE__*/Context.GenericTag("@effect/opentelemetry/Tracer/OtelTraceFlags");
147
- /** @internal */
148
- export const traceStateTag = /*#__PURE__*/Context.GenericTag("@effect/opentelemetry/Tracer/OtelTraceState");
149
- /** @internal */
150
- export const makeExternalSpan = options => {
151
- let context = Context.empty();
152
- if (options.traceFlags !== undefined) {
153
- context = Context.add(context, traceFlagsTag, options.traceFlags);
154
- }
155
- if (typeof options.traceState === "string") {
156
- context = Option.match(createTraceState(options.traceState), {
157
- onNone: () => context,
158
- onSome: traceState => Context.add(context, traceStateTag, traceState)
159
- });
160
- } else if (options.traceState) {
161
- context = Context.add(context, traceStateTag, options.traceState);
162
- }
163
- return {
164
- _tag: "ExternalSpan",
165
- traceId: options.traceId,
166
- spanId: options.spanId,
167
- sampled: options.traceFlags !== undefined ? (options.traceFlags & OtelApi.TraceFlags.SAMPLED) === OtelApi.TraceFlags.SAMPLED : true,
168
- context
169
- };
170
- };
171
- const makeOtelSpan = (span, clock) => {
172
- const spanContext = {
173
- traceId: span.traceId,
174
- spanId: span.spanId,
175
- traceFlags: span.sampled ? OtelApi.TraceFlags.SAMPLED : OtelApi.TraceFlags.NONE,
176
- isRemote: false
177
- };
178
- let exit = Exit.void;
179
- const self = {
180
- spanContext: () => spanContext,
181
- setAttribute(key, value) {
182
- span.attribute(key, value);
183
- return self;
184
- },
185
- setAttributes(attributes) {
186
- for (const [key, value] of Object.entries(attributes)) {
187
- span.attribute(key, value);
188
- }
189
- return self;
190
- },
191
- addEvent(name) {
192
- let attributes = undefined;
193
- let startTime = undefined;
194
- if (arguments.length === 3) {
195
- attributes = arguments[1];
196
- startTime = arguments[2];
197
- } else {
198
- startTime = arguments[1];
199
- }
200
- span.event(name, convertOtelTimeInput(startTime, clock), attributes);
201
- return self;
202
- },
203
- addLink(link) {
204
- span.addLinks([{
205
- _tag: "SpanLink",
206
- span: makeExternalSpan(link.context),
207
- attributes: link.attributes ?? {}
208
- }]);
209
- return self;
210
- },
211
- addLinks(links) {
212
- span.addLinks(links.map(link => ({
213
- _tag: "SpanLink",
214
- span: makeExternalSpan(link.context),
215
- attributes: link.attributes ?? {}
216
- })));
217
- return self;
218
- },
219
- setStatus(status) {
220
- exit = OtelApi.SpanStatusCode.ERROR ? Exit.die(status.message ?? "Unknown error") : Exit.void;
221
- return self;
222
- },
223
- updateName: () => self,
224
- end(endTime) {
225
- const time = convertOtelTimeInput(endTime, clock);
226
- span.end(time, exit);
227
- return self;
228
- },
229
- isRecording: constTrue,
230
- recordException(exception, timeInput) {
231
- const time = convertOtelTimeInput(timeInput, clock);
232
- const cause = Cause.fail(exception);
233
- const error = Cause.prettyErrors(cause)[0];
234
- span.event(error.message, time, {
235
- "exception.type": error.name,
236
- "exception.message": error.message,
237
- "exception.stacktrace": error.stack ?? ""
238
- });
239
- }
240
- };
241
- return self;
242
- };
243
- const bigint1e6 = /*#__PURE__*/BigInt(1_000_000);
244
- const bigint1e9 = /*#__PURE__*/BigInt(1_000_000_000);
245
- const convertOtelTimeInput = (input, clock) => {
246
- if (input === undefined) {
247
- return clock.unsafeCurrentTimeNanos();
248
- } else if (typeof input === "number") {
249
- return BigInt(Math.round(input * 1_000_000));
250
- } else if (input instanceof Date) {
251
- return BigInt(input.getTime()) * bigint1e6;
252
- }
253
- const [seconds, nanos] = input;
254
- return BigInt(seconds) * bigint1e9 + BigInt(nanos);
255
- };
256
- /** @internal */
257
- export const currentOtelSpan = /*#__PURE__*/Effect.clockWith(clock => Effect.map(Effect.currentSpan, span => {
258
- if (OtelSpanTypeId in span) {
259
- return span.span;
260
- }
261
- return makeOtelSpan(span, clock);
262
- }));
263
- /** @internal */
264
- export const layerGlobalProvider = /*#__PURE__*/Layer.sync(TracerProvider, () => OtelApi.trace.getTracerProvider());
265
- /** @internal */
266
- export const layerTracer = /*#__PURE__*/Layer.effect(Tracer, /*#__PURE__*/Effect.flatMap(/*#__PURE__*/Effect.zip(Resource, TracerProvider), ([resource, provider]) => Effect.sync(() => provider.getTracer(resource.attributes[OtelSemConv.ATTR_SERVICE_NAME], resource.attributes[OtelSemConv.ATTR_SERVICE_VERSION]))));
267
- /** @internal */
268
- export const layerGlobalTracer = /*#__PURE__*/layerTracer.pipe(/*#__PURE__*/Layer.provide(layerGlobalProvider));
269
- /** @internal */
270
- export const layerGlobal = /*#__PURE__*/Layer.unwrapEffect(Effect.map(make, Layer.setTracer)).pipe(/*#__PURE__*/Layer.provideMerge(layerGlobalTracer));
271
- /** @internal */
272
- export const layerWithoutOtelTracer = /*#__PURE__*/Layer.unwrapEffect(/*#__PURE__*/Effect.map(make, Layer.setTracer));
273
- /** @internal */
274
- export const layer = /*#__PURE__*/layerWithoutOtelTracer.pipe(/*#__PURE__*/Layer.provideMerge(layerTracer));
275
- // -------------------------------------------------------------------------------------
276
- // utils
277
- // -------------------------------------------------------------------------------------
278
- const createTraceState = /*#__PURE__*/Option.liftThrowable(OtelApi.createTraceState);
279
- const populateContext = (otelContext, span, context) => span instanceof OtelSpan ? OtelApi.trace.setSpan(otelContext, span.span) : OtelApi.trace.setSpanContext(otelContext, makeSpanContext(span, context));
280
- const makeSpanContext = (span, context) => ({
281
- spanId: span.spanId,
282
- traceId: span.traceId,
283
- isRemote: span._tag === "ExternalSpan",
284
- traceFlags: Option.getOrElse(context ? extractTraceTag(span, context, traceFlagsTag) : Context.getOption(span.context, traceFlagsTag), () => OtelApi.TraceFlags.SAMPLED),
285
- traceState: Option.getOrUndefined(context ? extractTraceTag(span, context, traceStateTag) : Context.getOption(span.context, traceStateTag))
286
- });
287
- const extractTraceTag = (parent, context, tag) => Option.orElse(Context.getOption(context, tag), () => Context.getOption(parent.context, tag));
288
- /** @internal */
289
- export const withSpanContext = /*#__PURE__*/dual(2, (effect, spanContext) => Effect.withParentSpan(effect, makeExternalSpan(spanContext)));
290
- //# sourceMappingURL=tracer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracer.js","names":["OtelApi","OtelSemConv","Cause","Context","Effect","Exit","constTrue","dual","Layer","Option","EffectTracer","Resource","nanosToHrTime","recordToAttributes","unknownToAttributeValue","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","length","map","link","makeSpanContext","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","set","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","makeOtelSpan","clock","NONE","isRemote","void","self","setAttributes","Object","entries","arguments","convertOtelTimeInput","addLink","die","updateName","time","isRecording","exception","timeInput","fail","error","bigint1e6","BigInt","bigint1e9","input","unsafeCurrentTimeNanos","Math","round","Date","getTime","seconds","nanos","currentOtelSpan","clockWith","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","flatMap","zip","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,23 +0,0 @@
1
- import * as Inspectable from "effect/Inspectable";
2
- const bigint1e9 = 1000000000n;
3
- /** @internal */
4
- export const nanosToHrTime = timestamp => {
5
- return [Number(timestamp / bigint1e9), Number(timestamp % bigint1e9)];
6
- };
7
- /** @internal */
8
- export const recordToAttributes = value => Object.entries(value).reduce((acc, [key, value]) => {
9
- acc[key] = unknownToAttributeValue(value);
10
- return acc;
11
- }, {});
12
- /** @internal */
13
- export const unknownToAttributeValue = value => {
14
- if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
15
- return value;
16
- } else if (typeof value === "bigint") {
17
- return value.toString();
18
- }
19
- return Inspectable.toStringUnknown(value);
20
- };
21
- /** @internal */
22
- export const isNonEmpty = a => a !== undefined && !(Array.isArray(a) && a.length === 0);
23
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":["Inspectable","bigint1e9","nanosToHrTime","timestamp","Number","recordToAttributes","value","Object","entries","reduce","acc","key","unknownToAttributeValue","toString","toStringUnknown","isNonEmpty","a","undefined","Array","isArray","length"],"sources":["../../../src/internal/utils.ts"],"sourcesContent":[null],"mappings":"AAEA,OAAO,KAAKA,WAAW,MAAM,oBAAoB;AAEjD,MAAMC,SAAS,GAAG,WAAc;AAEhC;AACA,OAAO,MAAMC,aAAa,GAAIC,SAAiB,IAAoB;EACjE,OAAO,CAACC,MAAM,CAACD,SAAS,GAAGF,SAAS,CAAC,EAAEG,MAAM,CAACD,SAAS,GAAGF,SAAS,CAAC,CAAC;AACvE,CAAC;AAED;AACA,OAAO,MAAMI,kBAAkB,GAAIC,KAA8B,IAC/DC,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAACG,MAAM,CAAC,CAACC,GAAG,EAAE,CAACC,GAAG,EAAEL,KAAK,CAAC,KAAI;EACjDI,GAAG,CAACC,GAAG,CAAC,GAAGC,uBAAuB,CAACN,KAAK,CAAC;EACzC,OAAOI,GAAG;AACZ,CAAC,EAAE,EAAwB,CAAC;AAE9B;AACA,OAAO,MAAME,uBAAuB,GAAIN,KAAc,IAA4B;EAChF,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE;IACxF,OAAOA,KAAK;EACd,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAOA,KAAK,CAACO,QAAQ,EAAE;EACzB;EACA,OAAOb,WAAW,CAACc,eAAe,CAACR,KAAK,CAAC;AAC3C,CAAC;AAED;AACA,OAAO,MAAMS,UAAU,GAAOC,CAAmC,IAC/DA,CAAC,KAAKC,SAAS,IAAI,EAAEC,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,IAAIA,CAAC,CAACI,MAAM,KAAK,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- {
2
- "type": "module",
3
- "sideEffects": []
4
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/index.js",
4
- "module": "../dist/esm/index.js",
5
- "types": "../dist/dts/index.d.ts"
6
- }
package/src/Otlp.ts DELETED
@@ -1,66 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type * as Headers from "@effect/platform/Headers"
5
- import type * as HttpClient from "@effect/platform/HttpClient"
6
- import * as HttpClientRequest from "@effect/platform/HttpClientRequest"
7
- import type * as Duration from "effect/Duration"
8
- import * as Layer from "effect/Layer"
9
- import type * as Logger from "effect/Logger"
10
- import type * as Tracer from "effect/Tracer"
11
- import * as OtlpLogger from "./OtlpLogger.js"
12
- import * as OtlpMetrics from "./OtlpMetrics.js"
13
- import * as OtlpTracer from "./OtlpTracer.js"
14
-
15
- /**
16
- * @since 1.0.0
17
- * @category Layers
18
- */
19
- export const layer = (options: {
20
- readonly baseUrl: string
21
- readonly resource?: {
22
- readonly serviceName?: string | undefined
23
- readonly serviceVersion?: string | undefined
24
- readonly attributes?: Record<string, unknown>
25
- }
26
- readonly headers?: Headers.Input | undefined
27
- readonly maxBatchSize?: number | undefined
28
- readonly replaceLogger?: Logger.Logger<any, any> | undefined
29
- readonly tracerContext?: (<X>(f: () => X, span: Tracer.AnySpan) => X) | undefined
30
- readonly loggerExportInterval?: Duration.DurationInput | undefined
31
- readonly loggerExcludeLogSpans?: boolean | undefined
32
- readonly metricsExportInterval?: Duration.DurationInput | undefined
33
- readonly tracerExportInterval?: Duration.DurationInput | undefined
34
- readonly shutdownTimeout?: Duration.DurationInput | undefined
35
- }): Layer.Layer<never, never, HttpClient.HttpClient> => {
36
- const baseReq = HttpClientRequest.get(options.baseUrl)
37
- const url = (path: string) => HttpClientRequest.appendUrl(baseReq, path).url
38
- return Layer.mergeAll(
39
- OtlpLogger.layer({
40
- replaceLogger: options.replaceLogger,
41
- url: url("/v1/logs"),
42
- resource: options.resource,
43
- headers: options.headers,
44
- exportInterval: options.loggerExportInterval,
45
- maxBatchSize: options.maxBatchSize,
46
- shutdownTimeout: options.shutdownTimeout,
47
- excludeLogSpans: options.loggerExcludeLogSpans
48
- }),
49
- OtlpMetrics.layer({
50
- url: url("/v1/metrics"),
51
- resource: options.resource,
52
- headers: options.headers,
53
- exportInterval: options.metricsExportInterval,
54
- shutdownTimeout: options.shutdownTimeout
55
- }),
56
- OtlpTracer.layer({
57
- url: url("/v1/traces"),
58
- resource: options.resource,
59
- headers: options.headers,
60
- exportInterval: options.tracerExportInterval,
61
- maxBatchSize: options.maxBatchSize,
62
- context: options.tracerContext,
63
- shutdownTimeout: options.shutdownTimeout
64
- })
65
- )
66
- }