Skip to content
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

[7.x] [Observability] [Exploratory View] Add exploratory view multi series (#113464) #114120

Merged

Conversation

dominiqueclarke
Copy link
Contributor

Backports the following commits to 7.x:

…lastic#113464)

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (elastic#107647)"

This reverts commit 1649661.

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (elastic#107647)"

This reverts commit 1649661.

* [Observability] [Exploratory View] Create multi series feature branch (elastic#108079)

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (elastic#107647)"

This reverts commit 1649661.

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (elastic#107647)"

This reverts commit 1649661.

* update types

* update tests

* [Observability] exploratory view design issues (elastic#111028)

* remove custom y axis labels for better clarity

* move add series button to the bottom

* disable auto apply

* fix missing test

* When series count changes, collapse other series. (elastic#110894)

Co-authored-by: Kibana Machine <[email protected]>

* Feature/observability exploratory view multi series panels (elastic#111555)

Co-authored-by: Kibana Machine <[email protected]>

* [Exploratory View] Fix date range picker on secondary series (elastic#111700)

Co-authored-by: Kibana Machine <[email protected]>

* [Exploratory View] Collapse series only on add, not delete (elastic#111790)

* [Exploratory view] Remove preview panel (elastic#111884)

* [Exploratory view] implement popovers for data type and metric type (elastic#112370)

* implement popovers for data type and metric type

* adjust types

* add IncompleteBadge

* make report metric dismissable

* show date-picker even if metric is undefined

* adjust styles of expanded series row

* add truncation to series name

* move incomplete badge and add edit pencil

* add tooltip to data type badge

* adjust content

* lint

* delete extra file

* move filters row

* adjust name editing behavior

* adjust filter styles

Co-authored-by: Kibana Machine <[email protected]>

* move cases button to top

* fix types

* more types :(

Co-authored-by: Justin Kambic <[email protected]>
Co-authored-by: shahzad31 <[email protected]>
Co-authored-by: Kibana Machine <[email protected]>
Co-authored-by: Shahzad <[email protected]>
# Conflicts:
#	test/functional/page_objects/common_page.ts
@dominiqueclarke dominiqueclarke enabled auto-merge (squash) October 6, 2021 14:55
@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Kibana Pipeline / general / Performance Tests.x-pack/test/performance/tests/reporting_dashboard·ts.performance reporting dashbaord downloaded PDF has OK status

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has failed 3 times on tracked branches: https://github.com/elastic/kibana/issues/110470

[00:00:00]                         │
[00:00:00]                           └-: performance
[00:00:00]                             └-> "before all" hook in "performance"
[00:00:00]                             └-: reporting dashbaord
[00:00:00]                               └-> "before all" hook for "downloaded PDF has OK status"
[00:00:00]                               └-> "before all" hook for "downloaded PDF has OK status"
[00:00:00]                                 │ debg resolved import for x-pack/test/performance/kbn_archives/reporting_dashboard to /dev/shm/workspace/parallel/9/kibana/x-pack/test/performance/kbn_archives/reporting_dashboard.json
[00:00:00]                                 │ info importing 4 saved objects { space: undefined }
[00:00:00]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_7.16.0_001/JccZKBkaTpCeLuVXElOEag] update_mapping [_doc]
[00:00:00]                                 │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.ds-ilm-history-5-2021.10.06-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [ilm-history-ilm-policy]
[00:00:00]                                 │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.ds-ilm-history-5-2021.10.06-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [ilm-history-ilm-policy]
[00:00:00]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_7.16.0_001/JccZKBkaTpCeLuVXElOEag] update_mapping [_doc]
[00:00:00]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_7.16.0_001/JccZKBkaTpCeLuVXElOEag] update_mapping [_doc]
[00:00:00]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_7.16.0_001/JccZKBkaTpCeLuVXElOEag] update_mapping [_doc]
[00:00:00]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_7.16.0_001/JccZKBkaTpCeLuVXElOEag] update_mapping [_doc]
[00:00:00]                                 │ succ import success
[00:00:00]                                 │ info [x-pack/test/performance/es_archives/reporting_dashboard] Loading "mappings.json"
[00:00:00]                                 │ info [x-pack/test/performance/es_archives/reporting_dashboard] Loading "data.json.gz"
[00:00:00]                                 │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [foo] creating index, cause [api], templates [], shards [1]/[1]
[00:00:00]                                 │ info [x-pack/test/performance/es_archives/reporting_dashboard] Created index "foo"
[00:00:00]                                 │ debg [x-pack/test/performance/es_archives/reporting_dashboard] "foo" settings {"index":{"number_of_replicas":"1","number_of_shards":"1"}}
[00:00:02]                                 │ info [x-pack/test/performance/es_archives/reporting_dashboard] Indexed 10000 docs into "foo"
[00:00:02]                               └-> downloaded PDF has OK status
[00:00:02]                                 └-> "before each" hook: global before each for "downloaded PDF has OK status"
[00:00:02]                                 │ debg navigating to dashboards url: http://localhost:6191/app/dashboards
[00:00:02]                                 │ debg navigate to: http://localhost:6191/app/dashboards
[00:00:02]                                 │ debg browser[INFO] http://localhost:6191/login?next=%2Fapp%2Fdashboards%3F_t%3D1633537700748 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:02]                                 │
[00:00:02]                                 │ debg browser[INFO] http://localhost:6191/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:02]                                 │ debg ... sleep(700) start
[00:00:03]                                 │ debg ... sleep(700) end
[00:00:03]                                 │ debg returned from get, calling refresh
[00:00:04]                                 │ debg browser[INFO] http://localhost:6191/login?next=%2Fapp%2Fdashboards%3F_t%3D1633537700748 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:04]                                 │
[00:00:04]                                 │ debg browser[INFO] http://localhost:6191/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:05]                                 │ debg currentUrl = http://localhost:6191/login?next=%2Fapp%2Fdashboards%3F_t%3D1633537700748
[00:00:05]                                 │          appUrl = http://localhost:6191/app/dashboards
[00:00:05]                                 │ debg TestSubjects.find(kibanaChrome)
[00:00:05]                                 │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:00:05]                                 │ debg Found login page
[00:00:05]                                 │ debg TestSubjects.setValue(loginUsername, test_user)
[00:00:05]                                 │ debg TestSubjects.click(loginUsername)
[00:00:05]                                 │ debg Find.clickByCssSelector('[data-test-subj="loginUsername"]') with timeout=10000
[00:00:05]                                 │ debg Find.findByCssSelector('[data-test-subj="loginUsername"]') with timeout=10000
[00:00:06]                                 │ERROR browser[SEVERE] http://localhost:6191/api/licensing/info - Failed to load resource: the server responded with a status of 401 (Unauthorized)
[00:00:06]                                 │ debg TestSubjects.setValue(loginPassword, changeme)
[00:00:06]                                 │ debg TestSubjects.click(loginPassword)
[00:00:06]                                 │ debg Find.clickByCssSelector('[data-test-subj="loginPassword"]') with timeout=10000
[00:00:06]                                 │ debg Find.findByCssSelector('[data-test-subj="loginPassword"]') with timeout=10000
[00:00:06]                                 │ debg TestSubjects.click(loginSubmit)
[00:00:06]                                 │ debg Find.clickByCssSelector('[data-test-subj="loginSubmit"]') with timeout=10000
[00:00:06]                                 │ debg Find.findByCssSelector('[data-test-subj="loginSubmit"]') with timeout=10000
[00:00:06]                                 │ debg Find.waitForDeletedByCssSelector('.kibanaWelcomeLogo') with timeout=10000
[00:00:06]                                 │ proc [kibana]   log   [16:28:24.468] [info][plugins][routes][security] Logging in with provider "basic" (basic)
[00:00:06]                                 │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:00:06]                                 │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"] nav:not(.ng-hide)') with timeout=60000
[00:00:09]                                 │ debg browser[INFO] http://localhost:6191/app/dashboards?_t=1633537700748 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:09]                                 │
[00:00:09]                                 │ debg browser[INFO] http://localhost:6191/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:10]                                 │ debg browser[INFO] http://localhost:6191/app/dashboards?_t=1633537707577 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:10]                                 │
[00:00:10]                                 │ debg browser[INFO] http://localhost:6191/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:10]                                 │ debg Finished login process currentUrl = http://localhost:6191/app/dashboards
[00:00:10]                                 │ debg ... sleep(501) start
[00:00:11]                                 │ debg ... sleep(501) end
[00:00:11]                                 │ debg in navigateTo url = http://localhost:6191/app/dashboards
[00:00:11]                                 │ debg Waiting up to 20000ms for dashboard landing page...
[00:00:11]                                 │ debg onDashboardLandingPage
[00:00:11]                                 │ debg TestSubjects.exists(dashboardLandingPage)
[00:00:11]                                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="dashboardLandingPage"]') with timeout=5000
[00:00:11]                                 │ debg Load Saved Dashboard dashboard
[00:00:11]                                 │ debg gotoDashboardLandingPage
[00:00:11]                                 │ debg onDashboardLandingPage
[00:00:11]                                 │ debg TestSubjects.exists(dashboardLandingPage)
[00:00:11]                                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="dashboardLandingPage"]') with timeout=5000
[00:00:12]                                 │ debg searchForItemWithName: dashboard
[00:00:12]                                 │ debg TestSubjects.find(tableListSearchBox)
[00:00:12]                                 │ debg Find.findByCssSelector('[data-test-subj="tableListSearchBox"]') with timeout=10000
[00:00:12]                                 │ debg isGlobalLoadingIndicatorVisible
[00:00:12]                                 │ debg TestSubjects.exists(globalLoadingIndicator)
[00:00:12]                                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:00:12]                                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:00:12]                                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:00:14]                                 │ debg TestSubjects.click(dashboardListingTitleLink-dashboard)
[00:00:14]                                 │ debg Find.clickByCssSelector('[data-test-subj="dashboardListingTitleLink-dashboard"]') with timeout=10000
[00:00:14]                                 │ debg Find.findByCssSelector('[data-test-subj="dashboardListingTitleLink-dashboard"]') with timeout=10000
[00:00:15]                                 │ debg isGlobalLoadingIndicatorVisible
[00:00:15]                                 │ debg TestSubjects.exists(globalLoadingIndicator)
[00:00:15]                                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:00:15]                                 │ debg browser[INFO] http://localhost:6191/app/dashboards#/view/37b49c50-2dc6-11eb-8af3-cb3aa84dbabd?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now)) 281 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:15]                                 │
[00:00:15]                                 │ debg browser[INFO] http://localhost:6191/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:16]                                 │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[00:00:17]                                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:00:17]                                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:00:17]                                 │ debg TestSubjects.missingOrFail(dashboardLandingPage)
[00:00:17]                                 │ debg Find.waitForDeletedByCssSelector('[data-test-subj="dashboardLandingPage"]') with timeout=10000
[00:00:17]                                 │ debg openPdfReportingPanel
[00:00:17]                                 │ debg openShareMenuItem title:PDF Reports
[00:00:17]                                 │ debg TestSubjects.exists(shareContextMenu)
[00:00:17]                                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="shareContextMenu"]') with timeout=2500
[00:00:18]                                 │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.async-search] creating index, cause [api], templates [], shards [1]/[0]
[00:00:20]                                 │ debg --- retry.tryForTime error: [data-test-subj="shareContextMenu"] is not displayed
[00:00:20]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_7.16.0_001/JccZKBkaTpCeLuVXElOEag] update_mapping [_doc]
[00:00:20]                                 │ debg TestSubjects.click(shareTopNavButton)
[00:00:20]                                 │ debg Find.clickByCssSelector('[data-test-subj="shareTopNavButton"]') with timeout=10000
[00:00:20]                                 │ debg Find.findByCssSelector('[data-test-subj="shareTopNavButton"]') with timeout=10000
[00:00:21]                                 │ debg Find.findByCssSelector('div.euiContextMenuPanel') with timeout=10000
[00:00:22]                                 │ debg TestSubjects.click(sharePanel-PDFReports)
[00:00:22]                                 │ debg Find.clickByCssSelector('[data-test-subj="sharePanel-PDFReports"]') with timeout=10000
[00:00:22]                                 │ debg Find.findByCssSelector('[data-test-subj="sharePanel-PDFReports"]') with timeout=10000
[00:00:23]                                 │ debg Find.waitForElementStale with timeout=10000
[00:00:23]                                 │ debg TestSubjects.click(generateReportButton)
[00:00:23]                                 │ debg Find.clickByCssSelector('[data-test-subj="generateReportButton"]') with timeout=10000
[00:00:23]                                 │ debg Find.findByCssSelector('[data-test-subj="generateReportButton"]') with timeout=10000
[00:00:24]                                 │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_7.16.0_001/JccZKBkaTpCeLuVXElOEag] update_mapping [_doc]
[00:00:24]                                 │ debg getReportURL
[00:00:24]                                 │ debg TestSubjects.getAttribute(downloadCompletedReportButton, href, tryTimeout=120000, findTimeout=60000)
[00:00:24]                                 │ debg TestSubjects.find(downloadCompletedReportButton)
[00:00:24]                                 │ debg Find.findByCssSelector('[data-test-subj="downloadCompletedReportButton"]') with timeout=60000
[00:01:25]                                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="downloadCompletedReportButton"])
[00:01:25]                                 │      Wait timed out after 61218ms
[00:01:25]                                 │ debg TestSubjects.find(downloadCompletedReportButton)
[00:01:25]                                 │ debg Find.findByCssSelector('[data-test-subj="downloadCompletedReportButton"]') with timeout=60000
[00:02:27]                                 │ debg --- retry.tryForTime error: Waiting for element to be located By(css selector, [data-test-subj="downloadCompletedReportButton"])
[00:02:27]                                 │      Wait timed out after 61165ms
[00:02:27]                                 │ info Taking screenshot "/dev/shm/workspace/parallel/9/kibana/x-pack/test/functional/screenshots/failure/performance reporting dashbaord downloaded PDF has OK status.png"
[00:02:27]                                 │ info Current URL is: http://localhost:6191/app/dashboards#/view/37b49c50-2dc6-11eb-8af3-cb3aa84dbabd?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))
[00:02:27]                                 │ info Saving page source to: /dev/shm/workspace/parallel/9/kibana/x-pack/test/performance/failure_debug/html/performance reporting dashbaord downloaded PDF has OK status.html
[00:02:27]                                 └- ✖ fail: performance reporting dashbaord downloaded PDF has OK status
[00:02:27]                                 │      Error: retry.tryForTime timeout: TimeoutError: Waiting for element to be located By(css selector, [data-test-subj="downloadCompletedReportButton"])
[00:02:27]                                 │ Wait timed out after 61165ms
[00:02:27]                                 │     at /dev/shm/workspace/parallel/9/kibana/node_modules/selenium-webdriver/lib/webdriver.js:842:17
[00:02:27]                                 │     at runMicrotasks (<anonymous>)
[00:02:27]                                 │     at processTicksAndRejections (internal/process/task_queues.js:95:5)
[00:02:27]                                 │       at onFailure (/dev/shm/workspace/parallel/9/kibana/test/common/services/retry/retry_for_success.ts:17:9)
[00:02:27]                                 │       at retryForSuccess (/dev/shm/workspace/parallel/9/kibana/test/common/services/retry/retry_for_success.ts:57:13)
[00:02:27]                                 │       at RetryService.tryForTime (/dev/shm/workspace/parallel/9/kibana/test/common/services/retry/retry.ts:22:12)
[00:02:27]                                 │       at TestSubjects.getAttribute (/dev/shm/workspace/parallel/9/kibana/test/functional/services/common/test_subjects.ts:190:12)
[00:02:27]                                 │       at ReportingPageObject.getReportURL (test/functional/page_objects/reporting_page.ts:36:17)
[00:02:27]                                 │       at Context.<anonymous> (test/performance/tests/reporting_dashboard.ts:50:7)
[00:02:27]                                 │       at Object.apply (/dev/shm/workspace/parallel/9/kibana/node_modules/@kbn/test/target_node/functional_test_runner/lib/mocha/wrap_function.js:87:16)
[00:02:27]                                 │ 
[00:02:27]                                 │ 

