-
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
[Performance][Security Solution][3/4] - Sourcerer performance #212482
[Performance][Security Solution][3/4] - Sourcerer performance #212482
Conversation
f4876d7
to
f2eea0d
Compare
@@ -67,10 +67,11 @@ export const useSourcererDataView = ( | |||
if (selectedDataView == null || missingPatterns.length > 0) { | |||
// old way of fetching indices, legacy timeline | |||
setLegacyPatterns(selectedPatterns); | |||
} else { | |||
} else if (legacyPatterns.length > 0) { |
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.
sourcerer was unnecessarily re-rendering due to a reference change that took place because of an empty array being replaced with a new empty array. It could also be solved by pulling out a const emptyArray = []
and re-using that but just went with the if
check instead...
@@ -370,4 +370,11 @@ export const useInitSourcerer = ( | |||
signalIndexName, | |||
signalIndexNameSourcerer, | |||
]); | |||
|
|||
return useMemo( |
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.
return browser fields from useInitSourcerer
as there was another call to useSourcererDataView
in the home component that only returned browser fields...and we already made that call in the useInit
, so now we just return it from there instead.
Other change here:
https://github.com/elastic/kibana/pull/212482/files#diff-c46dd8c3c8b81dc65ae1d303e29c3c0e966fcd5e4588731828b46142b18d494aL42
Pinging @elastic/security-threat-hunting-investigations (Team:Threat Hunting:Investigations) |
@@ -240,14 +240,14 @@ export const useInitSourcerer = ( | |||
); | |||
} | |||
}, [ | |||
activeTimeline, | |||
activeTimeline?.savedObjectId, |
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.
we only care about the id value, don't re call due to activeTimeline
ref changes.
/ci |
💚 Build Succeeded
Metrics [docs]Async chunks
History
|
Starting backport for target branches: 7.17, 8.16, 8.17, 8.18, 8.x, 9.0 |
…c#212482) ## Summary Part 3 of elastic#212173 ### Testing For setup see testing section here: elastic#212173 (comment) Testing this work is a bit more `console.log` related, as the primary aim of many of these changes was to limit the amount of re-renders caused by state changes within many of the sourcerer utils. React is relatively fast at handling many of these re-renders, but considering the widespread usage of `useSourcererDataView` and the top level location of `useInitSourcerer`, it was worth taking care of some low hanging fruit. ### Background The changes in this PR centered around limiting the number of re-renders that were being caused unnecessarily in `useSourcererDataView` and `useInitSourcerer` by identifying some quick wins. Comments regarding the changes can be found in the PR diffs ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### Identify risks --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit 98b5280)
…c#212482) ## Summary Part 3 of elastic#212173 ### Testing For setup see testing section here: elastic#212173 (comment) Testing this work is a bit more `console.log` related, as the primary aim of many of these changes was to limit the amount of re-renders caused by state changes within many of the sourcerer utils. React is relatively fast at handling many of these re-renders, but considering the widespread usage of `useSourcererDataView` and the top level location of `useInitSourcerer`, it was worth taking care of some low hanging fruit. ### Background The changes in this PR centered around limiting the number of re-renders that were being caused unnecessarily in `useSourcererDataView` and `useInitSourcerer` by identifying some quick wins. Comments regarding the changes can be found in the PR diffs ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### Identify risks --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit 98b5280)
…c#212482) ## Summary Part 3 of elastic#212173 ### Testing For setup see testing section here: elastic#212173 (comment) Testing this work is a bit more `console.log` related, as the primary aim of many of these changes was to limit the amount of re-renders caused by state changes within many of the sourcerer utils. React is relatively fast at handling many of these re-renders, but considering the widespread usage of `useSourcererDataView` and the top level location of `useInitSourcerer`, it was worth taking care of some low hanging fruit. ### Background The changes in this PR centered around limiting the number of re-renders that were being caused unnecessarily in `useSourcererDataView` and `useInitSourcerer` by identifying some quick wins. Comments regarding the changes can be found in the PR diffs ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### Identify risks --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit 98b5280)
…c#212482) ## Summary Part 3 of elastic#212173 ### Testing For setup see testing section here: elastic#212173 (comment) Testing this work is a bit more `console.log` related, as the primary aim of many of these changes was to limit the amount of re-renders caused by state changes within many of the sourcerer utils. React is relatively fast at handling many of these re-renders, but considering the widespread usage of `useSourcererDataView` and the top level location of `useInitSourcerer`, it was worth taking care of some low hanging fruit. ### Background The changes in this PR centered around limiting the number of re-renders that were being caused unnecessarily in `useSourcererDataView` and `useInitSourcerer` by identifying some quick wins. Comments regarding the changes can be found in the PR diffs ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### Identify risks --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit 98b5280)
…c#212482) ## Summary Part 3 of elastic#212173 ### Testing For setup see testing section here: elastic#212173 (comment) Testing this work is a bit more `console.log` related, as the primary aim of many of these changes was to limit the amount of re-renders caused by state changes within many of the sourcerer utils. React is relatively fast at handling many of these re-renders, but considering the widespread usage of `useSourcererDataView` and the top level location of `useInitSourcerer`, it was worth taking care of some low hanging fruit. ### Background The changes in this PR centered around limiting the number of re-renders that were being caused unnecessarily in `useSourcererDataView` and `useInitSourcerer` by identifying some quick wins. Comments regarding the changes can be found in the PR diffs ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### Identify risks --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> (cherry picked from commit 98b5280)
💔 Some backports could not be created
Note: Successful backport PRs will be merged automatically after passing CI. Manual backportTo create the backport manually run:
Questions ?Please refer to the Backport tool documentation |
…212482) (#212989) # Backport This will backport the following commits from `main` to `9.0`: - [[Performance][Security Solution][3/4] - Sourcerer performance (#212482)](#212482) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Michael Olorunnisola","email":"michael.olorunnisola@elastic.co"},"sourceCommit":{"committedDate":"2025-03-03T21:06:38Z","message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Threat Hunting:Investigations","backport:all-open","v8.18.0","v9.1.0","v8.19.0"],"title":"[Performance][Security Solution][3/4] - Sourcerer performance","number":212482,"url":"https://github.com/elastic/kibana/pull/212482","mergeCommit":{"message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212482","number":212482,"mergeCommit":{"message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Michael Olorunnisola <michael.olorunnisola@elastic.co>
…212482) (#212988) # Backport This will backport the following commits from `main` to `8.x`: - [[Performance][Security Solution][3/4] - Sourcerer performance (#212482)](#212482) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Michael Olorunnisola","email":"michael.olorunnisola@elastic.co"},"sourceCommit":{"committedDate":"2025-03-03T21:06:38Z","message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Threat Hunting:Investigations","backport:all-open","v8.18.0","v9.1.0","v8.19.0"],"title":"[Performance][Security Solution][3/4] - Sourcerer performance","number":212482,"url":"https://github.com/elastic/kibana/pull/212482","mergeCommit":{"message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212482","number":212482,"mergeCommit":{"message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Michael Olorunnisola <michael.olorunnisola@elastic.co>
…212482) (#212985) # Backport This will backport the following commits from `main` to `8.17`: - [[Performance][Security Solution][3/4] - Sourcerer performance (#212482)](#212482) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Michael Olorunnisola","email":"michael.olorunnisola@elastic.co"},"sourceCommit":{"committedDate":"2025-03-03T21:06:38Z","message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Threat Hunting:Investigations","backport:all-open","v8.18.0","v9.1.0","v8.19.0"],"title":"[Performance][Security Solution][3/4] - Sourcerer performance","number":212482,"url":"https://github.com/elastic/kibana/pull/212482","mergeCommit":{"message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212482","number":212482,"mergeCommit":{"message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Michael Olorunnisola <michael.olorunnisola@elastic.co>
…212482) (#212986) # Backport This will backport the following commits from `main` to `8.18`: - [[Performance][Security Solution][3/4] - Sourcerer performance (#212482)](#212482) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Michael Olorunnisola","email":"michael.olorunnisola@elastic.co"},"sourceCommit":{"committedDate":"2025-03-03T21:06:38Z","message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Threat Hunting:Investigations","backport:all-open","v8.18.0","v9.1.0","v8.19.0"],"title":"[Performance][Security Solution][3/4] - Sourcerer performance","number":212482,"url":"https://github.com/elastic/kibana/pull/212482","mergeCommit":{"message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212482","number":212482,"mergeCommit":{"message":"[Performance][Security Solution][3/4] - Sourcerer performance (#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com//pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Michael Olorunnisola <michael.olorunnisola@elastic.co>
…lastic#212482) (elastic#212988) # Backport This will backport the following commits from `main` to `8.x`: - [[Performance][Security Solution][3/4] - Sourcerer performance (elastic#212482)](elastic#212482) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Michael Olorunnisola","email":"michael.olorunnisola@elastic.co"},"sourceCommit":{"committedDate":"2025-03-03T21:06:38Z","message":"[Performance][Security Solution][3/4] - Sourcerer performance (elastic#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com/elastic/pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Threat Hunting:Investigations","backport:all-open","v8.18.0","v9.1.0","v8.19.0"],"title":"[Performance][Security Solution][3/4] - Sourcerer performance","number":212482,"url":"https://github.com/elastic/kibana/pull/212482","mergeCommit":{"message":"[Performance][Security Solution][3/4] - Sourcerer performance (elastic#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com/elastic/pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212482","number":212482,"mergeCommit":{"message":"[Performance][Security Solution][3/4] - Sourcerer performance (elastic#212482)\n\n## Summary\nPart 3 of https://github.com/elastic/kibana/pull/212173\n\n### Testing\nFor setup see testing section here:\nhttps://github.com/elastic/pull/212173#issue-2870522020\n\nTesting this work is a bit more `console.log` related, as the primary\naim of many of these changes was to limit the amount of re-renders\ncaused by state changes within many of the sourcerer utils. React is\nrelatively fast at handling many of these re-renders, but considering\nthe widespread usage of `useSourcererDataView` and the top level\nlocation of `useInitSourcerer`, it was worth taking care of some low\nhanging fruit.\n\n### Background\n\nThe changes in this PR centered around limiting the number of re-renders\nthat were being caused unnecessarily in `useSourcererDataView` and\n`useInitSourcerer` by identifying some quick wins.\n\nComments regarding the changes can be found in the PR diffs\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n### Identify risks\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"98b52804d500f31f2fc80f47f478427a52f20630"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Michael Olorunnisola <michael.olorunnisola@elastic.co>
This PR didn't make it into the latest BC of v8.17.3. Updating the labels accordingly. |
Summary
Part 3 of #212173
Testing
For setup see testing section here: #212173 (comment)
Testing this work is a bit more
console.log
related, as the primary aim of many of these changes was to limit the amount of re-renders caused by state changes within many of the sourcerer utils. React is relatively fast at handling many of these re-renders, but considering the widespread usage ofuseSourcererDataView
and the top level location ofuseInitSourcerer
, it was worth taking care of some low hanging fruit.Background
The changes in this PR centered around limiting the number of re-renders that were being caused unnecessarily in
useSourcererDataView
anduseInitSourcerer
by identifying some quick wins.Comments regarding the changes can be found in the PR diffs
Checklist
Check the PR satisfies following conditions.
Reviewers should verify this PR satisfies this list as well.
Identify risks