@livestore/livestore 0.4.0-dev.1 → 0.4.0-dev.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/effect/LiveStore.d.ts.map +1 -1
- package/dist/effect/LiveStore.js +2 -4
- package/dist/effect/LiveStore.js.map +1 -1
- package/dist/live-queries/db-query.d.ts.map +1 -1
- package/dist/live-queries/db-query.js +7 -4
- package/dist/live-queries/db-query.js.map +1 -1
- package/dist/live-queries/db-query.test.js +13 -7
- package/dist/live-queries/db-query.test.js.map +1 -1
- package/dist/mod.d.ts +1 -1
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +1 -1
- package/dist/mod.js.map +1 -1
- package/dist/reactive.d.ts +10 -10
- package/dist/reactive.d.ts.map +1 -1
- package/dist/reactive.js +36 -27
- package/dist/reactive.js.map +1 -1
- package/dist/reactive.test.js +115 -0
- package/dist/reactive.test.js.map +1 -1
- package/dist/store/create-store.d.ts.map +1 -1
- package/dist/store/create-store.js +3 -3
- package/dist/store/create-store.js.map +1 -1
- package/dist/store/store-types.d.ts +2 -2
- package/dist/store/store-types.d.ts.map +1 -1
- package/dist/store/store-types.js.map +1 -1
- package/dist/store/store.d.ts +21 -2
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +134 -88
- package/dist/store/store.js.map +1 -1
- package/dist/utils/dev.d.ts +3 -0
- package/dist/utils/dev.d.ts.map +1 -1
- package/dist/utils/dev.js.map +1 -1
- package/dist/utils/tests/fixture.d.ts.map +1 -1
- package/dist/utils/tests/fixture.js +2 -1
- package/dist/utils/tests/fixture.js.map +1 -1
- package/dist/utils/tests/otel.d.ts +15 -14
- package/dist/utils/tests/otel.d.ts.map +1 -1
- package/dist/utils/tests/otel.js +20 -15
- package/dist/utils/tests/otel.js.map +1 -1
- package/package.json +7 -7
- package/src/ambient.d.ts +3 -3
- package/src/effect/LiveStore.ts +2 -4
- package/src/live-queries/__snapshots__/db-query.test.ts.snap +268 -131
- package/src/live-queries/db-query.test.ts +13 -7
- package/src/live-queries/db-query.ts +7 -4
- package/src/mod.ts +2 -0
- package/src/reactive.test.ts +150 -1
- package/src/reactive.ts +47 -39
- package/src/store/create-store.ts +12 -4
- package/src/store/store-types.ts +5 -2
- package/src/store/store.ts +204 -145
- package/src/utils/dev.ts +5 -0
- package/src/utils/tests/fixture.ts +2 -1
- package/src/utils/tests/otel.ts +31 -20
- package/dist/store/store-shutdown.test.d.ts +0 -2
- package/dist/store/store-shutdown.test.d.ts.map +0 -1
- package/dist/store/store-shutdown.test.js +0 -103
- package/dist/store/store-shutdown.test.js.map +0 -1
package/dist/utils/tests/otel.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
+
import { omitUndefineds } from '@livestore/utils';
|
1
2
|
import { identity } from '@livestore/utils/effect';
|
2
|
-
|
3
|
+
const buildSimplifiedRootSpans = (exporter, rootSpanName, mapAttributes) => {
|
3
4
|
const spans = exporter.getFinishedSpans();
|
4
5
|
const spansMap = new Map(spans.map((span) => [span.spanContext().spanId, { span, children: [] }]));
|
5
6
|
const mapAttributesfn = mapAttributes ?? identity;
|
@@ -10,11 +11,10 @@ export const getSimplifiedRootSpan = (exporter, mapAttributes) => {
|
|
10
11
|
parentSpan.children.push(nestedSpan);
|
11
12
|
}
|
12
13
|
});
|
13
|
-
const
|
14
|
-
if (
|
15
|
-
throw new Error(`Could not find
|
14
|
+
const rootSpanDataList = spans.filter((_) => _.name === rootSpanName);
|
15
|
+
if (rootSpanDataList.length === 0) {
|
16
|
+
throw new Error(`Could not find any root spans named '${rootSpanName}'. Available spans: ${spans.map((s) => s.name).join(', ')}`);
|
16
17
|
}
|
17
|
-
const rootSpan = spansMap.get(createStoreSpanData.spanContext().spanId);
|
18
18
|
const simplifySpanRec = (span) => omitEmpty({
|
19
19
|
_name: span.span.name,
|
20
20
|
attributes: mapAttributesfn(span.span.attributes),
|
@@ -23,15 +23,20 @@ export const getSimplifiedRootSpan = (exporter, mapAttributes) => {
|
|
23
23
|
// .sort((a, b) => compareHrTime(a.span.startTime, b.span.startTime))
|
24
24
|
.map(simplifySpanRec),
|
25
25
|
});
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
26
|
+
return rootSpanDataList.map((rootSpanData) => {
|
27
|
+
const rootSpan = spansMap.get(rootSpanData.spanContext().spanId);
|
28
|
+
return simplifySpanRec(rootSpan);
|
29
|
+
});
|
30
|
+
};
|
31
|
+
export const getSimplifiedRootSpan = (exporter, rootSpanName, mapAttributes) => {
|
32
|
+
const results = buildSimplifiedRootSpans(exporter, rootSpanName, mapAttributes);
|
33
|
+
const firstResult = results[0];
|
34
|
+
if (!firstResult)
|
35
|
+
throw new Error(`Could not find the root span named '${rootSpanName}'.`);
|
36
|
+
return firstResult;
|
37
|
+
};
|
38
|
+
export const getAllSimplifiedRootSpans = (exporter, rootSpanName, mapAttributes) => {
|
39
|
+
return buildSimplifiedRootSpans(exporter, rootSpanName, mapAttributes);
|
35
40
|
};
|
36
41
|
// const compareHrTime = (a: [number, numndber], b: [number, number]) => {
|
37
42
|
// if (a[0] !== b[0]) return a[0] - b[0]
|
@@ -69,7 +74,7 @@ export const toTraceFile = (spans) => {
|
|
69
74
|
spans: spans.map((span) => ({
|
70
75
|
traceId: span.spanContext().traceId,
|
71
76
|
spanId: span.spanContext().spanId,
|
72
|
-
...(
|
77
|
+
...omitUndefineds({ parentSpanId: span.parentSpanContext?.spanId }),
|
73
78
|
// traceState: span.spanContext().traceState ?? '',
|
74
79
|
name: span.name,
|
75
80
|
kind: 'SPAN_KIND_INTERNAL',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../src/utils/tests/otel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../src/utils/tests/otel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@livestore/livestore",
|
3
|
-
"version": "0.4.0-dev.
|
3
|
+
"version": "0.4.0-dev.10",
|
4
4
|
"type": "module",
|
5
5
|
"sideEffects": false,
|
6
6
|
"exports": {
|
@@ -11,17 +11,17 @@
|
|
11
11
|
},
|
12
12
|
"dependencies": {
|
13
13
|
"@opentelemetry/api": "1.9.0",
|
14
|
-
"@livestore/
|
15
|
-
"@livestore/
|
14
|
+
"@livestore/utils": "0.4.0-dev.10",
|
15
|
+
"@livestore/common": "0.4.0-dev.10"
|
16
16
|
},
|
17
17
|
"devDependencies": {
|
18
18
|
"@opentelemetry/sdk-trace-base": "^2.0.1",
|
19
19
|
"jsdom": "^26.1.0",
|
20
|
-
"typescript": "
|
21
|
-
"vite": "
|
20
|
+
"typescript": "5.9.2",
|
21
|
+
"vite": "7.1.7",
|
22
22
|
"vitest": "3.2.4",
|
23
|
-
"@livestore/
|
24
|
-
"@livestore/
|
23
|
+
"@livestore/adapter-web": "0.4.0-dev.10",
|
24
|
+
"@livestore/utils-dev": "0.4.0-dev.10"
|
25
25
|
},
|
26
26
|
"files": [
|
27
27
|
"package.json",
|
package/src/ambient.d.ts
CHANGED
package/src/effect/LiveStore.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import type { UnexpectedError } from '@livestore/common'
|
2
2
|
import type { LiveStoreSchema } from '@livestore/common/schema'
|
3
|
+
import { omitUndefineds } from '@livestore/utils'
|
3
4
|
import type { Cause, OtelTracer, Scope } from '@livestore/utils/effect'
|
4
5
|
import { Deferred, Duration, Effect, Layer, pipe } from '@livestore/utils/effect'
|
5
6
|
|
@@ -25,12 +26,9 @@ export const makeLiveStoreContext = <TSchema extends LiveStoreSchema, TContext =
|
|
25
26
|
const store = yield* createStore({
|
26
27
|
schema,
|
27
28
|
storeId,
|
28
|
-
context,
|
29
|
-
boot,
|
30
29
|
adapter,
|
31
|
-
disableDevtools,
|
32
|
-
onBootStatus,
|
33
30
|
batchUpdates,
|
31
|
+
...omitUndefineds({ context, boot, disableDevtools, onBootStatus }),
|
34
32
|
})
|
35
33
|
|
36
34
|
globalThis.__debugLiveStore ??= {}
|
@@ -40,25 +40,6 @@ exports[`otel > QueryBuilder subscription - basic functionality 1`] = `
|
|
40
40
|
},
|
41
41
|
{
|
42
42
|
"_name": "LiveStore:commits",
|
43
|
-
"children": [
|
44
|
-
{
|
45
|
-
"_name": "LiveStore:commit",
|
46
|
-
"attributes": {
|
47
|
-
"livestore.eventTags": [
|
48
|
-
"todo.created",
|
49
|
-
],
|
50
|
-
"livestore.eventsCount": 1,
|
51
|
-
},
|
52
|
-
"children": [
|
53
|
-
{
|
54
|
-
"_name": "livestore.in-memory-db:execute",
|
55
|
-
"attributes": {
|
56
|
-
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
57
|
-
},
|
58
|
-
},
|
59
|
-
],
|
60
|
-
},
|
61
|
-
],
|
62
43
|
},
|
63
44
|
{
|
64
45
|
"_name": "LiveStore:queries",
|
@@ -113,6 +94,45 @@ exports[`otel > QueryBuilder subscription - basic functionality 1`] = `
|
|
113
94
|
}
|
114
95
|
`;
|
115
96
|
|
97
|
+
exports[`otel > QueryBuilder subscription - basic functionality 2`] = `
|
98
|
+
[
|
99
|
+
{
|
100
|
+
"_name": "LiveStore:commit",
|
101
|
+
"attributes": {
|
102
|
+
"livestore.eventTags": "[
|
103
|
+
"todo.created"
|
104
|
+
]",
|
105
|
+
"livestore.eventsCount": 1,
|
106
|
+
},
|
107
|
+
"children": [
|
108
|
+
{
|
109
|
+
"_name": "client-session-sync-processor:push",
|
110
|
+
"attributes": {
|
111
|
+
"batchSize": 1,
|
112
|
+
"eventCounts": "{
|
113
|
+
"todo.created": 1
|
114
|
+
}",
|
115
|
+
"mergeResultTag": "advance",
|
116
|
+
},
|
117
|
+
"children": [
|
118
|
+
{
|
119
|
+
"_name": "client-session-sync-processor:materialize-event",
|
120
|
+
"children": [
|
121
|
+
{
|
122
|
+
"_name": "livestore.in-memory-db:execute",
|
123
|
+
"attributes": {
|
124
|
+
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
125
|
+
},
|
126
|
+
},
|
127
|
+
],
|
128
|
+
},
|
129
|
+
],
|
130
|
+
},
|
131
|
+
],
|
132
|
+
},
|
133
|
+
]
|
134
|
+
`;
|
135
|
+
|
116
136
|
exports[`otel > QueryBuilder subscription - direct table subscription 1`] = `
|
117
137
|
{
|
118
138
|
"_name": "createStore",
|
@@ -153,25 +173,6 @@ exports[`otel > QueryBuilder subscription - direct table subscription 1`] = `
|
|
153
173
|
},
|
154
174
|
{
|
155
175
|
"_name": "LiveStore:commits",
|
156
|
-
"children": [
|
157
|
-
{
|
158
|
-
"_name": "LiveStore:commit",
|
159
|
-
"attributes": {
|
160
|
-
"livestore.eventTags": [
|
161
|
-
"todo.created",
|
162
|
-
],
|
163
|
-
"livestore.eventsCount": 1,
|
164
|
-
},
|
165
|
-
"children": [
|
166
|
-
{
|
167
|
-
"_name": "livestore.in-memory-db:execute",
|
168
|
-
"attributes": {
|
169
|
-
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
170
|
-
},
|
171
|
-
},
|
172
|
-
],
|
173
|
-
},
|
174
|
-
],
|
175
176
|
},
|
176
177
|
{
|
177
178
|
"_name": "LiveStore:queries",
|
@@ -226,6 +227,45 @@ exports[`otel > QueryBuilder subscription - direct table subscription 1`] = `
|
|
226
227
|
}
|
227
228
|
`;
|
228
229
|
|
230
|
+
exports[`otel > QueryBuilder subscription - direct table subscription 2`] = `
|
231
|
+
[
|
232
|
+
{
|
233
|
+
"_name": "LiveStore:commit",
|
234
|
+
"attributes": {
|
235
|
+
"livestore.eventTags": "[
|
236
|
+
"todo.created"
|
237
|
+
]",
|
238
|
+
"livestore.eventsCount": 1,
|
239
|
+
},
|
240
|
+
"children": [
|
241
|
+
{
|
242
|
+
"_name": "client-session-sync-processor:push",
|
243
|
+
"attributes": {
|
244
|
+
"batchSize": 1,
|
245
|
+
"eventCounts": "{
|
246
|
+
"todo.created": 1
|
247
|
+
}",
|
248
|
+
"mergeResultTag": "advance",
|
249
|
+
},
|
250
|
+
"children": [
|
251
|
+
{
|
252
|
+
"_name": "client-session-sync-processor:materialize-event",
|
253
|
+
"children": [
|
254
|
+
{
|
255
|
+
"_name": "livestore.in-memory-db:execute",
|
256
|
+
"attributes": {
|
257
|
+
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
258
|
+
},
|
259
|
+
},
|
260
|
+
],
|
261
|
+
},
|
262
|
+
],
|
263
|
+
},
|
264
|
+
],
|
265
|
+
},
|
266
|
+
]
|
267
|
+
`;
|
268
|
+
|
229
269
|
exports[`otel > QueryBuilder subscription - unsubscribe functionality 1`] = `
|
230
270
|
{
|
231
271
|
"_name": "createStore",
|
@@ -273,42 +313,6 @@ exports[`otel > QueryBuilder subscription - unsubscribe functionality 1`] = `
|
|
273
313
|
},
|
274
314
|
{
|
275
315
|
"_name": "LiveStore:commits",
|
276
|
-
"children": [
|
277
|
-
{
|
278
|
-
"_name": "LiveStore:commit",
|
279
|
-
"attributes": {
|
280
|
-
"livestore.eventTags": [
|
281
|
-
"todo.created",
|
282
|
-
],
|
283
|
-
"livestore.eventsCount": 1,
|
284
|
-
},
|
285
|
-
"children": [
|
286
|
-
{
|
287
|
-
"_name": "livestore.in-memory-db:execute",
|
288
|
-
"attributes": {
|
289
|
-
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
290
|
-
},
|
291
|
-
},
|
292
|
-
],
|
293
|
-
},
|
294
|
-
{
|
295
|
-
"_name": "LiveStore:commit",
|
296
|
-
"attributes": {
|
297
|
-
"livestore.eventTags": [
|
298
|
-
"todo.created",
|
299
|
-
],
|
300
|
-
"livestore.eventsCount": 1,
|
301
|
-
},
|
302
|
-
"children": [
|
303
|
-
{
|
304
|
-
"_name": "livestore.in-memory-db:execute",
|
305
|
-
"attributes": {
|
306
|
-
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
307
|
-
},
|
308
|
-
},
|
309
|
-
],
|
310
|
-
},
|
311
|
-
],
|
312
316
|
},
|
313
317
|
{
|
314
318
|
"_name": "LiveStore:queries",
|
@@ -389,6 +393,79 @@ exports[`otel > QueryBuilder subscription - unsubscribe functionality 1`] = `
|
|
389
393
|
}
|
390
394
|
`;
|
391
395
|
|
396
|
+
exports[`otel > QueryBuilder subscription - unsubscribe functionality 2`] = `
|
397
|
+
[
|
398
|
+
{
|
399
|
+
"_name": "LiveStore:commit",
|
400
|
+
"attributes": {
|
401
|
+
"livestore.eventTags": "[
|
402
|
+
"todo.created"
|
403
|
+
]",
|
404
|
+
"livestore.eventsCount": 1,
|
405
|
+
},
|
406
|
+
"children": [
|
407
|
+
{
|
408
|
+
"_name": "client-session-sync-processor:push",
|
409
|
+
"attributes": {
|
410
|
+
"batchSize": 1,
|
411
|
+
"eventCounts": "{
|
412
|
+
"todo.created": 1
|
413
|
+
}",
|
414
|
+
"mergeResultTag": "advance",
|
415
|
+
},
|
416
|
+
"children": [
|
417
|
+
{
|
418
|
+
"_name": "client-session-sync-processor:materialize-event",
|
419
|
+
"children": [
|
420
|
+
{
|
421
|
+
"_name": "livestore.in-memory-db:execute",
|
422
|
+
"attributes": {
|
423
|
+
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
424
|
+
},
|
425
|
+
},
|
426
|
+
],
|
427
|
+
},
|
428
|
+
],
|
429
|
+
},
|
430
|
+
],
|
431
|
+
},
|
432
|
+
{
|
433
|
+
"_name": "LiveStore:commit",
|
434
|
+
"attributes": {
|
435
|
+
"livestore.eventTags": "[
|
436
|
+
"todo.created"
|
437
|
+
]",
|
438
|
+
"livestore.eventsCount": 1,
|
439
|
+
},
|
440
|
+
"children": [
|
441
|
+
{
|
442
|
+
"_name": "client-session-sync-processor:push",
|
443
|
+
"attributes": {
|
444
|
+
"batchSize": 1,
|
445
|
+
"eventCounts": "{
|
446
|
+
"todo.created": 1
|
447
|
+
}",
|
448
|
+
"mergeResultTag": "advance",
|
449
|
+
},
|
450
|
+
"children": [
|
451
|
+
{
|
452
|
+
"_name": "client-session-sync-processor:materialize-event",
|
453
|
+
"children": [
|
454
|
+
{
|
455
|
+
"_name": "livestore.in-memory-db:execute",
|
456
|
+
"attributes": {
|
457
|
+
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
458
|
+
},
|
459
|
+
},
|
460
|
+
],
|
461
|
+
},
|
462
|
+
],
|
463
|
+
},
|
464
|
+
],
|
465
|
+
},
|
466
|
+
]
|
467
|
+
`;
|
468
|
+
|
392
469
|
exports[`otel > otel 3`] = `
|
393
470
|
{
|
394
471
|
"_name": "createStore",
|
@@ -429,25 +506,6 @@ exports[`otel > otel 3`] = `
|
|
429
506
|
},
|
430
507
|
{
|
431
508
|
"_name": "LiveStore:commits",
|
432
|
-
"children": [
|
433
|
-
{
|
434
|
-
"_name": "LiveStore:commit",
|
435
|
-
"attributes": {
|
436
|
-
"livestore.eventTags": [
|
437
|
-
"todo.created",
|
438
|
-
],
|
439
|
-
"livestore.eventsCount": 1,
|
440
|
-
},
|
441
|
-
"children": [
|
442
|
-
{
|
443
|
-
"_name": "livestore.in-memory-db:execute",
|
444
|
-
"attributes": {
|
445
|
-
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
446
|
-
},
|
447
|
-
},
|
448
|
-
],
|
449
|
-
},
|
450
|
-
],
|
451
509
|
},
|
452
510
|
{
|
453
511
|
"_name": "LiveStore:queries",
|
@@ -492,6 +550,45 @@ exports[`otel > otel 3`] = `
|
|
492
550
|
}
|
493
551
|
`;
|
494
552
|
|
553
|
+
exports[`otel > otel 4`] = `
|
554
|
+
[
|
555
|
+
{
|
556
|
+
"_name": "LiveStore:commit",
|
557
|
+
"attributes": {
|
558
|
+
"livestore.eventTags": "[
|
559
|
+
"todo.created"
|
560
|
+
]",
|
561
|
+
"livestore.eventsCount": 1,
|
562
|
+
},
|
563
|
+
"children": [
|
564
|
+
{
|
565
|
+
"_name": "client-session-sync-processor:push",
|
566
|
+
"attributes": {
|
567
|
+
"batchSize": 1,
|
568
|
+
"eventCounts": "{
|
569
|
+
"todo.created": 1
|
570
|
+
}",
|
571
|
+
"mergeResultTag": "advance",
|
572
|
+
},
|
573
|
+
"children": [
|
574
|
+
{
|
575
|
+
"_name": "client-session-sync-processor:materialize-event",
|
576
|
+
"children": [
|
577
|
+
{
|
578
|
+
"_name": "livestore.in-memory-db:execute",
|
579
|
+
"attributes": {
|
580
|
+
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
581
|
+
},
|
582
|
+
},
|
583
|
+
],
|
584
|
+
},
|
585
|
+
],
|
586
|
+
},
|
587
|
+
],
|
588
|
+
},
|
589
|
+
]
|
590
|
+
`;
|
591
|
+
|
495
592
|
exports[`otel > with thunks 1`] = `
|
496
593
|
{
|
497
594
|
"atoms": [
|
@@ -704,25 +801,6 @@ exports[`otel > with thunks 7`] = `
|
|
704
801
|
},
|
705
802
|
{
|
706
803
|
"_name": "LiveStore:commits",
|
707
|
-
"children": [
|
708
|
-
{
|
709
|
-
"_name": "LiveStore:commit",
|
710
|
-
"attributes": {
|
711
|
-
"livestore.eventTags": [
|
712
|
-
"todo.created",
|
713
|
-
],
|
714
|
-
"livestore.eventsCount": 1,
|
715
|
-
},
|
716
|
-
"children": [
|
717
|
-
{
|
718
|
-
"_name": "livestore.in-memory-db:execute",
|
719
|
-
"attributes": {
|
720
|
-
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
721
|
-
},
|
722
|
-
},
|
723
|
-
],
|
724
|
-
},
|
725
|
-
],
|
726
804
|
},
|
727
805
|
{
|
728
806
|
"_name": "LiveStore:queries",
|
@@ -773,6 +851,45 @@ exports[`otel > with thunks 7`] = `
|
|
773
851
|
}
|
774
852
|
`;
|
775
853
|
|
854
|
+
exports[`otel > with thunks 8`] = `
|
855
|
+
[
|
856
|
+
{
|
857
|
+
"_name": "LiveStore:commit",
|
858
|
+
"attributes": {
|
859
|
+
"livestore.eventTags": "[
|
860
|
+
"todo.created"
|
861
|
+
]",
|
862
|
+
"livestore.eventsCount": 1,
|
863
|
+
},
|
864
|
+
"children": [
|
865
|
+
{
|
866
|
+
"_name": "client-session-sync-processor:push",
|
867
|
+
"attributes": {
|
868
|
+
"batchSize": 1,
|
869
|
+
"eventCounts": "{
|
870
|
+
"todo.created": 1
|
871
|
+
}",
|
872
|
+
"mergeResultTag": "advance",
|
873
|
+
},
|
874
|
+
"children": [
|
875
|
+
{
|
876
|
+
"_name": "client-session-sync-processor:materialize-event",
|
877
|
+
"children": [
|
878
|
+
{
|
879
|
+
"_name": "livestore.in-memory-db:execute",
|
880
|
+
"attributes": {
|
881
|
+
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
882
|
+
},
|
883
|
+
},
|
884
|
+
],
|
885
|
+
},
|
886
|
+
],
|
887
|
+
},
|
888
|
+
],
|
889
|
+
},
|
890
|
+
]
|
891
|
+
`;
|
892
|
+
|
776
893
|
exports[`otel > with thunks with query builder and without labels 3`] = `
|
777
894
|
{
|
778
895
|
"_name": "createStore",
|
@@ -813,25 +930,6 @@ exports[`otel > with thunks with query builder and without labels 3`] = `
|
|
813
930
|
},
|
814
931
|
{
|
815
932
|
"_name": "LiveStore:commits",
|
816
|
-
"children": [
|
817
|
-
{
|
818
|
-
"_name": "LiveStore:commit",
|
819
|
-
"attributes": {
|
820
|
-
"livestore.eventTags": [
|
821
|
-
"todo.created",
|
822
|
-
],
|
823
|
-
"livestore.eventsCount": 1,
|
824
|
-
},
|
825
|
-
"children": [
|
826
|
-
{
|
827
|
-
"_name": "livestore.in-memory-db:execute",
|
828
|
-
"attributes": {
|
829
|
-
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
830
|
-
},
|
831
|
-
},
|
832
|
-
],
|
833
|
-
},
|
834
|
-
],
|
835
933
|
},
|
836
934
|
{
|
837
935
|
"_name": "LiveStore:queries",
|
@@ -881,3 +979,42 @@ exports[`otel > with thunks with query builder and without labels 3`] = `
|
|
881
979
|
],
|
882
980
|
}
|
883
981
|
`;
|
982
|
+
|
983
|
+
exports[`otel > with thunks with query builder and without labels 4`] = `
|
984
|
+
[
|
985
|
+
{
|
986
|
+
"_name": "LiveStore:commit",
|
987
|
+
"attributes": {
|
988
|
+
"livestore.eventTags": "[
|
989
|
+
"todo.created"
|
990
|
+
]",
|
991
|
+
"livestore.eventsCount": 1,
|
992
|
+
},
|
993
|
+
"children": [
|
994
|
+
{
|
995
|
+
"_name": "client-session-sync-processor:push",
|
996
|
+
"attributes": {
|
997
|
+
"batchSize": 1,
|
998
|
+
"eventCounts": "{
|
999
|
+
"todo.created": 1
|
1000
|
+
}",
|
1001
|
+
"mergeResultTag": "advance",
|
1002
|
+
},
|
1003
|
+
"children": [
|
1004
|
+
{
|
1005
|
+
"_name": "client-session-sync-processor:materialize-event",
|
1006
|
+
"children": [
|
1007
|
+
{
|
1008
|
+
"_name": "livestore.in-memory-db:execute",
|
1009
|
+
"attributes": {
|
1010
|
+
"sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
|
1011
|
+
},
|
1012
|
+
},
|
1013
|
+
],
|
1014
|
+
},
|
1015
|
+
],
|
1016
|
+
},
|
1017
|
+
],
|
1018
|
+
},
|
1019
|
+
]
|
1020
|
+
`;
|
@@ -6,7 +6,7 @@ import { expect } from 'vitest'
|
|
6
6
|
|
7
7
|
import * as RG from '../reactive.ts'
|
8
8
|
import { events, makeTodoMvc, tables } from '../utils/tests/fixture.ts'
|
9
|
-
import { getSimplifiedRootSpan } from '../utils/tests/otel.ts'
|
9
|
+
import { getAllSimplifiedRootSpans, getSimplifiedRootSpan } from '../utils/tests/otel.ts'
|
10
10
|
import { computed } from './computed.ts'
|
11
11
|
import { queryDb } from './db-query.ts'
|
12
12
|
|
@@ -83,7 +83,8 @@ Vitest.describe('otel', () => {
|
|
83
83
|
Effect.tap(({ exporter, provider }) =>
|
84
84
|
Effect.promise(async () => {
|
85
85
|
await provider.forceFlush()
|
86
|
-
expect(getSimplifiedRootSpan(exporter, mapAttributes)).toMatchSnapshot()
|
86
|
+
expect(getSimplifiedRootSpan(exporter, 'createStore', mapAttributes)).toMatchSnapshot()
|
87
|
+
expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot()
|
87
88
|
await provider.shutdown()
|
88
89
|
}),
|
89
90
|
),
|
@@ -139,7 +140,8 @@ Vitest.describe('otel', () => {
|
|
139
140
|
Effect.tap(({ exporter, provider }) =>
|
140
141
|
Effect.promise(async () => {
|
141
142
|
await provider.forceFlush()
|
142
|
-
expect(getSimplifiedRootSpan(exporter, mapAttributes)).toMatchSnapshot()
|
143
|
+
expect(getSimplifiedRootSpan(exporter, 'createStore', mapAttributes)).toMatchSnapshot()
|
144
|
+
expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot()
|
143
145
|
await provider.shutdown()
|
144
146
|
}),
|
145
147
|
),
|
@@ -183,7 +185,8 @@ Vitest.describe('otel', () => {
|
|
183
185
|
Effect.tap(({ exporter, provider }) =>
|
184
186
|
Effect.promise(async () => {
|
185
187
|
await provider.forceFlush()
|
186
|
-
expect(getSimplifiedRootSpan(exporter, mapAttributes)).toMatchSnapshot()
|
188
|
+
expect(getSimplifiedRootSpan(exporter, 'createStore', mapAttributes)).toMatchSnapshot()
|
189
|
+
expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot()
|
187
190
|
await provider.shutdown()
|
188
191
|
}),
|
189
192
|
),
|
@@ -228,7 +231,8 @@ Vitest.describe('otel', () => {
|
|
228
231
|
Effect.tap(({ exporter, provider }) =>
|
229
232
|
Effect.promise(async () => {
|
230
233
|
await provider.forceFlush()
|
231
|
-
expect(getSimplifiedRootSpan(exporter, mapAttributes)).toMatchSnapshot()
|
234
|
+
expect(getSimplifiedRootSpan(exporter, 'createStore', mapAttributes)).toMatchSnapshot()
|
235
|
+
expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot()
|
232
236
|
await provider.shutdown()
|
233
237
|
}),
|
234
238
|
),
|
@@ -283,7 +287,8 @@ Vitest.describe('otel', () => {
|
|
283
287
|
Effect.tap(({ exporter, provider }) =>
|
284
288
|
Effect.promise(async () => {
|
285
289
|
await provider.forceFlush()
|
286
|
-
expect(getSimplifiedRootSpan(exporter, mapAttributes)).toMatchSnapshot()
|
290
|
+
expect(getSimplifiedRootSpan(exporter, 'createStore', mapAttributes)).toMatchSnapshot()
|
291
|
+
expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot()
|
287
292
|
await provider.shutdown()
|
288
293
|
}),
|
289
294
|
),
|
@@ -324,7 +329,8 @@ Vitest.describe('otel', () => {
|
|
324
329
|
Effect.tap(({ exporter, provider }) =>
|
325
330
|
Effect.promise(async () => {
|
326
331
|
await provider.forceFlush()
|
327
|
-
expect(getSimplifiedRootSpan(exporter, mapAttributes)).toMatchSnapshot()
|
332
|
+
expect(getSimplifiedRootSpan(exporter, 'createStore', mapAttributes)).toMatchSnapshot()
|
333
|
+
expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot()
|
328
334
|
await provider.shutdown()
|
329
335
|
}),
|
330
336
|
),
|