-
Notifications
You must be signed in to change notification settings - Fork 528
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
Move more code from model to model processors #5687
Conversation
a6e0b19
to
62a6504
Compare
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
Trends 🧪 |
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.
Changes generally look good!
a5d9bb9
to
292f301
Compare
Move more logic out of model transformation, into dedicated model processors: - modelprocessor.SetExcludeFromGrouping matches stack frames against a regular expression, setting the "exclude_from_grouping" field - modelprocessor.SetLibraryFrame matches stack frames against a regular expression, setting the "library_frame" field - modelprocessor.SetCulprit identifies the first source mapped, non-library, stack frame and uses it to set or update the error culprit The "library_frame" field is now only set if it is true. The UI uses this field but takes omission to mean the same thing as false (i.e. "falsy") The new model processors are only installed for the RUM intake APIs. With these changes, we no longer need to identify events as originating from the RUM endpoint, so we remove the model.Span.RUM and model.Error.RUM fields.
292f301
to
5afe6fb
Compare
/test |
1 similar comment
/test |
This pull request is now in conflicts. Could you fix it @axw? 🙏
|
Move more logic out of model transformation, into dedicated model processors: - modelprocessor.SetExcludeFromGrouping matches stack frames against a regular expression, setting the "exclude_from_grouping" field - modelprocessor.SetLibraryFrame matches stack frames against a regular expression, setting the "library_frame" field - modelprocessor.SetCulprit identifies the first source mapped, non-library, stack frame and uses it to set or update the error culprit The "library_frame" field is now only set if it is true. The UI uses this field but takes omission to mean the same thing as false (i.e. "falsy") The new model processors are only installed for the RUM intake APIs. With these changes, we no longer need to identify events as originating from the RUM endpoint, so we remove the model.Span.RUM and model.Error.RUM fields. (cherry picked from commit ce483db)
Move more logic out of model transformation, into dedicated model processors: - modelprocessor.SetExcludeFromGrouping matches stack frames against a regular expression, setting the "exclude_from_grouping" field - modelprocessor.SetLibraryFrame matches stack frames against a regular expression, setting the "library_frame" field - modelprocessor.SetCulprit identifies the first source mapped, non-library, stack frame and uses it to set or update the error culprit The "library_frame" field is now only set if it is true. The UI uses this field but takes omission to mean the same thing as false (i.e. "falsy") The new model processors are only installed for the RUM intake APIs. With these changes, we no longer need to identify events as originating from the RUM endpoint, so we remove the model.Span.RUM and model.Error.RUM fields. (cherry picked from commit ce483db) Co-authored-by: Andrew Wilkins <[email protected]> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Confirmed with BC2 |
Motivation/summary
Move more logic out of model transformation, into dedicated model processors:
modelprocessor.SetExcludeFromGrouping
matches stack frames against a regular expression, setting the "exclude_from_grouping" fieldmodelprocessor.SetLibraryFrame
matches stack frames against a regular expression, setting the "library_frame" fieldmodelprocessor.SetCulprit
identifies the first source mapped, non-library, stack frame and uses it to set or update the error culpritThe "library_frame" field is now only set if it is true, to simplify code and keep documents minimal. The UI collapses stack frames identified as library frames, but takes omission to mean the same thing as false, i.e. "falsy", so this change has no other practical effects.
The new model processors are only installed for the RUM intake APIs. With these changes, we no longer need to identify events as originating from the RUM endpoint, so we remove the
model.Span.RUM
andmodel.Error.RUM
fields.How to test these changes
Send an exception event to APM Server, check that (non-)library frames are still differentiated.
Related issues
Pulling logic out of model transformation for