Stack Trace

Error: retry.tryForTime timeout: TimeoutError: Waiting for element to be located By(css selector, [data-test-subj="downloadCompletedReportButton"])
Wait timed out after 61165ms
    at /dev/shm/workspace/parallel/9/kibana/node_modules/selenium-webdriver/lib/webdriver.js:842:17
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at onFailure (/dev/shm/workspace/parallel/9/kibana/test/common/services/retry/retry_for_success.ts:17:9)
    at retryForSuccess (/dev/shm/workspace/parallel/9/kibana/test/common/services/retry/retry_for_success.ts:57:13)
    at RetryService.tryForTime (/dev/shm/workspace/parallel/9/kibana/test/common/services/retry/retry.ts:22:12)
    at TestSubjects.getAttribute (/dev/shm/workspace/parallel/9/kibana/test/functional/services/common/test_subjects.ts:190:12)
    at ReportingPageObject.getReportURL (test/functional/page_objects/reporting_page.ts:36:17)
    at Context.<anonymous> (test/performance/tests/reporting_dashboard.ts:50:7)
    at Object.apply (/dev/shm/workspace/parallel/9/kibana/node_modules/@kbn/test/target_node/functional_test_runner/lib/mocha/wrap_function.js:87:16)

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
observability 341 351 +10

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
observability 234 238 +4

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
apm 2.7MB 2.7MB +213.0B
observability 340.2KB 350.7KB +10.5KB
uptime 562.7KB 563.3KB +606.0B
total +11.3KB

Public APIs missing exports

Total count of every type that is part of your API that should be exported but is not. This will cause broken links in the API documentation system. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats exports for more detailed information.

id before after diff
observability 10 11 +1

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
apm 29.4KB 29.4KB +62.0B
observability 28.6KB 29.1KB +538.0B
total +600.0B
Unknown metric groups

API count

id before after diff
observability 234 238 +4

References to deprecated APIs

id before after diff
observability 166 168 +2

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@dominiqueclarke dominiqueclarke merged commit 2832030 into elastic:7.x Oct 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants