рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрди рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ рдЬрд╣рд╛рдВ рдХреНрд▓рд╛рд╕рдирд╛рдо рдЬреНрдпрд╛рджрд╛ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдХреА рддрд░реНрдЬ рдкрд░ рдХреБрдЫ:
div > button.btn.btn-lg.btn-primary "Purchase"
рдпрджрд┐ рддрддреНрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЯреЗрдХреНрд╕реНрдЯ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рддреЛ, рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдореИрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдиреЗ рдбреЛрдо рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдлреВрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ рдХрд┐ рдпрд╣ рд╣реИрдВрдбрд▓рд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдУрд╡рд░рд╣реЗрдб рдЬреЛрдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди, рдореИрдВ рдкрддрд╛ рд▓рдЧрд╛рдКрдВрдЧрд╛ред
рдПрдХ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк рдмрд╕ рдХрд░рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
target = elem.outerHTML;
рдЬреЛ рдХреНрд▓рд┐рдХ рдХрд┐рдП рдЧрдП рддрддреНрд╡ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЧрд╛ рдЬреИрд╕рд╛ рд╡рд╣ рд╣реИред рдЖрдк рдкреЗрдбрд╝ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЦреЛ рджреЗрдВрдЧреЗ - рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рдореЗрдВ рдЬреЛ рдкреВрд░реНрдг, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрддреНрд╡ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рдЙрддрдирд╛ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╣рд░ рд╕рдордп рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рдкрд╣рдЪрд╛рди рд╕рдХрддрд╛ рд╣реВрдВред
рдЗрд╕рд╕реЗ https://github.com/getsentry/raven-js/issues/576 рднреА рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛
@sourushhakami - рд╣рдордиреЗ рдкрд╣рд▓реЗ outerHTML
рд╢реБрд░реБрдЖрдд рдХреА рд▓реЗрдХрд┐рди рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрджреНрдзрддрд┐ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ ред
рдХрд╛рд░рдг рд╣рдо outerHTML
(рдЬреИрд╕рд╛ рдХрд┐ @mitsuhiko рдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереА):
outerHTML
рдореЗрдВ рд╢реЛрд░ рд╡рд╛рд▓рд╛ рдЕрд╕реНрдерд╛рдпреА рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗdata-reactid
рддрд╛рд░ (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ 0.14 рдФрд░ рдкреВрд░реНрд╡ рдореЗрдВ)title
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБaddEventListener
рд▓рдХреНрд╖реНрдп рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП, рд╣рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЦрд╛рд▓реА рддрддреНрд╡ рдорд┐рд▓реЗрдВрдЧреЗрдореВрд▓ рд░реВрдк рд╕реЗ, outerHTML
рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдХрд╛рд▓реНрдкрдирд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдЕрдЪреНрдЫрд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рддрдХ рд▓рд╛рдЗрд╡ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╣рдорд╛рд░рд╛ рдЕрдиреБрднрд╡ рдпрд╣ рдерд╛ рдХрд┐ рдпрд╣ рдЕрдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред
рдЖрд╣, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рднреА рдмрдЯрдиреЛрдВ рдореЗрдВ рдЖрдИрдбреА рдЯреИрдЧ рдЬреЛрдбрд╝реЗ рд╣реИрдВред рд╣реИрд░рд╛рдиреА рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╡реЗ рдмреНрд░реЗрдбрдХреНрд░рдВрдм рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдпрд╣ рдПрдХ рдХрд╕реНрдЯрдо рдЯреИрдЧ рдерд╛, рддреЛ рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдЦреБрд╢реА рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдЖрдИрдбреА рдЯреИрдЧ рдЕрдкрдиреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рдХрд╛рд░рдг рдЖрджрд░реНрд╢ рд▓рдЧрддрд╛ рд╣реИред
@nblasgen - рдпрджрд┐ рдЖрдк рдПрдХ рдЕрд╕рдлрд▓ рдкрд░реАрдХреНрд╖рдг рдХреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреА рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЕрднреА рдХреЛрдб рдХреЛ рдЖрдИрдбреА рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдирд╛ рд╣реИ , рдФрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ ред
рдЖрдИрдбреА рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП +1, рдпрд╛ рдХрд╕реНрдЯрдо рдЯреИрдЧ рдЬреИрд╕реЗ data-sentry-id="Some text here"
рдореИрдВ рдЗрд╕реЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕ рд▓рд╛рдкрддрд╛ рдЯреБрдХрдбрд╝реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдЪреАрдЬрд╝ рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИред
рд╕рдВрджрд░реНрдн: https://github.com/getsentry/raven-js/issues/783
рд╕рдВрджрд░реНрдн: https://github.com/getsentry/raven-js/issues/576
рдмрд╕ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ - рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓-рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реА рдХрдХреНрд╖рд╛ рдХреЗ рдирд╛рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреЗрдирд░реЗрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреБрдЫ рдФрд░ рд╕рдВрджрд░реНрдн рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ (рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ captureBreadcrumb
):
@kamilogorek рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?
рдХреНрдпрд╛ "рд╕рдВрджреЗрд╢" рдкрд░ рдлрд╛рдЗрди-рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ?
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЛрдЧреЛрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрддрд░реА рдХреЛ рднреЗрдЬреЗ рдмрд┐рдирд╛ рдЙрдиреНрд╣реЗрдВ рдЬреЛ рдЪрд╛рд╣рд┐рдП рдЙрд╕реЗ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП breadcrumbCallback
рдореЗрдВ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рд╢рд╛рдпрдж рдПрдХ рд╕рдВрдкреВрд░реНрдг рдбреЛрдо рддрддреНрд╡ рднреА?
@TuxujPes рдпрд╣ рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдХреЗрд╡рд▓ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣реА рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
@kamilogorek рдЬреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдХреА рддрд╛рд░реАрдЦ рдкрд░ рдХреЛрдИ рдЕрдиреБрдорд╛рди?
Q3 рдХреЗ рдЕрдВрдд рдХреЗ рдкрд╛рд╕ рдХрд╣реАрдВ (рдореБрдЭреЗ рдорд╛рдл рдХрд░рдирд╛ рдЗрддрдирд╛ рд▓рдВрдмрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп, рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдкрд░ рдерд╛)ред
рдЖрдИрдбреА рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП +1, рдпрд╛ рдХрд╕реНрдЯрдо рдЯреИрдЧ рдЬреИрд╕реЗ
data-sentry-id="Some text here"
рд╡реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рд╛рде рд▓реЗ рдЬрд╛рдПрдВред рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЫреЛрдбрд╝ рджреЗрдВред
@hiagodotme @TuxujPes @adamreisnz рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдирдП рдПрд╕рдбреАрдХреЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИ - https://docs.sentry.io/learn/filtering/?platform=javascript#before -breadcrumb
FYI рдХрд░реЗрдВ: рдмрд╕ рдпрд╣ рди рднреВрд▓реЗрдВ рдХрд┐ рдирдП SDK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдмрдВрдбрд▓ рдЖрдХрд╛рд░ #1552 . рдХреЗ рд▓рд┐рдП +50Kb рдорд┐рд▓рддрд╛ рд╣реИ
@ 1999 рдпрд╣ рд░реЗрд╡реЗрди-рдЬреЗрдПрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 12.7kB рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рдЧрдЬрд╝рд┐рдкреНрдб рдЖрдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред
рд╕рд╛рде рд╣реА v5 (https://github.com/getsentry/sentry-javascript/pull/1919) <15kB рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреЗрд▓реЛрдб рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
@kamilogorek рдореИрдВ 200 рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдмрд╕ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ - рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓-рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реА рдХрдХреНрд╖рд╛ рдХреЗ рдирд╛рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреЗрдирд░реЗрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреБрдЫ рдФрд░ рд╕рдВрджрд░реНрдн рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ (рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ
captureBreadcrumb
):