@smthrs/observability 1.0.0-rc.5 → 1.0.0-rc.7
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/README.md +9 -8
- package/dist/cjs/Otel.d.ts +3 -2
- package/dist/cjs/Otel.d.ts.map +1 -1
- package/dist/cjs/Otel.js.map +2 -2
- package/dist/cjs/Otlp.d.ts +9 -6
- package/dist/cjs/Otlp.d.ts.map +1 -1
- package/dist/cjs/Otlp.js +23 -7
- package/dist/cjs/Otlp.js.map +2 -2
- package/dist/cjs/Resource.d.ts +6 -5
- package/dist/cjs/Resource.d.ts.map +1 -1
- package/dist/cjs/Resource.js +1 -1
- package/dist/cjs/Resource.js.map +2 -2
- package/dist/esm/Otel.d.ts +3 -2
- package/dist/esm/Otel.d.ts.map +1 -1
- package/dist/esm/Otel.js +2 -1
- package/dist/esm/Otel.js.map +1 -1
- package/dist/esm/Otlp.d.ts +9 -6
- package/dist/esm/Otlp.d.ts.map +1 -1
- package/dist/esm/Otlp.js +47 -13
- package/dist/esm/Otlp.js.map +1 -1
- package/dist/esm/Resource.d.ts +6 -5
- package/dist/esm/Resource.d.ts.map +1 -1
- package/dist/esm/Resource.js +7 -6
- package/dist/esm/Resource.js.map +1 -1
- package/docs/api.md +24 -12
- package/docs/concepts/instrumentation-and-export.md +31 -1
- package/docs/concepts/layer-map.md +5 -4
- package/docs/concepts/validated-acquisition.md +4 -3
- package/docs/guides/export-to-a-collector.md +27 -4
- package/docs/guides/testing.md +1 -1
- package/docs/guides/wire-an-opentelemetry-sdk.md +10 -4
- package/docs/installation.md +8 -8
- package/docs/troubleshooting.md +2 -2
- package/package.json +7 -7
- package/src/Otel.ts +3 -2
- package/src/Otlp.ts +52 -15
- package/src/Resource.ts +7 -6
package/dist/esm/Otlp.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* `Metric` counters on their hot paths; what they deliberately do not do is
|
|
6
6
|
* ship an exporter. This module is that exporter: one layer that installs
|
|
7
7
|
* Effect's own OTLP logger, metrics exporter, and tracer
|
|
8
|
-
* (`effect/
|
|
8
|
+
* (`effect/observability/Otlp`) against a collector endpoint, with
|
|
9
9
|
* the flows service identity filled in. Nothing beyond `effect` is involved;
|
|
10
10
|
* no OpenTelemetry SDK dependency.
|
|
11
11
|
*
|
|
@@ -23,19 +23,19 @@ import { Clock } from "effect/Clock";
|
|
|
23
23
|
import * as ConfigProvider from "effect/ConfigProvider";
|
|
24
24
|
import * as Effect from "effect/Effect";
|
|
25
25
|
import * as Exit from "effect/Exit";
|
|
26
|
+
import * as FetchHttpClient from "effect/http/FetchHttpClient";
|
|
27
|
+
import * as Headers from "effect/http/Headers";
|
|
28
|
+
import * as HttpClient from "effect/http/HttpClient";
|
|
29
|
+
import * as HttpClientResponse from "effect/http/HttpClientResponse";
|
|
26
30
|
import * as Layer from "effect/Layer";
|
|
27
31
|
import * as Logger from "effect/Logger";
|
|
28
32
|
import * as Metric from "effect/Metric";
|
|
33
|
+
import * as Otlp from "effect/observability/Otlp";
|
|
29
34
|
import * as Option from "effect/Option";
|
|
30
35
|
import * as References from "effect/References";
|
|
31
36
|
import * as Schema from "effect/Schema";
|
|
32
37
|
import * as Semaphore from "effect/Semaphore";
|
|
33
38
|
import * as Tracer from "effect/Tracer";
|
|
34
|
-
import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
|
|
35
|
-
import * as Headers from "effect/unstable/http/Headers";
|
|
36
|
-
import * as HttpClient from "effect/unstable/http/HttpClient";
|
|
37
|
-
import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
|
|
38
|
-
import * as Otlp from "effect/unstable/observability/Otlp";
|
|
39
39
|
import * as Endpoint from "./Endpoint.js";
|
|
40
40
|
import * as Resource from "./Resource.js";
|
|
41
41
|
/**
|
|
@@ -60,7 +60,7 @@ export const defaultServiceName = "flows";
|
|
|
60
60
|
* @category resource
|
|
61
61
|
* @since 0.1.0
|
|
62
62
|
*/
|
|
63
|
-
export const defaultServiceVersion = "1.0.0-rc.
|
|
63
|
+
export const defaultServiceVersion = "1.0.0-rc.7";
|
|
64
64
|
// The upstream logger and tracer each buffer at most one 1,000-record batch.
|
|
65
65
|
// Do not queue at the transport: upstream forks every full batch independently.
|
|
66
66
|
const maxBatchSize = 1000;
|
|
@@ -73,9 +73,11 @@ const maxInFlight = 4;
|
|
|
73
73
|
export const maxRequestBytes = 1024 * 1024;
|
|
74
74
|
const requestTimeout = "10 seconds";
|
|
75
75
|
const diagnosticIntervalMillis = 60_000;
|
|
76
|
-
// The envelope around the resource in
|
|
77
|
-
// the instrumentation scope name: at most 1,024 code units, at most six
|
|
78
|
-
// each once JSON-escaped, so under 8 KiB together with the envelope's own
|
|
76
|
+
// The envelope around the resource in a metrics request repeats `service.name`
|
|
77
|
+
// as the instrumentation scope name: at most 1,024 code units, at most six
|
|
78
|
+
// bytes each once JSON-escaped, so under 8 KiB together with the envelope's own
|
|
79
|
+
// keys. Log and trace requests name their scope `effect` with the Effect
|
|
80
|
+
// version instead, which is smaller.
|
|
79
81
|
/**
|
|
80
82
|
* Reserved bytes for request wrappers and the escaped instrumentation scope.
|
|
81
83
|
* @category transport
|
|
@@ -87,8 +89,9 @@ export const maximumEnvelopeBytes = 8 * 1024;
|
|
|
87
89
|
*
|
|
88
90
|
* The transport discards a request over 1 MiB, and the resource rides in every
|
|
89
91
|
* request, so the largest resource `Resource.decode` admits
|
|
90
|
-
* (`Resource.maximumResourceBytes`, 128 KiB) and the envelope
|
|
91
|
-
* service name (under 8 KiB) come off the top.
|
|
92
|
+
* (`Resource.maximumResourceBytes`, 128 KiB) and the envelope, which in a
|
|
93
|
+
* metrics request repeats the service name (under 8 KiB), come off the top.
|
|
94
|
+
* The 888 KiB left gives each
|
|
92
95
|
* record of a full 1,000-record logger or tracer batch about 900 bytes, three
|
|
93
96
|
* to four times a bare log record or span, and gives the metrics snapshot room
|
|
94
97
|
* for several thousand series. Every resource the decoder accepts therefore
|
|
@@ -100,8 +103,37 @@ export const maximumEnvelopeBytes = 8 * 1024;
|
|
|
100
103
|
* @since 1.0.0-rc.0
|
|
101
104
|
*/
|
|
102
105
|
export const reservedBatchBytes = maxRequestBytes - Resource.maximumResourceBytes - maximumEnvelopeBytes;
|
|
106
|
+
/**
|
|
107
|
+
* A collector's answer reduced to what the exporter acts on: its status and
|
|
108
|
+
* its `retry-after` delay, with no body.
|
|
109
|
+
*
|
|
110
|
+
* `Response` refuses a status outside 200 to 599 and a malformed header value.
|
|
111
|
+
* Neither is a collector's answer, so `Response.error()` reports it as status
|
|
112
|
+
* 0, which the exporter fails without retrying. A browser already reports a
|
|
113
|
+
* refused redirect that way.
|
|
114
|
+
*/
|
|
115
|
+
const withoutBody = (response) => {
|
|
116
|
+
const retryAfter = response.headers["retry-after"];
|
|
117
|
+
let answer;
|
|
118
|
+
try {
|
|
119
|
+
answer = new Response(null, {
|
|
120
|
+
status: response.status,
|
|
121
|
+
headers: retryAfter === undefined ? {} : { "retry-after": retryAfter }
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
answer = Response.error();
|
|
126
|
+
}
|
|
127
|
+
return HttpClientResponse.fromWeb(response.request, answer);
|
|
128
|
+
};
|
|
103
129
|
const boundedClient = Layer.effect(HttpClient.HttpClient, Effect.gen(function* () {
|
|
104
|
-
|
|
130
|
+
// The exporter reads every response body to its end, after the deadline
|
|
131
|
+
// and the in-flight limit below have let the request go. A collector that
|
|
132
|
+
// never ended its answer would stall that signal and grow the buffered
|
|
133
|
+
// body without bound. So the exchange ends here: the exporter receives the
|
|
134
|
+
// status and retry delay, and closing the scope aborts the transport with
|
|
135
|
+
// the body unread.
|
|
136
|
+
const client = HttpClient.transformResponse(HttpClient.withScope(yield* HttpClient.HttpClient), (exchange) => exchange.pipe(Effect.map(withoutBody), Effect.scoped));
|
|
105
137
|
const clock = yield* Clock;
|
|
106
138
|
// The loggers installed when this transport is acquired. The OTLP logger
|
|
107
139
|
// the same acquisition installs does not exist yet, so a diagnostic pinned
|
|
@@ -235,6 +267,8 @@ const redactedSpans = Layer.effect(Tracer.Tracer)(Effect.map(Effect.tracer, (tra
|
|
|
235
267
|
* once a minute a `Warn` record with code `otlp_export_discarded` names the
|
|
236
268
|
* reason, the request size, and the running total through the loggers that
|
|
237
269
|
* were installed when the layer was acquired, never through this exporter.
|
|
270
|
+
* A collector's response body is never read: the exporter acts on the status
|
|
271
|
+
* and the `retry-after` header, and the exchange ends when they arrive.
|
|
238
272
|
*
|
|
239
273
|
* **Details**
|
|
240
274
|
*
|
package/dist/esm/Otlp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Otlp.js","sourceRoot":"","sources":["../../src/Otlp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Otlp.js","sourceRoot":"","sources":["../../src/Otlp.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Resource.d.ts
CHANGED
|
@@ -48,11 +48,12 @@ export declare const maximumAttributes = 256;
|
|
|
48
48
|
*
|
|
49
49
|
* The measure is the OTLP `Resource` message the exporters place in every
|
|
50
50
|
* request, `{"attributes":[{"key":…,"value":{…}}],"droppedAttributesCount":0}`
|
|
51
|
-
* with service identity and SDK-added `telemetry.sdk.name
|
|
52
|
-
* `telemetry.sdk.language` included, after JSON
|
|
53
|
-
*
|
|
54
|
-
* exporter
|
|
55
|
-
*
|
|
51
|
+
* with service identity and SDK-added `telemetry.sdk.name`,
|
|
52
|
+
* `telemetry.sdk.language` and `telemetry.sdk.version` included, after JSON
|
|
53
|
+
* escaping and UTF-8 encoding. The SDK's own values are reserved even for the
|
|
54
|
+
* default Effect exporter, whose values are shorter. A caller attribute that
|
|
55
|
+
* replaces an SDK field, or that service identity overwrites, is counted
|
|
56
|
+
* beside it. It is the bound the per-field limits cannot express: 256
|
|
56
57
|
* attributes at the string ceiling would encode to 16 MiB, and the resource
|
|
57
58
|
* rides in every export request, so the default transport, which discards a
|
|
58
59
|
* request over 1 MiB, would deliver nothing at all. 128 KiB admits one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../../src/Resource.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../../src/Resource.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,OAAQ,CAAA;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,OAAQ,CAAA;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,QAAS,CAAA;AAElD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAA;AAEpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oBAAoB,SAAU,CAAA;AAqB3C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,kKAgB1B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,iMAYtB,CAAA;AA0CD;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;EAqBzB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;;;;;;AAErD;;;;;GAKG;AACH,qBAAa,4BAA6B,SAAQ,iCAOjD;CAAG;AAWJ;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GACjB,eAAe,OAAO,KACrB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAC6B,CAAA;AAEzF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,eAAe,OAAO,KAAG,aAMnD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,GACvC,eAAe,aAAa,KAC3B;IACD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;CAcpC,CAAA;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,eAAe,aAAa,KAAG,cACwB,CAAA;AAE1F;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,eAAe,aAAa,KAC3B,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,4BAA4B,CAG/D,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,8BAAwB,CAAA"}
|
package/dist/esm/Resource.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
import * as OtelResource from "@effect/opentelemetry/Resource";
|
|
7
7
|
import * as Effect from "effect/Effect";
|
|
8
8
|
import * as Layer from "effect/Layer";
|
|
9
|
+
import * as OtlpResource from "effect/observability/OtlpResource";
|
|
9
10
|
import * as Schema from "effect/Schema";
|
|
10
|
-
import * as OtlpResource from "effect/unstable/observability/OtlpResource";
|
|
11
11
|
import { schemaIssueMessage, schemaIssuePath } from "./internal/schemaIssuePath.js";
|
|
12
12
|
/**
|
|
13
13
|
* Largest service-name or service-version field accepted by a resource.
|
|
@@ -49,11 +49,12 @@ export const maximumAttributes = 256;
|
|
|
49
49
|
*
|
|
50
50
|
* The measure is the OTLP `Resource` message the exporters place in every
|
|
51
51
|
* request, `{"attributes":[{"key":…,"value":{…}}],"droppedAttributesCount":0}`
|
|
52
|
-
* with service identity and SDK-added `telemetry.sdk.name
|
|
53
|
-
* `telemetry.sdk.language` included, after JSON
|
|
54
|
-
*
|
|
55
|
-
* exporter
|
|
56
|
-
*
|
|
52
|
+
* with service identity and SDK-added `telemetry.sdk.name`,
|
|
53
|
+
* `telemetry.sdk.language` and `telemetry.sdk.version` included, after JSON
|
|
54
|
+
* escaping and UTF-8 encoding. The SDK's own values are reserved even for the
|
|
55
|
+
* default Effect exporter, whose values are shorter. A caller attribute that
|
|
56
|
+
* replaces an SDK field, or that service identity overwrites, is counted
|
|
57
|
+
* beside it. It is the bound the per-field limits cannot express: 256
|
|
57
58
|
* attributes at the string ceiling would encode to 16 MiB, and the resource
|
|
58
59
|
* rides in every export request, so the default transport, which discards a
|
|
59
60
|
* request over 1 MiB, would deliver nothing at all. 128 KiB admits one
|
package/dist/esm/Resource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.js","sourceRoot":"","sources":["../../src/Resource.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAA;AAE9D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Resource.js","sourceRoot":"","sources":["../../src/Resource.ts"],"names":[],"mappings":"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"}
|
package/docs/api.md
CHANGED
|
@@ -21,7 +21,7 @@ OpenTelemetry SDK. `@smthrs/observability/package.json` is exported.
|
|
|
21
21
|
| `@smthrs/observability/NodeOtel` | [src/NodeOtel.ts](https://github.com/smithersai/smithers/blob/main/packages/smithers/flows/observability/src/NodeOtel.ts) | Node |
|
|
22
22
|
| `@smthrs/observability/BrowserOtel` | [src/BrowserOtel.ts](https://github.com/smithersai/smithers/blob/main/packages/smithers/flows/observability/src/BrowserOtel.ts) | browser |
|
|
23
23
|
|
|
24
|
-
The package is tested with `effect@4.0.0
|
|
24
|
+
The package is tested with `effect@4.0.4` and accepts `^4.0.4`. Layers, services, and schemas
|
|
25
25
|
are Effect constructs: a `Layer` provides services, a scoped layer releases on
|
|
26
26
|
scope close, and a schema decodes to an `Effect`.
|
|
27
27
|
|
|
@@ -38,7 +38,7 @@ await Effect.runPromise(program.pipe(Effect.provide(telemetry), Effect.orDie, Ef
|
|
|
38
38
|
|
|
39
39
|
## Otlp
|
|
40
40
|
|
|
41
|
-
The default exporter. `Otlp` composes `effect/
|
|
41
|
+
The default exporter. `Otlp` composes `effect/observability/Otlp` and
|
|
42
42
|
nothing else, so it allocates no OpenTelemetry SDK and never resolves a `node:`
|
|
43
43
|
built-in. All three signals are JSON-serialized and posted below the configured
|
|
44
44
|
base URL at `/v1/logs`, `/v1/metrics`, and `/v1/traces`.
|
|
@@ -115,8 +115,9 @@ const reservedBatchBytes: number // 909312 (888 KiB)
|
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
The resource ceiling is 128 KiB. Another 8 KiB covers JSON wrappers and the
|
|
118
|
-
instrumentation scope
|
|
119
|
-
|
|
118
|
+
instrumentation scope. A metrics request repeats the service name as its scope
|
|
119
|
+
name (at most 6 KiB after escaping). Log and trace requests name their scope
|
|
120
|
+
`effect` with the Effect version. The remaining 888 KiB gives each record in the upstream 1,000-record
|
|
120
121
|
log or span batch about 909 bytes, several times a bare record. This guarantees
|
|
121
122
|
room for ordinary signal batches, not arbitrary record sizes or metric registry
|
|
122
123
|
cardinality.
|
|
@@ -192,10 +193,18 @@ package cannot read its own manifest on every runtime it supports.
|
|
|
192
193
|
### Delivery behavior
|
|
193
194
|
|
|
194
195
|
Effect's exporter retries a transient failure three times, honoring a
|
|
195
|
-
`retry-after` response header when one is present, then
|
|
196
|
-
for 60 seconds and logs a `Debug` record. Export failure
|
|
197
|
-
application effect and never surfaces as an unhandled
|
|
198
|
-
layer's scope performs the final flush, bounded by
|
|
196
|
+
`retry-after` response header on any retried status when one is present, then
|
|
197
|
+
disables that exporter for 60 seconds and logs a `Debug` record. Export failure
|
|
198
|
+
never fails the application effect and never surfaces as an unhandled
|
|
199
|
+
rejection. Closing the layer's scope performs the final flush, bounded by
|
|
200
|
+
`shutdownTimeout`.
|
|
201
|
+
|
|
202
|
+
The exporter acts on a response's status and `retry-after` header only. It
|
|
203
|
+
never reads the response body: each exchange ends when the status arrives, so
|
|
204
|
+
a collector that never finishes its answer cannot stall a signal.
|
|
205
|
+
|
|
206
|
+
The shape of what a collector receives is in
|
|
207
|
+
[Export to an OTLP collector](./guides/export-to-a-collector.md#what-the-collector-receives).
|
|
199
208
|
|
|
200
209
|
## Endpoint
|
|
201
210
|
|
|
@@ -317,10 +326,11 @@ const maximumResourceBytes: number // 131072 (128 KiB)
|
|
|
317
326
|
```
|
|
318
327
|
|
|
319
328
|
The resource byte limit counts the complete OTLP JSON resource, including
|
|
320
|
-
identity, SDK-added `telemetry.sdk.name
|
|
321
|
-
keys, scalar and array wrappers, escaping,
|
|
322
|
-
|
|
323
|
-
|
|
329
|
+
identity, SDK-added `telemetry.sdk.name`, `telemetry.sdk.language` and
|
|
330
|
+
`telemetry.sdk.version`, attribute keys, scalar and array wrappers, escaping,
|
|
331
|
+
and UTF-8. The SDK's own values are reserved even for the default Effect
|
|
332
|
+
exporter, and a caller attribute that replaces one of them is conservatively
|
|
333
|
+
counted beside it.
|
|
324
334
|
Counting stops at the first fragment over budget to bound intermediate
|
|
325
335
|
allocations; the error reports the measured lower bound and byte limit at path
|
|
326
336
|
`attributes`. Array-length errors report the measured element count and limit
|
|
@@ -678,6 +688,8 @@ const layerOtel: (options: Options) => Layer.Layer<never, Resource.InvalidResour
|
|
|
678
688
|
|
|
679
689
|
Bridges Effect's tracer, logger, and metrics onto the supplied providers and
|
|
680
690
|
the readers the `metricReader` factory returns, over the validated resource.
|
|
691
|
+
Spans and log records carry the instrumentation scope `effect` with the Effect
|
|
692
|
+
version.
|
|
681
693
|
Each bridge is installed only when its provider or factory is supplied, and a
|
|
682
694
|
factory that returns an empty array registers no reader at all.
|
|
683
695
|
|
|
@@ -12,7 +12,7 @@ different packages on purpose.
|
|
|
12
12
|
|
|
13
13
|
A flow execution opens spans without being asked. The flow lifecycle, the
|
|
14
14
|
engine dispatch, a run claim, a heartbeat, a journal write, down to individual
|
|
15
|
-
|
|
15
|
+
SQL statements: each is a span on Effect's own tracer. Alongside
|
|
16
16
|
them, each store package declares and updates its own metric handles on its hot
|
|
17
17
|
paths: `JournalMetrics` in [`@smthrs/journal`](/api/journal), `RunStoreMetrics`
|
|
18
18
|
in [`@smthrs/run-store`](/api/run-store), `CacheStoreMetrics` in
|
|
@@ -24,6 +24,36 @@ None of those packages allocates an exporter. Effect's tracer and metric
|
|
|
24
24
|
registry are collection points; with no exporter installed they collect and
|
|
25
25
|
discard, at a cost close to zero.
|
|
26
26
|
|
|
27
|
+
## Spans Effect names
|
|
28
|
+
|
|
29
|
+
A Smithers package names its own spans for the operation, such as
|
|
30
|
+
`RunStore.claim` or `Journal.emitDurable`. Effect names the spans of the SQL,
|
|
31
|
+
HTTP and RPC clients those packages use:
|
|
32
|
+
|
|
33
|
+
| Span | Name | Kind | What it carries |
|
|
34
|
+
| --------------- | -------------------------------------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
35
|
+
| SQL statement | The database system: `sqlite` or `postgresql` | `client` | `db.system.name`, `db.query.text` and `effect.sql.method` |
|
|
36
|
+
| SQL transaction | `sql.transaction` | `internal` | The events `effect.sql.transaction.commit`, `effect.sql.transaction.savepoint` and `effect.sql.transaction.rollback` |
|
|
37
|
+
| HTTP request | The request method, such as `POST` | `client` | `http.request.method`, `url.full`, `url.path`, `url.scheme`, `server.address`, `server.port` and `http.response.status_code` |
|
|
38
|
+
| RPC call | The procedure's tag, such as `Projection.Snapshot` | `client`, `server` | `rpc.system.name` (`effect_rpc`) and `rpc.method` |
|
|
39
|
+
|
|
40
|
+
On an HTTP request span, `server.address` is the host name without the scheme,
|
|
41
|
+
and `server.port` is always present, as the scheme's default when the URL names
|
|
42
|
+
none.
|
|
43
|
+
|
|
44
|
+
An HTTP request span records no request or response header. A host that wants
|
|
45
|
+
them provides `HttpClient.TracerHeaderFilter`. The model, artifact and
|
|
46
|
+
step-cache packages add their credential header names to
|
|
47
|
+
`Headers.CurrentRedactedNames`, so a recorded credential header of theirs reads
|
|
48
|
+
`<redacted>`. Every other recorded header keeps its value, apart from the names
|
|
49
|
+
Effect redacts itself, such as `authorization`, `cookie`, `set-cookie` and
|
|
50
|
+
`x-api-key`.
|
|
51
|
+
|
|
52
|
+
A `4xx` or `5xx` answer ends an HTTP request span as failed, with the status in
|
|
53
|
+
`error.type`. That holds even where the calling package treats the status as an
|
|
54
|
+
ordinary answer: a shared-cache miss is a failed `GET` span with `error.type`
|
|
55
|
+
`404` inside a lookup span that succeeded.
|
|
56
|
+
|
|
27
57
|
## This package is the exporter
|
|
28
58
|
|
|
29
59
|
`Otlp.layerFetch` installs Effect's OTLP logger, metrics exporter, and tracer
|
|
@@ -24,7 +24,7 @@ switches layers instead of branching around a missing one.
|
|
|
24
24
|
|
|
25
25
|
## Why `Otlp` is the default
|
|
26
26
|
|
|
27
|
-
`Otlp` composes only `effect/
|
|
27
|
+
`Otlp` composes only `effect/observability/Otlp`, so it adds no
|
|
28
28
|
OpenTelemetry SDK to the process, and it delivers over Effect's `HttpClient`
|
|
29
29
|
rather than a platform transport. That makes it the cheapest wiring and the
|
|
30
30
|
only one that runs unchanged in Node, in Bun, and in a browser.
|
|
@@ -59,9 +59,10 @@ passes that validated resource to provider factories and the metric producer;
|
|
|
59
59
|
factories must use it when constructing tracer and logger providers.
|
|
60
60
|
|
|
61
61
|
Already-created providers retain their own resources. For those providers,
|
|
62
|
-
`Otel.layerOtel`'s resource option sets only the metric resource
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
`Otel.layerOtel`'s resource option sets only the metric resource. Construct
|
|
63
|
+
them with the intended resource before injection to give all three signals the
|
|
64
|
+
same service identity. Spans and log records carry the instrumentation scope
|
|
65
|
+
`effect` with the Effect version, whatever the resource.
|
|
65
66
|
|
|
66
67
|
`Resource.layer` provides the resource on its own, for a composition that
|
|
67
68
|
assembles the rest itself.
|
|
@@ -73,15 +73,16 @@ an unencodable payload later:
|
|
|
73
73
|
elements (`Resource.maximumAttributeArrayLength`).
|
|
74
74
|
- The complete OTLP JSON resource is at most 128 KiB
|
|
75
75
|
(`Resource.maximumResourceBytes`), including identity, SDK-added
|
|
76
|
-
`telemetry.sdk.name` and `telemetry.sdk.
|
|
77
|
-
escaping and UTF-8. SDK fields are reserved even for the default Effect
|
|
76
|
+
`telemetry.sdk.name`, `telemetry.sdk.language` and `telemetry.sdk.version`,
|
|
77
|
+
keys, values, array wrappers, escaping and UTF-8. SDK fields are reserved even for the default Effect
|
|
78
78
|
exporter. Counting stops as soon as the budget is exceeded;
|
|
79
79
|
the value-free refusal names `attributes`, the measured lower bound and limit.
|
|
80
80
|
Per-field limits alone cannot guarantee this cumulative bound.
|
|
81
81
|
- Resource metadata is explicit. The default OTLP and Node SDK layers isolate
|
|
82
82
|
ambient resource configuration so it cannot enlarge metadata after admission.
|
|
83
83
|
- The 1 MiB transport reserves 8 KiB for the JSON envelope and escaped scope
|
|
84
|
-
name,
|
|
84
|
+
name, which in a metrics request repeats the service name, leaving 888 KiB
|
|
85
|
+
(`Otlp.reservedBatchBytes`) for a signal batch. This is
|
|
85
86
|
about 909 bytes per record at the upstream 1,000-record log or span limit,
|
|
86
87
|
enough for ordinary batches; application records can still be too large.
|
|
87
88
|
- NUL and unpaired UTF-16 surrogates are refused anywhere. Valid astral Unicode
|
|
@@ -96,7 +96,7 @@ For fetch options such as `credentials: "omit"`, provide
|
|
|
96
96
|
`FetchHttpClient.RequestInit` around the whole exporting effect:
|
|
97
97
|
|
|
98
98
|
```ts
|
|
99
|
-
import * as FetchHttpClient from "effect/
|
|
99
|
+
import * as FetchHttpClient from "effect/http/FetchHttpClient"
|
|
100
100
|
|
|
101
101
|
const outcome = program.pipe(
|
|
102
102
|
Effect.provide(telemetry),
|
|
@@ -141,13 +141,36 @@ const telemetry = collectorUrl === undefined
|
|
|
141
141
|
: Otlp.layerFetch({ baseUrl: collectorUrl, serviceName: "deploy-status" })
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
+
## What the collector receives
|
|
145
|
+
|
|
146
|
+
Every request is OTLP/HTTP JSON. Its `user-agent` is
|
|
147
|
+
`OTel-OTLP-Exporter-JavaScript-Effect-OtlpTracer/` and the Effect version, with
|
|
148
|
+
`OtlpLogger` or `OtlpMetrics` for the other two signals, after any `user-agent`
|
|
149
|
+
you set in `headers`.
|
|
150
|
+
|
|
151
|
+
| Part | What it carries |
|
|
152
|
+
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
153
|
+
| Resource | `telemetry.sdk.name` (`effect`), `telemetry.sdk.language` (`nodejs` or `webjs`) and `telemetry.sdk.version` (the Effect version), then your `attributes`, `service.name` and `service.version`. |
|
|
154
|
+
| Scope | Spans and log records name their scope `effect`, with the Effect version. Metrics name their scope for your service. |
|
|
155
|
+
| Spans | Status `1` on success. Status `2` on failure, with the first error's message and one `exception` event per error. Status `0` and the attribute `effect.fiber.interrupted` on interruption. Failure text and string attributes are redacted before they leave. |
|
|
156
|
+
| Log records | Your annotations as attributes, plus `effect.fiberId` and, for each log span, `effect.log_span.<label>` holding the elapsed milliseconds as a number. A record logged with a cause adds `exception.type`, `exception.message` and `exception.stacktrace`. |
|
|
157
|
+
| Metrics | Counters, gauges and histograms under the names the producing package declares. A timer's unit is `ms`. A histogram lists every boundary it declares in `explicitBounds` and counts values above the last one in a final bucket. |
|
|
158
|
+
|
|
159
|
+
The names of the spans themselves are in
|
|
160
|
+
[Instrumentation and export](../concepts/instrumentation-and-export.md#spans-effect-names).
|
|
161
|
+
|
|
144
162
|
## What happens when the collector is down
|
|
145
163
|
|
|
146
164
|
Export failure never fails your program, and it never surfaces as a rejected
|
|
147
165
|
promise. Effect's exporter retries a transient failure three times, honoring a
|
|
148
|
-
`retry-after` response header when one is present, then
|
|
149
|
-
for 60 seconds and logs a `Debug` record saying so.
|
|
150
|
-
inside that window are dropped, and delivery resumes
|
|
166
|
+
`retry-after` response header on any retried status when one is present, then
|
|
167
|
+
disables that exporter for 60 seconds and logs a `Debug` record saying so.
|
|
168
|
+
Spans and records produced inside that window are dropped, and delivery resumes
|
|
169
|
+
afterwards.
|
|
170
|
+
|
|
171
|
+
The exporter reads a response's status and `retry-after` header and nothing
|
|
172
|
+
else. Each exchange ends when the status arrives, so a collector that accepts a
|
|
173
|
+
batch and never finishes its answer does not hold up the next one.
|
|
151
174
|
|
|
152
175
|
Two consequences worth planning for:
|
|
153
176
|
|
package/docs/guides/testing.md
CHANGED
|
@@ -18,8 +18,8 @@ network:
|
|
|
18
18
|
```ts
|
|
19
19
|
import * as Otlp from "@smthrs/observability/Otlp"
|
|
20
20
|
import * as Effect from "effect/Effect"
|
|
21
|
+
import * as FetchHttpClient from "effect/http/FetchHttpClient"
|
|
21
22
|
import * as Metric from "effect/Metric"
|
|
22
|
-
import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient"
|
|
23
23
|
|
|
24
24
|
const recordingFetch = () => {
|
|
25
25
|
const requests: Array<{ url: string; body: string }> = []
|
|
@@ -140,8 +140,11 @@ your exporters and give them to the provider you build.
|
|
|
140
140
|
|
|
141
141
|
You can still pass existing providers directly. The layer cannot change the
|
|
142
142
|
resource they captured at construction. In that form, the resource option
|
|
143
|
-
controls only
|
|
144
|
-
|
|
143
|
+
controls only the metric resource, not log or span resource attributes.
|
|
144
|
+
Whichever form you use, spans and log records carry the instrumentation scope
|
|
145
|
+
`effect` with the Effect version, and the span status and log attributes
|
|
146
|
+
described in
|
|
147
|
+
[What the collector receives](./export-to-a-collector.md#what-the-collector-receives). Construct both providers with the intended resource before injection,
|
|
145
148
|
or use the factories above to receive the validated resource.
|
|
146
149
|
|
|
147
150
|
Each of the three is optional and each is bridged only when supplied, so a
|
|
@@ -173,14 +176,17 @@ const resource = Resource.layer({
|
|
|
173
176
|
`Resource.configToAttributes` is the pure projection of the same configuration
|
|
174
177
|
into OpenTelemetry attributes, for code that needs the attribute record rather
|
|
175
178
|
than a layer. It reads no environment variables: attributes come from your
|
|
176
|
-
configuration and the SDK's
|
|
177
|
-
`telemetry.sdk.
|
|
179
|
+
configuration and the SDK's `telemetry.sdk.name`, `telemetry.sdk.language` and
|
|
180
|
+
`telemetry.sdk.version` fields, which are included in the admission budget. An
|
|
181
|
+
attribute of yours with one of those three names replaces the SDK's value.
|
|
178
182
|
|
|
179
183
|
## Default OTLP export limits
|
|
180
184
|
|
|
181
185
|
`Otlp.layer` and `Otlp.layerFetch` share a limit of four active HTTP requests
|
|
182
186
|
across logs, traces, and metrics within each layer acquisition. Each request has
|
|
183
187
|
a ten-second timeout that interrupts the transport and aborts a stalled fetch.
|
|
188
|
+
A request ends when the collector's status arrives: the response body is not
|
|
189
|
+
read, so a collector that never finishes its answer holds no slot.
|
|
184
190
|
`shutdownTimeout` separately bounds the final scope flush.
|
|
185
191
|
|
|
186
192
|
Logs and traces flush at 1,000 records or the export interval. The transport has
|
package/docs/installation.md
CHANGED
|
@@ -12,18 +12,18 @@ Not on npm yet; see [Installation](https://github.com/smithersai/smithers/blob/m
|
|
|
12
12
|
The package requires Node.js 26.4.0 or later and ships as both ESM and
|
|
13
13
|
CommonJS with TypeScript declarations.
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Install one Effect release
|
|
16
16
|
|
|
17
17
|
Effect services are identified by module identity, so a composition that
|
|
18
18
|
resolves two copies of `effect` splits its context and a provided layer stops
|
|
19
|
-
satisfying a requirement.
|
|
19
|
+
satisfying a requirement. Install one `effect` in the range `^4.0.4`.
|
|
20
20
|
|
|
21
21
|
`Otlp` is written entirely against `effect`, including its HTTP client and its
|
|
22
|
-
`effect/
|
|
23
|
-
|
|
24
|
-
the
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
`effect/observability/Otlp` exporters. The `@effect/opentelemetry@4.0.4`
|
|
23
|
+
dependency, the required `@opentelemetry/api@1.9.1` peer, and the logs and
|
|
24
|
+
metrics dependencies support the root `Otel` and `Resource` modules. They
|
|
25
|
+
install with ordinary peer-aware package managers. `@effect/opentelemetry`
|
|
26
|
+
4.0.4 accepts any `effect` in `^4.0.4`. The default install includes no HTTP exporters or trace SDK.
|
|
27
27
|
|
|
28
28
|
`NodeOtel` selects the optional Node trace SDK and three HTTP exporters:
|
|
29
29
|
|
|
@@ -84,7 +84,7 @@ Effect's `HttpClient` and never touches a `node:` built-in.
|
|
|
84
84
|
The exporter alone needs nothing else. Two features have a dependency:
|
|
85
85
|
|
|
86
86
|
- `Otlp.layer` requires an Effect `HttpClient` from
|
|
87
|
-
`effect/
|
|
87
|
+
`effect/http/HttpClient`. `Otlp.layerFetch` supplies the host's
|
|
88
88
|
global `fetch` and is the usual choice; a Node host that wants Undici instead
|
|
89
89
|
provides `NodeHttpClient.layerUndici`, re-exported by
|
|
90
90
|
[`@smthrs/platform-node`](/api/platform-node) as `NodeHost.NodeHttpClient`.
|
package/docs/troubleshooting.md
CHANGED
|
@@ -38,8 +38,8 @@ name and version of at most 1,024 UTF-16 code units, at most 256 attributes,
|
|
|
38
38
|
attribute values that are strings of at most 65,536 code units, finite numbers,
|
|
39
39
|
booleans, or homogeneous arrays of those with at most 256 elements. The complete
|
|
40
40
|
resource must fit 128 KiB of OTLP JSON, including keys, identity, the SDK-added
|
|
41
|
-
`telemetry.sdk.name` and `telemetry.sdk.
|
|
42
|
-
escaping and UTF-8. Many individually valid values can exceed this budget;
|
|
41
|
+
`telemetry.sdk.name`, `telemetry.sdk.language` and `telemetry.sdk.version`
|
|
42
|
+
fields, wrappers, escaping and UTF-8. Many individually valid values can exceed this budget;
|
|
43
43
|
remove or shorten attributes. The refusal names `attributes`, the measured
|
|
44
44
|
lower bound in bytes and the limit, without retaining values. NUL and unpaired surrogates are
|
|
45
45
|
refused anywhere. An empty `serviceName` is the common one, usually an
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smthrs/observability",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.0-rc.
|
|
4
|
+
"version": "1.0.0-rc.7",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"smthrs": {
|
|
7
7
|
"group": "engine"
|
|
@@ -165,12 +165,13 @@
|
|
|
165
165
|
"dependencies": {
|
|
166
166
|
"@opentelemetry/sdk-logs": "0.222.0",
|
|
167
167
|
"@opentelemetry/sdk-metrics": "2.11.0",
|
|
168
|
-
"@smthrs/journal": "1.0.0-rc.
|
|
168
|
+
"@smthrs/journal": "1.0.0-rc.7",
|
|
169
|
+
"@effect/opentelemetry": "4.0.4"
|
|
169
170
|
},
|
|
170
171
|
"devDependencies": {
|
|
171
172
|
"@effect/language-service": "0.87.2",
|
|
172
|
-
"@effect/opentelemetry": "4.0.
|
|
173
|
-
"@effect/vitest": "4.0.
|
|
173
|
+
"@effect/opentelemetry": "4.0.4",
|
|
174
|
+
"@effect/vitest": "4.0.4",
|
|
174
175
|
"@eslint/js": "9.39.5",
|
|
175
176
|
"@opentelemetry/api": "1.9.1",
|
|
176
177
|
"@opentelemetry/exporter-logs-otlp-http": "0.222.0",
|
|
@@ -182,7 +183,7 @@
|
|
|
182
183
|
"@types/node": "26.4.1",
|
|
183
184
|
"@vitest/coverage-v8": "5.0.0",
|
|
184
185
|
"dprint": "0.57.1",
|
|
185
|
-
"effect": "4.0.
|
|
186
|
+
"effect": "4.0.4",
|
|
186
187
|
"esbuild": "0.28.2",
|
|
187
188
|
"eslint": "9.39.5",
|
|
188
189
|
"eslint-import-resolver-typescript": "4.4.5",
|
|
@@ -195,7 +196,6 @@
|
|
|
195
196
|
"vitest": "5.0.0"
|
|
196
197
|
},
|
|
197
198
|
"peerDependencies": {
|
|
198
|
-
"@effect/opentelemetry": "4.0.0-rc.115",
|
|
199
199
|
"@opentelemetry/api": ">=1.9.1 <2.0.0",
|
|
200
200
|
"@opentelemetry/exporter-logs-otlp-http": ">=0.222.0 <0.300.0",
|
|
201
201
|
"@opentelemetry/exporter-metrics-otlp-http": ">=0.222.0 <0.300.0",
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
"@opentelemetry/sdk-trace-base": ">=2.11.0 <3.0.0",
|
|
204
204
|
"@opentelemetry/sdk-trace-node": ">=2.11.0 <3.0.0",
|
|
205
205
|
"@opentelemetry/sdk-trace-web": ">=2.11.0 <3.0.0",
|
|
206
|
-
"effect": "4.0.
|
|
206
|
+
"effect": "^4.0.4"
|
|
207
207
|
},
|
|
208
208
|
"peerDependenciesMeta": {
|
|
209
209
|
"@opentelemetry/exporter-logs-otlp-http": {
|