Skip to content

Commit ca1a0a8

Browse files
committed
feat(server,store): keep track of Sentry metrics about which routes and jobs are run
1 parent b113b6b commit ca1a0a8

File tree

8 files changed

+45
-25
lines changed

8 files changed

+45
-25
lines changed

packages/code-gen/src/generated/structure/validators.js

Lines changed: 3 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/server/src/middleware/log.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,15 @@ export function logMiddleware(app, options) {
9292
}
9393

9494
if (_compasSentryExport) {
95+
if (_compasSentryExport?.metrics?.increment) {
96+
_compasSentryExport.metrics.increment("compas.route.name", 1, {
97+
tags: {
98+
compasRouteName: ctx.event.name ?? "<unmatched>",
99+
},
100+
unit: "none",
101+
});
102+
}
103+
95104
const span = _compasSentryExport.getActiveSpan();
96105
if (span) {
97106
span.setStatus(

packages/server/src/middleware/sentry.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ export function sentry() {
2222
}
2323

2424
return (ctx, next) => {
25-
if (ctx.method === "OPTIONS" || ctx.method === "HEAD") {
25+
const method = ctx.method.toLowerCase();
26+
if (method === "options" || method === "head") {
2627
return next();
2728
}
2829

packages/store/src/generated/database/file.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/store/src/generated/database/job.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/store/src/generated/database/sessionStore.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/store/src/generated/database/sessionStoreToken.js

Lines changed: 4 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/store/src/queue-worker.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,15 @@ function queueWorkerRun(
432432
const [job] = await jobTodoQuery(where, orderBy).exec(sql);
433433

434434
if (!job?.id) {
435+
if (_compasSentryExport?.metrics?.increment) {
436+
_compasSentryExport.metrics.increment("compas.queue.job", 1, {
437+
tags: {
438+
compasQueueJob: "<waiting worker>",
439+
},
440+
unit: "none",
441+
});
442+
}
443+
435444
return {
436445
didHandleJob: false,
437446
};
@@ -522,6 +531,15 @@ async function queueWorkerExecuteJob(logger, sql, options, job) {
522531
description: job.name,
523532
},
524533
async () => {
534+
if (_compasSentryExport?.metrics?.increment) {
535+
_compasSentryExport.metrics.increment("compas.queue.job", 1, {
536+
tags: {
537+
compasQueueJob: job.name,
538+
},
539+
unit: "none",
540+
});
541+
}
542+
525543
return await exec();
526544
},
527545
);

0 commit comments

Comments
 (0)