Skip to content

Commit 932ab13

Browse files
committed
📈(collaboration) add sentry
Add sentry to the collaboration server. It will be used to log errors and exceptions.
1 parent 94a1ba7 commit 932ab13

File tree

5 files changed

+101
-2
lines changed

5 files changed

+101
-2
lines changed

src/frontend/servers/y-provider/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
},
1818
"dependencies": {
1919
"@hocuspocus/server": "2.14.0",
20+
"@sentry/node": "8.41.0",
21+
"@sentry/profiling-node": "8.41.0",
2022
"express": "4.21.1",
2123
"express-ws": "5.0.2",
2224
"y-protocols": "1.0.6"

src/frontend/servers/y-provider/src/env.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ export const COLLABORATION_SERVER_ORIGIN =
55
export const COLLABORATION_SERVER_SECRET =
66
process.env.COLLABORATION_SERVER_SECRET || 'secret-api-key';
77
export const PORT = Number(process.env.PORT || 4444);
8+
export const SENTRY_DSN = process.env.SENTRY_DSN || '';

src/frontend/servers/y-provider/src/server.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
// eslint-disable-next-line import/order
2+
import './services/sentry';
13
import { Server } from '@hocuspocus/server';
4+
import * as Sentry from '@sentry/node';
25
import express, { Request, Response } from 'express';
36
import expressWebsockets from 'express-ws';
47

@@ -130,6 +133,8 @@ export const initServer = () => {
130133
},
131134
);
132135

136+
Sentry.setupExpressErrorHandler(app);
137+
133138
app.get('/ping', (req, res) => {
134139
res.status(200).json({ message: 'pong' });
135140
});
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import * as Sentry from '@sentry/node';
2+
import { nodeProfilingIntegration } from '@sentry/profiling-node';
3+
4+
import { SENTRY_DSN } from '../env';
5+
6+
Sentry.init({
7+
dsn: SENTRY_DSN,
8+
integrations: [nodeProfilingIntegration()],
9+
tracesSampleRate: 1.0,
10+
profilesSampleRate: 1.0,
11+
});

src/frontend/yarn.lock

Lines changed: 82 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3906,6 +3906,13 @@
39063906
"@sentry/cli-win32-i686" "2.39.1"
39073907
"@sentry/cli-win32-x64" "2.39.1"
39083908

3909+
3910+
version "8.41.0"
3911+
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.41.0.tgz#e8a25cacd25fe4358f3179e85f3c2697427fe5a6"
3912+
integrity sha512-3v7u3t4LozCA5SpZY4yqUN2U3jSrkXNoLgz6L2SUUiydyCuSwXZIFEwpLJfgQyidpNDifeQbBI5E1O910XkPsA==
3913+
dependencies:
3914+
"@sentry/types" "8.41.0"
3915+
39093916
39103917
version "8.42.0"
39113918
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.42.0.tgz#9fc0db6794186dc2d1167cf82e579e387198ba77"
@@ -3932,6 +3939,48 @@
39323939
rollup "3.29.5"
39333940
stacktrace-parser "^0.1.10"
39343941

3942+
3943+
version "8.41.0"
3944+
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.41.0.tgz#52f970648d961f6e82a1b23a88c0000aa72ba21a"
3945+
integrity sha512-eYD5S8Lti9efBHFSIhZ/0C5uI1DQtGqjuNWQ62CKC47G2qgJddBtb2HgqRFAnMajYL9FXEtiDT6uqQhKQnmLcQ==
3946+
dependencies:
3947+
"@opentelemetry/api" "^1.9.0"
3948+
"@opentelemetry/context-async-hooks" "^1.25.1"
3949+
"@opentelemetry/core" "^1.25.1"
3950+
"@opentelemetry/instrumentation" "^0.54.0"
3951+
"@opentelemetry/instrumentation-amqplib" "^0.43.0"
3952+
"@opentelemetry/instrumentation-connect" "0.40.0"
3953+
"@opentelemetry/instrumentation-dataloader" "0.12.0"
3954+
"@opentelemetry/instrumentation-express" "0.44.0"
3955+
"@opentelemetry/instrumentation-fastify" "0.41.0"
3956+
"@opentelemetry/instrumentation-fs" "0.16.0"
3957+
"@opentelemetry/instrumentation-generic-pool" "0.39.0"
3958+
"@opentelemetry/instrumentation-graphql" "0.44.0"
3959+
"@opentelemetry/instrumentation-hapi" "0.41.0"
3960+
"@opentelemetry/instrumentation-http" "0.53.0"
3961+
"@opentelemetry/instrumentation-ioredis" "0.43.0"
3962+
"@opentelemetry/instrumentation-kafkajs" "0.4.0"
3963+
"@opentelemetry/instrumentation-knex" "0.41.0"
3964+
"@opentelemetry/instrumentation-koa" "0.43.0"
3965+
"@opentelemetry/instrumentation-lru-memoizer" "0.40.0"
3966+
"@opentelemetry/instrumentation-mongodb" "0.48.0"
3967+
"@opentelemetry/instrumentation-mongoose" "0.42.0"
3968+
"@opentelemetry/instrumentation-mysql" "0.41.0"
3969+
"@opentelemetry/instrumentation-mysql2" "0.41.0"
3970+
"@opentelemetry/instrumentation-nestjs-core" "0.40.0"
3971+
"@opentelemetry/instrumentation-pg" "0.44.0"
3972+
"@opentelemetry/instrumentation-redis-4" "0.42.0"
3973+
"@opentelemetry/instrumentation-tedious" "0.15.0"
3974+
"@opentelemetry/instrumentation-undici" "0.6.0"
3975+
"@opentelemetry/resources" "^1.26.0"
3976+
"@opentelemetry/sdk-trace-base" "^1.26.0"
3977+
"@opentelemetry/semantic-conventions" "^1.27.0"
3978+
"@prisma/instrumentation" "5.19.1"
3979+
"@sentry/core" "8.41.0"
3980+
"@sentry/opentelemetry" "8.41.0"
3981+
"@sentry/types" "8.41.0"
3982+
import-in-the-middle "^1.11.2"
3983+
39353984
39363985
version "8.42.0"
39373986
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.42.0.tgz#829a02ce322bf7ee13e2bd09acc2eb56a8e04525"
@@ -3973,13 +4022,32 @@
39734022
"@sentry/opentelemetry" "8.42.0"
39744023
import-in-the-middle "^1.11.2"
39754024

