-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Security Solution] [Investigations] [Tech Debt] removes deepEqual checks in column headers and data providers #130740
[Security Solution] [Investigations] [Tech Debt] removes deepEqual checks in column headers and data providers #130740
Conversation
Pinging @elastic/security-solution (Team: SecuritySolution) |
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.
love it lgtm 👍
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.
Files made redundant by the timelines plugin adopting EuiDataGrid are deleted
Nice find 👍
@elasticmachine merge upstream |
…l` checks in column headers and data providers This tech debt PR is another entry in a series to remove `React.memo` `deepEqual` checks, per the details in <elastic#124151> - It removes `deepEqual` checks in Timeline's column headers and data providers - Files made redundant by the `timelines` plugin adopting `EuiDataGrid` are deleted ### Methodology The following techniques were used to ensure that removing the `deepEqual` checks did NOT result in unexpected re-renders: - To understand why components re-rendered, Timeline was profiled with the `Record why each component rendered wile profiling` setting in the React dev tools Profiler enabled, shown in the (illustrative) screenshot below:  - Components were temporarily instrumented with counters that incremented every time the component was rendered. Log statements prefixed with `[pre]` were observed before making changes, per the screenshot below:  - After removing the `deepEqual` checks, the log prefix was updated to `[POST]`, per the screenshot below:  The `[pre]` and `[POST]` counters were compared to verify removing the `deepEqual` checks did NOT introduce unexpected re-renders.
f71f7ed
to
dff43b2
Compare
💚 Build SucceededMetrics [docs]Async chunks
History
To update your PR or re-run it, just comment with: |
… code from timelines plugin This follow-up PR removes redundant code from the `timelines` plugin, identified while implementing elastic#130740
…ecks in column headers and data providers (elastic#130740) ## [Security Solution] [Investigations] [Tech Debt] removes `deepEqual` checks in column headers and data providers This tech debt PR is another entry in a series to remove `React.memo` `deepEqual` checks, per the details in <elastic#124151> - It removes `deepEqual` checks in Timeline's column headers and data providers - Files made redundant by the `timelines` plugin adopting `EuiDataGrid` are deleted ### Methodology The following techniques were used to ensure that removing the `deepEqual` checks did NOT result in unexpected re-renders: - To understand why components re-rendered, Timeline was profiled with the `Record why each component rendered wile profiling` setting in the React dev tools Profiler enabled, shown in the (illustrative) screenshot below:  - Components were temporarily instrumented with counters that incremented every time the component was rendered. Log statements prefixed with `[pre]` were observed before making changes, per the screenshot below:  - After removing the `deepEqual` checks, the log prefix was updated to `[POST]`, and the log entries were observed again, per the screenshot below:  The `[pre]` and `[POST]` counters were compared to verify removing the `deepEqual` checks did NOT introduce unexpected re-renders.
…de from timelines plugin (elastic#130928) ## [Security Solution] [Investigations] [Tech Debt] removes redundant code from the timelines plugin This follow-up PR removes redundant code from the `timelines` plugin, identified while implementing elastic#130740
[Security Solution] [Investigations] [Tech Debt] removes
deepEqual
checks in column headers and data providersThis tech debt PR is another entry in a series to remove
React.memo
deepEqual
checks, per the details in #124151deepEqual
checks in Timeline's column headers and data providerstimelines
plugin adoptingEuiDataGrid
are deletedMethodology
The following techniques were used to ensure that removing the
deepEqual
checks did NOT result in unexpected re-renders:Record why each component rendered wile profiling
setting in the React dev tools Profiler enabled, shown in the (illustrative) screenshot below:[pre]
were observed before making changes, per the screenshot below:deepEqual
checks, the log prefix was updated to[POST]
, and the log entries were observed again, per the screenshot below:The
[pre]
and[POST]
counters were compared to verify removing thedeepEqual
checks did NOT introduce unexpected re-renders.