Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[8.x] [Discover] Address chart performance issues for non-transformat…
…ional and non-time-based ES|QL queries (#200583) (#201185) # Backport This will backport the following commits from `main` to `8.x`: - [[Discover] Address chart performance issues for non-transformational and non-time-based ES|QL queries (#200583)](#200583) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Julia Rechkunova","email":"julia.rechkunova@elastic.co"},"sourceCommit":{"committedDate":"2024-11-21T13:10:21Z","message":"[Discover] Address chart performance issues for non-transformational and non-time-based ES|QL queries (#200583)\n\n- Closes https://github.com/elastic/kibana/issues/199608\r\n\r\n## Summary\r\n\r\nThis PR changes the logic around when suggestions from lens API are\r\nused. Previously for non-transformational query and non-time-based data\r\nit would try to render one of lens suggestions supplying chart data via\r\n`table` prop. Now, it would not render any chart.\r\n\r\nBefore:\r\n- Data view mode => Static histogram configuration\r\n- ES|QL mode and non-transformational query => _**Gets lens\r\nsuggestions.**_ If histogram chart is not possible, **_takes the first\r\nlens suggestion for rendering the chart_**\r\n- ES|QL mode and transformational query => Gets lens suggestions. Takes\r\nthe first lens suggestion for rendering the chart.\r\n\r\nAfter:\r\n- Data view mode => Static histogram configuration (same)\r\n- ES|QL mode and non-transformational query => ~~_**Gets lens\r\nsuggestions.**_~~ If histogram chart is not possible, **_renders\r\nnothing_** (updated)\r\n- ES|QL mode and transformational query => Gets lens suggestions. Takes\r\nthe first lens suggestion for rendering the chart. (same)\r\n\r\n### Testing\r\n\r\nAs per originally reported case:\r\n1. `node scripts/es_archiver\r\n--kibana-url=http://elastic:changeme@localhost:5601\r\n--es-url=http://elastic:changeme@localhost:9200 load\r\ntest/functional/fixtures/es_archiver/many_fields`\r\n\r\n2. Navigate to Discover, switch to ES|QL mode and enter `FROM\r\nindices-stats | LIMIT 10`\r\n3. No chart is expected.\r\n\r\nAlso there should be no regression for\r\nhttps://github.com//pull/195863\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Davis McPhee <davis.mcphee@elastic.co>\r\nCo-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>","sha":"b9439e658d5cca8dd89f7b3d7cc399c72e4e5103","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","v9.0.0","Team:DataDiscovery","Feature:ES|QL","backport:version","v8.17.0","v8.18.0"],"title":"[Discover] Address chart performance issues for non-transformational and non-time-based ES|QL queries","number":200583,"url":"https://github.com/elastic/kibana/pull/200583","mergeCommit":{"message":"[Discover] Address chart performance issues for non-transformational and non-time-based ES|QL queries (#200583)\n\n- Closes https://github.com/elastic/kibana/issues/199608\r\n\r\n## Summary\r\n\r\nThis PR changes the logic around when suggestions from lens API are\r\nused. Previously for non-transformational query and non-time-based data\r\nit would try to render one of lens suggestions supplying chart data via\r\n`table` prop. Now, it would not render any chart.\r\n\r\nBefore:\r\n- Data view mode => Static histogram configuration\r\n- ES|QL mode and non-transformational query => _**Gets lens\r\nsuggestions.**_ If histogram chart is not possible, **_takes the first\r\nlens suggestion for rendering the chart_**\r\n- ES|QL mode and transformational query => Gets lens suggestions. Takes\r\nthe first lens suggestion for rendering the chart.\r\n\r\nAfter:\r\n- Data view mode => Static histogram configuration (same)\r\n- ES|QL mode and non-transformational query => ~~_**Gets lens\r\nsuggestions.**_~~ If histogram chart is not possible, **_renders\r\nnothing_** (updated)\r\n- ES|QL mode and transformational query => Gets lens suggestions. Takes\r\nthe first lens suggestion for rendering the chart. (same)\r\n\r\n### Testing\r\n\r\nAs per originally reported case:\r\n1. `node scripts/es_archiver\r\n--kibana-url=http://elastic:changeme@localhost:5601\r\n--es-url=http://elastic:changeme@localhost:9200 load\r\ntest/functional/fixtures/es_archiver/many_fields`\r\n\r\n2. Navigate to Discover, switch to ES|QL mode and enter `FROM\r\nindices-stats | LIMIT 10`\r\n3. No chart is expected.\r\n\r\nAlso there should be no regression for\r\nhttps://github.com//pull/195863\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Davis McPhee <davis.mcphee@elastic.co>\r\nCo-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>","sha":"b9439e658d5cca8dd89f7b3d7cc399c72e4e5103"}},"sourceBranch":"main","suggestedTargetBranches":["8.17","8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/200583","number":200583,"mergeCommit":{"message":"[Discover] Address chart performance issues for non-transformational and non-time-based ES|QL queries (#200583)\n\n- Closes https://github.com/elastic/kibana/issues/199608\r\n\r\n## Summary\r\n\r\nThis PR changes the logic around when suggestions from lens API are\r\nused. Previously for non-transformational query and non-time-based data\r\nit would try to render one of lens suggestions supplying chart data via\r\n`table` prop. Now, it would not render any chart.\r\n\r\nBefore:\r\n- Data view mode => Static histogram configuration\r\n- ES|QL mode and non-transformational query => _**Gets lens\r\nsuggestions.**_ If histogram chart is not possible, **_takes the first\r\nlens suggestion for rendering the chart_**\r\n- ES|QL mode and transformational query => Gets lens suggestions. Takes\r\nthe first lens suggestion for rendering the chart.\r\n\r\nAfter:\r\n- Data view mode => Static histogram configuration (same)\r\n- ES|QL mode and non-transformational query => ~~_**Gets lens\r\nsuggestions.**_~~ If histogram chart is not possible, **_renders\r\nnothing_** (updated)\r\n- ES|QL mode and transformational query => Gets lens suggestions. Takes\r\nthe first lens suggestion for rendering the chart. (same)\r\n\r\n### Testing\r\n\r\nAs per originally reported case:\r\n1. `node scripts/es_archiver\r\n--kibana-url=http://elastic:changeme@localhost:5601\r\n--es-url=http://elastic:changeme@localhost:9200 load\r\ntest/functional/fixtures/es_archiver/many_fields`\r\n\r\n2. Navigate to Discover, switch to ES|QL mode and enter `FROM\r\nindices-stats | LIMIT 10`\r\n3. No chart is expected.\r\n\r\nAlso there should be no regression for\r\nhttps://github.com//pull/195863\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Davis McPhee <davis.mcphee@elastic.co>\r\nCo-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>","sha":"b9439e658d5cca8dd89f7b3d7cc399c72e4e5103"}},{"branch":"8.17","label":"v8.17.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Julia Rechkunova <julia.rechkunova@elastic.co>
- Loading branch information