-
Notifications
You must be signed in to change notification settings - Fork 0
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
feat: #13 Support JavaScript stack trace #25
Conversation
* ci: dotnet formatting * simplify job * test break formatting * fix format * dotnet format
src/Raygun.Samples.Blazor.WebAssembly/Raygun.Samples.Blazor.WebAssembly.csproj
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM now
/// Example: "causeErrors@http://localhost:5010/myfunctions.js:4:9" | ||
/// </summary> | ||
/// <param name="frame">JavaScript stack trace</param> | ||
internal StackTraceDetails(string frame) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you are going to use RegEx here you should REALLY consider using .NET 8 regex attributes to leverage codegen to optimize execution.
This is the slowest way to do regex. You'll create a new RegEx instance for every line of every stack trace, which on deep stack traces will have a significant negative impact on allocations & performance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! created an issue for it #31
…ethod WIP attach user details add user details to record exception async custom IRaygunUserManager on example project dotnet format wip feat: #13 Support JavaScript stack trace (#25) * add ApiKey to appsettings.json in tests * apply naming suggestions by Rider IDE * inject mocked IJSRuntime * HttpMethod should be String not type HttpMethod * wip fixing tests * simple fix * fix tests * cleanup * cleanup * test cleanup * more cleanup * restore file * ci: dotnet formatting * simplify job * test break formatting * fix format * dotnet format * fixing warnings * fix warnings * 5 warnings * ci: Code formatting (#7) * ci: dotnet formatting * simplify job * test break formatting * fix format * dotnet format * fix acronym formatting * dotnet format * refactor: remove .NetCore from Raygun.NetCore.Blazor * WIP * fix visibility after refactor * more refactor * WIP * implement basic JS stacktrace parsing * implement tests * cleanup * remove TODOs * remove console log * fix merge errors * remove console.writeline oops
feat: #13 Support JS Stack Trace
Description 📝
In the
ErrorDetails
construction, check if the exception is of typeWebIDLException
, and optain the extra JavaScript stack trace information.Then, parse this stack trace into
StackTraceDetails
..NetCore
from namespace #24Type of change
Updates
ErrorDetails
to handle JS and Dotnet exception parsing.StackTraceDetails
constructor for JavaScript traces.Screenshots 📷
Example of captured stacktrace from JavaScript:
Test plan 🧪
Author to check 👓
Reviewer to check ✔️