Skip to content

Commit 5f7169a

Browse files
committed
feat: add document path annotation to logs
1 parent 3d0a487 commit 5f7169a

4 files changed

Lines changed: 39 additions & 6 deletions

File tree

packages/admin/src/lib/functions/on-document-created.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Effect, Schema } from 'effect';
1+
import { Effect, pipe, Schema } from 'effect';
22
import {
33
onDocumentCreated,
44
onDocumentCreatedWithAuthContext,
@@ -47,15 +47,21 @@ export function onDocumentCreatedEffect<
4747
const schema = options.schema ?? Schema.Unknown;
4848

4949
return onDocumentCreated(options, async (event) => {
50-
const effect = Effect.gen(function* () {
51-
const data = yield* decodeDocumentData(
50+
const effect = pipe(
51+
decodeDocumentData(
5252
event.data?.data(),
5353
event.data?.id,
5454
schema,
5555
options.idField
56-
);
57-
return yield* handler(data as Schema.Schema.Type<S>, event);
58-
}).pipe(Effect.withSpan('onDocumentCreatedEffect'));
56+
),
57+
Effect.tap(() =>
58+
Effect.annotateCurrentSpan({
59+
document: event.data?.ref.path ?? 'unknown',
60+
})
61+
),
62+
Effect.flatMap((data) => handler(data as Schema.Schema.Type<S>, event)),
63+
Effect.withSpan('onDocumentCreatedEffect')
64+
);
5965

6066
await run(
6167
options.runtime,
@@ -97,6 +103,9 @@ export function onDocumentCreatedWithAuthContextEffect<
97103

98104
return onDocumentCreatedWithAuthContext(options, async (event) => {
99105
const effect = Effect.gen(function* () {
106+
yield* Effect.annotateCurrentSpan({
107+
document: event.data?.ref.path ?? 'unknown',
108+
});
100109
const data = yield* decodeDocumentData(
101110
event.data?.data(),
102111
event.data?.id,

packages/admin/src/lib/functions/on-document-deleted.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ export function onDocumentDeletedEffect<
4848

4949
return onDocumentDeleted(options, async (event) => {
5050
const effect = Effect.gen(function* () {
51+
yield* Effect.annotateCurrentSpan({
52+
document: event.data?.ref.path ?? 'unknown',
53+
});
5154
const data = yield* decodeDocumentData(
5255
event.data?.data(),
5356
event.data?.id,
@@ -97,6 +100,9 @@ export function onDocumentDeletedWithAuthContextEffect<
97100

98101
return onDocumentDeletedWithAuthContext(options, async (event) => {
99102
const effect = Effect.gen(function* () {
103+
yield* Effect.annotateCurrentSpan({
104+
document: event.data?.ref.path ?? 'unknown',
105+
});
100106
const data = yield* decodeDocumentData(
101107
event.data?.data(),
102108
event.data?.id,

packages/admin/src/lib/functions/on-document-updated.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ export function onDocumentUpdatedEffect<
6060

6161
return onDocumentUpdated(options, async (event) => {
6262
const effect = Effect.gen(function* () {
63+
yield* Effect.annotateCurrentSpan({
64+
document: event.data?.before.ref.path ?? 'unknown',
65+
});
6366
const docId = event.data?.before.id;
6467

6568
const before = yield* decodeDocumentData(
@@ -127,6 +130,9 @@ export function onDocumentUpdatedWithAuthContextEffect<
127130

128131
return onDocumentUpdatedWithAuthContext(options, async (event) => {
129132
const effect = Effect.gen(function* () {
133+
yield* Effect.annotateCurrentSpan({
134+
document: event.data?.before.ref.path ?? 'unknown',
135+
});
130136
const docId = event.data?.before.id;
131137
const before = yield* decodeDocumentData(
132138
event.data?.before.data(),

packages/admin/src/lib/functions/on-document-written.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ export function onDocumentWrittenEffect<
6161

6262
return onDocumentWritten(options, async (event) => {
6363
const effect = Effect.gen(function* () {
64+
yield* Effect.annotateCurrentSpan({
65+
document:
66+
event.data?.after.ref.path ??
67+
event.data?.before.ref.path ??
68+
'unknown',
69+
});
6470
const docId = event.data?.after.id ?? event.data?.before.id;
6571
const beforeData = event.data?.before.data();
6672
const afterData = event.data?.after.data();
@@ -130,6 +136,12 @@ export function onDocumentWrittenWithAuthContextEffect<
130136

131137
return onDocumentWrittenWithAuthContext(options, async (event) => {
132138
const effect = Effect.gen(function* () {
139+
yield* Effect.annotateCurrentSpan({
140+
document:
141+
event.data?.after.ref.path ??
142+
event.data?.before.ref.path ??
143+
'unknown',
144+
});
133145
const docId = event.data?.after.id ?? event.data?.before.id;
134146
const beforeData = event.data?.before.data();
135147
const afterData = event.data?.after.data();

0 commit comments

Comments
 (0)