4025+
4026+
version "8.41.0"
4027+
resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.41.0.tgz#0e5c4bb8d5b58f07eb80e312fc66b8709a688c61"
4028+
integrity sha512-Ld6KdBQsmSk2IfFSoZ7CMpmuQbfb3viV6nTDCz6+11wL9S+1b+hadCN+38yBW4CmI4/hEpYfwwWQPseQQTvBCg==
4029+
dependencies:
4030+
"@sentry/core" "8.41.0"
4031+
"@sentry/types" "8.41.0"
4032+
39764033
39774034
version "8.42.0"
39784035
resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.42.0.tgz#d4a5e988689b3c64370eff5763e7cf3af4e43cba"
39794036
integrity sha512-QPb9kMFgl35TIwIz0u+BFTbPG461CofMiloidJ44GFZ9cB33T5cB0oIN7ut/5tsH/AvqUmucydsV/Nj3HNQx9g==
39804037
dependencies:
39814038
"@sentry/core" "8.42.0"
39824039

4040+
4041+
version "8.41.0"
4042+
resolved "https://registry.yarnpkg.com/@sentry/profiling-node/-/profiling-node-8.41.0.tgz#47acdac0373fc1dcce182370082bfd5f4f47720e"
4043+
integrity sha512-0/40Hzrm8XzCQL+CM65ETZMW+SV8Jp71+E+w2uh3xobSQJQSsZKOOwSj5Nmp5QL6v5ZOZZE0fceVaym1lhQylw==
4044+
dependencies:
4045+
"@sentry/core" "8.41.0"
4046+
"@sentry/node" "8.41.0"
4047+
"@sentry/types" "8.41.0"
4048+
detect-libc "^2.0.2"
4049+
node-abi "^3.61.0"
4050+
39834051
39844052
version "8.42.0"
39854053
resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.42.0.tgz#7c3ae19e5d9ea3332303fcd347eb220ec1c69e93"
@@ -3989,6 +4057,11 @@
39894057
"@sentry/core" "8.42.0"
39904058
hoist-non-react-statics "^3.3.2"
39914059

4060+
4061+
version "8.41.0"
4062+
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.41.0.tgz#db40c93bcedad26569c5dfe10a4b31253c349a10"
4063+
integrity sha512-eqdnGr9k9H++b9CjVUoTNUVahPVWeNnMy0YGkqS5+cjWWC+x43p56202oidGFmWo6702ub/xwUNH6M5PC4kq6A==
4064+
39924065
39934066
version "8.42.0"
39944067
resolved "https://registry.yarnpkg.com/@sentry/vercel-edge/-/vercel-edge-8.42.0.tgz#02149bacf42522916aacfe75fcd86f05c39fa48a"
@@ -6373,7 +6446,7 @@ [email protected]:
63736446
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
63746447
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
63756448

6376-
detect-libc@^2.0.3:
6449+
detect-libc@^2.0.2, detect-libc@^2.0.3:
63776450
version "2.0.3"
63786451
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700"
63796452
integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==
@@ -10112,6 +10185,13 @@ no-case@^3.0.4:
1011210185
lower-case "^2.0.2"
1011310186
tslib "^2.0.3"
1011410187

10188+
node-abi@^3.61.0:
10189+
version "3.71.0"
10190+
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.71.0.tgz#52d84bbcd8575efb71468fbaa1f9a49b2c242038"
10191+
integrity sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==
10192+
dependencies:
10193+
semver "^7.3.5"
10194+
1011510195
node-ensure@^0.0.0:
1011610196
version "0.0.0"
1011710197
resolved "https://registry.yarnpkg.com/node-ensure/-/node-ensure-0.0.0.tgz#ecae764150de99861ec5c810fd5d096b183932a7"
@@ -11749,7 +11829,7 @@ semver@^6.3.0, semver@^6.3.1:
1174911829
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
1175011830
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
1175111831

11752-
semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3:
11832+
semver@^7.3.5, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3:
1175311833
version "7.6.3"
1175411834
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
1175511835
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==

0 commit comments

Comments
 (0)