Skip to content

Refactor newSentryTransaction to use improved API #2322

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 13 additions & 17 deletions app/assets/javascripts/editor/editor.js.erb
Original file line number Diff line number Diff line change
Expand Up @@ -205,23 +205,19 @@ var CodeOceanEditor = {
newSentryTransaction: function (initiator, callback) {
// based on Sentry recommendation.
// See https://github.com/getsentry/sentry-javascript/issues/12116
return Sentry.continueTrace({ sentryTrace: '', baggage: '' }, () => {
// inside of this we have a new trace!
return Sentry.withActiveSpan(null, () => {
// inside of this there is no parent span, no matter what!
const cause = initiator.data('cause') || initiator.prop('id');
return Sentry.startSpan({name: cause, op: "transaction", forceTransaction: true}, async () => {
// Execute the desired custom code
try {
return await callback();
} catch (error) {
// WebSocket errors are handled in `showWebsocketError` already.
if (error.target instanceof WebSocket) return;

console.error(JSON.stringify(error));
Sentry.captureException(JSON.stringify(error), {mechanism: {handled: false}});
}
});
return Sentry.startNewTrace(() => {
const cause = initiator.data('cause') || initiator.prop('id');
return Sentry.startSpan({name: cause, op: "transaction"}, async () => {
// Execute the desired custom code
try {
return await callback();
} catch (error) {
// WebSocket errors are handled in `showWebsocketError` already.
if (error.target instanceof WebSocket) return;

console.error(JSON.stringify(error));
Sentry.captureException(JSON.stringify(error), {mechanism: {handled: false}});
}
});
});
},
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"@egjs/hammerjs": "^2.0.17",
"@fortawesome/fontawesome-free": "^6.5.2",
"@popperjs/core": "^2.11.8",
"@sentry/browser": "^8.4.0",
"@sentry/browser": "^8.5.0",
"@toast-ui/editor": "^3.2.2",
"@webpack-cli/serve": "^2.0.5",
"ace-builds": "^1.34.2",
Expand Down
114 changes: 57 additions & 57 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1620,90 +1620,90 @@ __metadata:
languageName: node
linkType: hard

"@sentry-internal/browser-utils@npm:8.4.0":
version: 8.4.0
resolution: "@sentry-internal/browser-utils@npm:8.4.0"
"@sentry-internal/browser-utils@npm:8.5.0":
version: 8.5.0
resolution: "@sentry-internal/browser-utils@npm:8.5.0"
dependencies:
"@sentry/core": "npm:8.4.0"
"@sentry/types": "npm:8.4.0"
"@sentry/utils": "npm:8.4.0"
checksum: 10c0/9e6709100182f8586ef24d304632eedee1f0f257a588bd861df779dee41064cc97afce53b22a4b669e05581f25bc61d7fdae901d238f93569e7042e07d9fbf50
"@sentry/core": "npm:8.5.0"
"@sentry/types": "npm:8.5.0"
"@sentry/utils": "npm:8.5.0"
checksum: 10c0/03cdb1ca5efeac2570f1ceca9a1265b72e45a1890396a5d85eeb37a3cfef8b64b1d36590db0e3a8c7e3c1dc4a0b15354b1afd5557845c7a7fe3964ca437ec7f7
languageName: node
linkType: hard

"@sentry-internal/feedback@npm:8.4.0":
version: 8.4.0
resolution: "@sentry-internal/feedback@npm:8.4.0"
"@sentry-internal/feedback@npm:8.5.0":
version: 8.5.0
resolution: "@sentry-internal/feedback@npm:8.5.0"
dependencies:
"@sentry/core": "npm:8.4.0"
"@sentry/types": "npm:8.4.0"
"@sentry/utils": "npm:8.4.0"
checksum: 10c0/028eb28770eb85f1d09caa3ec98420cdb691d2de06be261106876efed572f7d83bfddf6d289468c0f1bbf551d5a75e7b01fe2c2bbac4b0da882c8e655a166b5c
"@sentry/core": "npm:8.5.0"
"@sentry/types": "npm:8.5.0"
"@sentry/utils": "npm:8.5.0"
checksum: 10c0/72557ce8c2cdc16a8c3dae8e55ba351bbdb6b5fa849739fec5b136c4efd471d8896f2e4ba94ebd76bf9b14771b696402df33a0c2bf191aed54ccf64d994bc7f5
languageName: node
linkType: hard

"@sentry-internal/replay-canvas@npm:8.4.0":
version: 8.4.0
resolution: "@sentry-internal/replay-canvas@npm:8.4.0"
"@sentry-internal/replay-canvas@npm:8.5.0":
version: 8.5.0
resolution: "@sentry-internal/replay-canvas@npm:8.5.0"
dependencies:
"@sentry-internal/replay": "npm:8.4.0"
"@sentry/core": "npm:8.4.0"
"@sentry/types": "npm:8.4.0"
"@sentry/utils": "npm:8.4.0"
checksum: 10c0/6e62557e88f1422f645b022c33c034eccf53469dcdea8e1fbdef34f087e8e986411f50bbf384b7d41f83298b1f339866c8a024456ecf74f1158811f9b91d225b
"@sentry-internal/replay": "npm:8.5.0"
"@sentry/core": "npm:8.5.0"
"@sentry/types": "npm:8.5.0"
"@sentry/utils": "npm:8.5.0"
checksum: 10c0/c23de3b1e3bf3c15eccab7126858f91a0313ffbc4ef3a84528bf3ed140b9d40f0d0d0036ab4f367edd2b905deb8ce218fb9a04a6d7985855c93698d96f752d24
languageName: node
linkType: hard

"@sentry-internal/replay@npm:8.4.0":
version: 8.4.0
resolution: "@sentry-internal/replay@npm:8.4.0"
"@sentry-internal/replay@npm:8.5.0":
version: 8.5.0
resolution: "@sentry-internal/replay@npm:8.5.0"
dependencies:
"@sentry-internal/browser-utils": "npm:8.4.0"
"@sentry/core": "npm:8.4.0"
"@sentry/types": "npm:8.4.0"
"@sentry/utils": "npm:8.4.0"
checksum: 10c0/e9e6398eb3e245470bd464022a9e147038e6adc97212a8e0a28496093f8ed018f8c417bc0d73715f6e63a7506a2d199fadddd23a80246abc8c54d5875d8552c3
"@sentry-internal/browser-utils": "npm:8.5.0"
"@sentry/core": "npm:8.5.0"
"@sentry/types": "npm:8.5.0"
"@sentry/utils": "npm:8.5.0"
checksum: 10c0/a73f8368a788618eefcfd1de52ecd79a8e624c5ef7216ced63dae8dcdcf290a40d8c3402ea862b890ba93b194cae76ca4de42c29b701e0994cacbe01b3890f32
languageName: node
linkType: hard

"@sentry/browser@npm:^8.4.0":
version: 8.4.0
resolution: "@sentry/browser@npm:8.4.0"
"@sentry/browser@npm:^8.5.0":
version: 8.5.0
resolution: "@sentry/browser@npm:8.5.0"
dependencies:
"@sentry-internal/browser-utils": "npm:8.4.0"
"@sentry-internal/feedback": "npm:8.4.0"
"@sentry-internal/replay": "npm:8.4.0"
"@sentry-internal/replay-canvas": "npm:8.4.0"
"@sentry/core": "npm:8.4.0"
"@sentry/types": "npm:8.4.0"
"@sentry/utils": "npm:8.4.0"
checksum: 10c0/bd1162ad13f246c30c1af2d65b798d729cfd4c94c50cc08bdb848a95cd734cedae235c2c2554863c81bc4e639c3d9b8120b6d6988fe6e3437ca45f3dbcf67de6
"@sentry-internal/browser-utils": "npm:8.5.0"
"@sentry-internal/feedback": "npm:8.5.0"
"@sentry-internal/replay": "npm:8.5.0"
"@sentry-internal/replay-canvas": "npm:8.5.0"
"@sentry/core": "npm:8.5.0"
"@sentry/types": "npm:8.5.0"
"@sentry/utils": "npm:8.5.0"
checksum: 10c0/786e19b490c5e8ce8d10badcee4f6c83c80878c48778d27deb221e6ee1db2cdd2ead47cb12eeb3adfe2f33dad39e501d582dabb6e482fc7226d492b4f60d1f4d
languageName: node
linkType: hard

"@sentry/core@npm:8.4.0":
version: 8.4.0
resolution: "@sentry/core@npm:8.4.0"
"@sentry/core@npm:8.5.0":
version: 8.5.0
resolution: "@sentry/core@npm:8.5.0"
dependencies:
"@sentry/types": "npm:8.4.0"
"@sentry/utils": "npm:8.4.0"
checksum: 10c0/7c9ffc15a5cbc6cc9811b1444c2ea956dd42b576e63606e3064af0d617fd9c3d97b6ba878f14fc13818d2001a3cf07b73ecde648e31fdb8d9b7e316bd5549470
"@sentry/types": "npm:8.5.0"
"@sentry/utils": "npm:8.5.0"
checksum: 10c0/906b94dbb3ba3f8e1e71e7740ea9e61a604476c344de769d50de75cf07baa50225c3051542127810b4ed41467055ffa4423208eb3541639d66f360c05044651a
languageName: node
linkType: hard

"@sentry/types@npm:8.4.0":
version: 8.4.0
resolution: "@sentry/types@npm:8.4.0"
checksum: 10c0/0fd8790b8b6c353029feb47caf4b85f3a972f6a37f90ab6719f6d9425919c53069e9e15976da4690a4c738c2c0c3fbebd00749ae3568aaa719e02552c38e3feb
"@sentry/types@npm:8.5.0":
version: 8.5.0
resolution: "@sentry/types@npm:8.5.0"
checksum: 10c0/b1d812a07013150212e82fa0e64a453896fe593dd3951dba49fac68f7a67d8b34e6016c44470c271825f002e44cfce87dd1b93be4372615be183eaab99990af1
languageName: node
linkType: hard

"@sentry/utils@npm:8.4.0":
version: 8.4.0
resolution: "@sentry/utils@npm:8.4.0"
"@sentry/utils@npm:8.5.0":
version: 8.5.0
resolution: "@sentry/utils@npm:8.5.0"
dependencies:
"@sentry/types": "npm:8.4.0"
checksum: 10c0/3306ba659874344b63ca72dbf7172641b38f590abf8c15291c6f98b2752dcfa9569a209cf83f7a83601acd1c22bc4ab8ead4bb55f7698b9b9b6690cfa6e5ebb5
"@sentry/types": "npm:8.5.0"
checksum: 10c0/5e7fe0289dc091c6f61f7c50aa6fd2f5577275a8844209279217e248c04eed420e13afe321b541c91f80de7cd0fd763358c8276a711b579a7d50d02f8ddc85fa
languageName: node
linkType: hard

Expand Down Expand Up @@ -2843,7 +2843,7 @@ __metadata:
"@egjs/hammerjs": "npm:^2.0.17"
"@fortawesome/fontawesome-free": "npm:^6.5.2"
"@popperjs/core": "npm:^2.11.8"
"@sentry/browser": "npm:^8.4.0"
"@sentry/browser": "npm:^8.5.0"
"@toast-ui/editor": "npm:^3.2.2"
"@webpack-cli/serve": "npm:^2.0.5"
ace-builds: "npm:^1.34.2"
Expand Down