Skip to content

Commit 62d6783

Browse files
committed
Add more error logging
1 parent a2968d6 commit 62d6783

File tree

4 files changed

+62
-15
lines changed

4 files changed

+62
-15
lines changed

packages/core/src/jobs/job-definitions/tracing/ingestSpansJob.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ export const ingestSpansJob = async (job: Job<IngestSpansJobData>) => {
2424
try {
2525
const payload = await disk.get(key)
2626
data = JSON.parse(payload) as SpanIngestionData
27-
} catch { return } // prettier-ignore
27+
} catch (error) {
28+
captureException(error as Error)
29+
return
30+
}
2831
const { spans } = data
2932

3033
const result = await ingestSpans({ spans, apiKeyId, workspaceId })
@@ -37,5 +40,8 @@ export const ingestSpansJob = async (job: Job<IngestSpansJobData>) => {
3740

3841
try {
3942
await disk.delete(key)
40-
} catch { return } // prettier-ignore
43+
} catch (error) {
44+
captureException(error as Error)
45+
return
46+
}
4147
}

packages/core/src/jobs/job-definitions/tracing/processSegmentJob.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,17 @@ export const processSegmentJob = async (job: Job<ProcessSegmentJobData>) => {
3737
job.data
3838

3939
const workspace = await unsafelyFindWorkspace(workspaceId)
40-
if (!workspace) return
40+
if (!workspace) {
41+
captureException(new UnprocessableEntityError('Workspace not found'))
42+
return
43+
}
4144

4245
const repository = new ApiKeysRepository(workspace.id)
4346
const finding = await repository.find(apiKeyId)
44-
if (finding.error) return
47+
if (finding.error) {
48+
captureException(finding.error)
49+
return
50+
}
4551
const apiKey = finding.value
4652

4753
const result = await processSegment({

packages/core/src/jobs/job-definitions/tracing/processSpanJob.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,17 @@ export const processSpanJob = async (job: Job<ProcessSpanJobData>) => {
2424
const { processingId, apiKeyId, workspaceId } = job.data
2525

2626
const workspace = await unsafelyFindWorkspace(workspaceId)
27-
if (!workspace) return
27+
if (!workspace) {
28+
captureException(new UnprocessableEntityError('Workspace not found'))
29+
return
30+
}
2831

2932
const repository = new ApiKeysRepository(workspace.id)
3033
const finding = await repository.find(apiKeyId)
31-
if (finding.error) return
34+
if (finding.error) {
35+
captureException(finding.error)
36+
return
37+
}
3238
const apiKey = finding.value
3339

3440
const disk = diskFactory('private')
@@ -37,7 +43,10 @@ export const processSpanJob = async (job: Job<ProcessSpanJobData>) => {
3743
try {
3844
const payload = await disk.get(key)
3945
data = JSON.parse(payload) as SpanProcessingData
40-
} catch { return } // prettier-ignore
46+
} catch (error) {
47+
captureException(error as Error)
48+
return
49+
}
4150
const { span, scope } = data
4251

4352
const result = await processSpan({ span, scope, apiKey, workspace })
@@ -49,5 +58,8 @@ export const processSpanJob = async (job: Job<ProcessSpanJobData>) => {
4958

5059
try {
5160
await disk.delete(key)
52-
} catch { return } // prettier-ignore
61+
} catch (error) {
62+
captureException(error as Error)
63+
return
64+
}
5365
}

packages/core/src/services/tracing/spans/ingest.ts

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@ import { hashContent as hash } from '../../../lib/hashContent'
2626
import { Result } from '../../../lib/Result'
2727
import { ApiKeysRepository } from '../../../repositories'
2828
import { internalBaggageSchema } from '../../../telemetry'
29+
import { captureException } from '../../../utils/workers/sentry'
2930
import {
3031
convertSpanAttributes,
3132
convertSpanStatus,
3233
extractSpanType,
3334
} from './process'
3435

36+
// TODO(tracing): enhance this function
3537
export async function ingestSpans(
3638
{
3739
spans,
@@ -52,18 +54,27 @@ export async function ingestSpans(
5254
for (const { scope, spans } of scopeSpans) {
5355
for (const span of spans) {
5456
const converting = convertSpanAttributes(span.attributes || [])
55-
if (converting.error) continue
57+
if (converting.error) {
58+
captureException(converting.error)
59+
continue
60+
}
5661
const attributes = converting.value
5762

5863
const extracting = extractSpanType(attributes)
59-
if (extracting.error) continue
64+
if (extracting.error) {
65+
captureException(extracting.error)
66+
continue
67+
}
6068
const type = extracting.value
6169
if (type === SpanType.Unknown) continue
6270

6371
let internal
6472
if (!workspaceId) {
6573
const extracting = extractInternal(attributes)
66-
if (extracting.error) continue
74+
if (extracting.error) {
75+
captureException(extracting.error)
76+
continue
77+
}
6778
internal = extracting.value
6879
}
6980

@@ -73,7 +84,10 @@ export async function ingestSpans(
7384
{ workspaceId: workspaceId ?? internal?.workspaceId },
7485
db,
7586
)
76-
if (getting.error) continue
87+
if (getting.error) {
88+
captureException(getting.error)
89+
continue
90+
}
7791

7892
workspace = getting.value
7993
workspaces[workspace.id] = workspace
@@ -85,14 +99,20 @@ export async function ingestSpans(
8599
{ apiKeyId: apiKeyId ?? internal?.apiKeyId, workspace },
86100
db,
87101
)
88-
if (getting.error) continue
102+
if (getting.error) {
103+
captureException(getting.error)
104+
continue
105+
}
89106

90107
apiKey = getting.value
91108
apiKeys[apiKey.id] = apiKey
92109
}
93110

94111
const enriching = enrichAttributes({ resource, scope, span })
95-
if (enriching.error) continue
112+
if (enriching.error) {
113+
captureException(enriching.error)
114+
continue
115+
}
96116
span.attributes = enriching.value.filter(
97117
({ key }) => key !== ATTR_LATITUDE_INTERNAL,
98118
)
@@ -101,7 +121,10 @@ export async function ingestSpans(
101121
{ span, scope, resource, apiKey, workspace },
102122
disk,
103123
)
104-
if (enqueuing.error) continue
124+
if (enqueuing.error) {
125+
captureException(enqueuing.error)
126+
continue
127+
}
105128
}
106129
}
107130
}

0 commit comments

Comments
 (0)