@sentry/browser
@sentry/node
raven-js
raven-node
_ (Π²ΠΎΡΠΎΠ½ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ·Π»Π°) _5.5.0
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π·Π°ΠΊΡΡΡΠΈΡ # 1762.
Π @ sentry / node Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ·ΠΎΠ² setTag
Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΄Π»ΠΈΠ½Π½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅.
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΌΠΎΠΈΠΌ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ DO dropt, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π¦Π ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΎΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΠ° ΡΠΈΡ. ΠΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡ setTag
(11 ΠΈΡΠ»Ρ) ΠΈ ΠΊΠΎΠ³Π΄Π° ΡΠ΄Π°Π»ΡΡ Π΅Π³ΠΎ (9 Π°Π²Π³ΡΡΡΠ°).
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ? setTag
Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ GC'd, ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΏΠ°ΡΡΡ Π΄ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ.
@kamilogorek ΠΊΠΎΠ΄ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π΄Π΅ΡΡ: https://github.com/ParabolInc/action/blob/0bde4b002aa3d53fc00f1febcb39185079d827f2/packages/server/utils/sendToSentry.ts#L28 -L35
Π‘ΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΈΡΠ΅Π» Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ GC'd.
ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎ, Π½ΠΎ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠ½Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎ ΡΠΈΡΡΡΠΉ Π²ΡΠ·ΠΎΠ² API, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Sentry.captureExpection(error, {tags: {foo: 1}})
. ΡΡΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ ΠΎΡ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°ΡΠΎΠ² ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ Π½ΠΈΠΌΠΈ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ.
withScope
Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ popScope
ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΡΠ»ΠΎΠΉ ΠΎΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅Ρ ΡΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π½Π΅Π³ΠΎ - GC ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
fwfw Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ Π²ΡΠ·ΠΎΠ² Π½Π°:
Sentry.withScope((scope) => {
scope.setUser(user)
scope.setTags(tags)
Sentry.captureException(error)
});
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@kamilogorek ΠΊΠΎΠ΄ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π΄Π΅ΡΡ: https://github.com/ParabolInc/action/blob/0bde4b002aa3d53fc00f1febcb39185079d827f2/packages/server/utils/sendToSentry.ts#L28 -L35
Π‘ΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΈΡΠ΅Π» Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ GC'd.
ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎ, Π½ΠΎ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠ½Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎ ΡΠΈΡΡΡΠΉ Π²ΡΠ·ΠΎΠ² API, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
Sentry.captureExpection(error, {tags: {foo: 1}})
. ΡΡΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ ΠΎΡ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°ΡΠΎΠ² ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π½ΠΈΠΌΠΈ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ.