Skip to content

Exploratory view#120004

Closed
angorayc wants to merge 27 commits intoelastic:mainfrom
angorayc:exploratory-view
Closed

Exploratory view#120004
angorayc wants to merge 27 commits intoelastic:mainfrom
angorayc:exploratory-view

Conversation

@angorayc
Copy link
Copy Markdown
Contributor

@angorayc angorayc commented Nov 30, 2021

Summary

doc: https://docs.google.com/document/d/1tvhC8NYSe0DLCODhuGSv5C1_cYjUNKCJn2F1IqA-4RI/edit?usp=sharing
issue: #118181
Thanks to this poc: #119742

This PR is for Goal 2, 3 in the doc above:

  • Migrate charts on hosts page / host details page to exploratory view
  • Migrate charts on network page / network details page to exploratory view
  • Add exploratory view entry - @semd
  • Clean up exploratory view's route - @semd
  • Remove hard coded data view

Using the embeddable from Observability also gives us access to http://localhost:5601/app/security/exploratory-view/

Screenshot 2021-11-30 at 18 20 19

Screenshot 2021-11-30 at 18 28 41

image

Kapture 2021-12-08 at 17 48 53

Checklist

Delete any items that are not applicable to this PR.

Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release.

When forming the risk matrix, consider some of the following examples and how they may potentially impact the change:

Risk Probability Severity Mitigation/Notes
Multiple Spaces—unexpected behavior in non-default Kibana Space. Low High Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces.
Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. High Low Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure.
Code should gracefully handle cases when feature X or plugin Y are disabled. Medium High Unit tests will verify that any feature flag or plugin combination still results in our service operational.
See more potential risk examples

For maintainers

@angorayc
Copy link
Copy Markdown
Contributor Author

Exploratory view Entry:
Screenshot 2022-01-12 at 13 58 05

Exploratory view default look:
Screenshot 2022-01-12 at 13 58 18

{appendHeader}
{showExploreButton && (
<EuiFlexItem grow={false}>
<EuiButtonIcon href={href} size="s" iconType="visBarVerticalStacked" />
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should use navigateToApp or navigateToUrl within an onClick handler here (with the ev.preventDefault()). Having the href only causes a reload of the whole Kibana app.

>
<ApplicationUsageTrackingProvider>
<Switch>
<Route key="/exploratory-view/" path="/exploratory-view/" exact={true}>
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

subplugin route

securityAlerts: [getSecurityAlertsKPIConfig],
};

export const indexPatternList = {
Copy link
Copy Markdown
Contributor Author

@angorayc angorayc Jan 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

todo: use data view

setHeaderActionMenu={setHeaderActionMenu}
asPanel={false}
>
<ExploratoryView app={{ id: 'security', label: 'Security' }} />
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

todo: update app id

@kibana-ci
Copy link
Copy Markdown

kibana-ci commented Feb 8, 2022

💔 Build Failed

Failed CI Steps

Test Failures

  • [job] [logs] Default CI Group #2 / Advanced Settings spaces feature controls space with Advanced Settings disabled "after all" hook for "redirects to management home"
  • [job] [logs] Default CI Group #2 / Advanced Settings spaces feature controls space with Advanced Settings disabled "after all" hook for "redirects to management home"
  • [job] [logs] Default CI Group #2 / Advanced Settings spaces feature controls space with Advanced Settings disabled "before all" hook for "redirects to management home"
  • [job] [logs] Default CI Group #2 / Advanced Settings spaces feature controls space with Advanced Settings disabled "before all" hook for "redirects to management home"
  • [job] [logs] Default CI Group #17 / alerting api integration security and spaces enabled Actions "after all" hook in "Actions"
  • [job] [logs] Default CI Group #17 / alerting api integration security and spaces enabled Actions "after all" hook in "Actions"
  • [job] [logs] Default CI Group #18 / apis Monitoring Setup Collection detect_logstash_management "after all" hook: unload archive for "should get collection status"
  • [job] [logs] Default CI Group #18 / apis Monitoring Setup Collection detect_logstash_management "after all" hook: unload archive for "should get collection status"
  • [job] [logs] Default CI Group #18 / apis Monitoring Setup Collection detect_logstash_management "before all" hook: load archive for "should get collection status"
  • [job] [logs] Default CI Group #18 / apis Monitoring Setup Collection detect_logstash_management "before all" hook: load archive for "should get collection status"
  • [job] [logs] Default CI Group #11 / apis SecuritySolution Endpoints basic licsense cases feature privilege "after each" hook for "User sec_all_user with role(s) sec_all_role can create a case"
  • [job] [logs] Default CI Group #11 / apis SecuritySolution Endpoints basic licsense cases feature privilege "after each" hook for "User sec_all_user with role(s) sec_all_role can create a case"
  • [job] [logs] Jest Tests #7 / body it should pass expected object properties to AuthenticationsQueryTabBody
  • [job] [logs] Jest Tests #7 / body it should pass expected object properties to EventsQueryTabBody
  • [job] [logs] Jest Tests #7 / body it should pass expected object properties to HostAlertsQueryTabBody
  • [job] [logs] Default CI Group #27 / cases security and spaces enabled: basic push_case "after each" hook for "should get 403 when trying to create a connector"
  • [job] [logs] Default CI Group #27 / cases security and spaces enabled: basic push_case "after each" hook for "should get 403 when trying to create a connector"
  • [job] [logs] Default CI Group #3 / Dashboard "after all" hook in "Dashboard"
  • [job] [logs] Default CI Group #3 / Dashboard "after all" hook in "Dashboard"
  • [job] [logs] Default CI Group #3 / Dashboard "before all" hook in "Dashboard"
  • [job] [logs] Default CI Group #3 / Dashboard "before all" hook in "Dashboard"
  • [job] [logs] Default CI Group #19 / dashboard feature controls dashboard feature controls security "after all" hook in "dashboard feature controls security"
  • [job] [logs] Default CI Group #19 / dashboard feature controls dashboard feature controls security "after all" hook in "dashboard feature controls security"
  • [job] [logs] Default CI Group #19 / dashboard feature controls dashboard feature controls security "before all" hook in "dashboard feature controls security"
  • [job] [logs] Default CI Group #19 / dashboard feature controls dashboard feature controls security "before all" hook in "dashboard feature controls security"
  • [job] [logs] Default CI Group #13 / Dev Tools feature controls security "before all" hook in "security"
  • [job] [logs] Default CI Group #13 / Dev Tools feature controls security "before all" hook in "security"
  • [job] [logs] Default CI Group #25 / discover preserve url "after all" hook for "remembers url after switching spaces"
  • [job] [logs] Default CI Group #25 / discover preserve url "after all" hook for "remembers url after switching spaces"
  • [job] [logs] Default CI Group #25 / discover preserve url "before all" hook for "goes back to last opened url"
  • [job] [logs] Default CI Group #25 / discover preserve url "before all" hook for "goes back to last opened url"
  • [job] [logs] Docker CI Group / endpoint endpoint list when there is data, "after all" hook for "does not show the details flyout initially"
  • [job] [logs] Docker CI Group / endpoint endpoint list when there is data, "after all" hook for "does not show the details flyout initially"
  • [job] [logs] Docker CI Group / endpoint endpoint list when there is data, "before all" hook for "finds page title"
  • [job] [logs] Docker CI Group / endpoint endpoint list when there is data, "before all" hook for "finds page title"
  • [job] [logs] Default CI Group #6 / event_log Event Log public API "after all" hook in "Event Log public API"
  • [job] [logs] Default CI Group #6 / event_log Event Log public API "after all" hook in "Event Log public API"
  • [job] [logs] Default CI Group #6 / event_log Event Log public API Index Lifecycle should query across indices matching the Event Log data view
  • [job] [logs] Default CI Group #6 / event_log Event Log public API Index Lifecycle should query across indices matching the Event Log data view
  • [job] [logs] Jest Tests #3 / global header shows no sourcerer if timeline is open
  • [job] [logs] Default CI Group #12 / graph app feature controls spaces "before all" hook in "spaces"
  • [job] [logs] Default CI Group #12 / graph app feature controls spaces "before all" hook in "spaces"
  • [job] [logs] Jest Tests #7 / Hosts - rendering it DOES NOT render the Setup Instructions text when an index is available
  • [job] [logs] Jest Tests #7 / Hosts - rendering it should add the new filters after init
  • [job] [logs] Jest Tests #7 / Hosts - rendering it should render tab navigation
  • [job] [logs] Default Accessibility Tests / Kibana overview "after all" hook for "Kibana overview"
  • [job] [logs] Default Accessibility Tests / Kibana overview "after all" hook for "Kibana overview"
  • [job] [logs] Default Accessibility Tests / Kibana overview "before all" hook for "Kibana overview"
  • [job] [logs] Default Accessibility Tests / Kibana overview "before all" hook for "Kibana overview"
  • [job] [logs] Default CI Group #26 / machine learning anomaly detection single metric "after all" hook for "deletes the cloned job"
  • [job] [logs] Default CI Group #26 / machine learning anomaly detection single metric "after all" hook for "deletes the cloned job"
  • [job] [logs] Default CI Group #15 / machine learning permissions for user with full ML access with data loaded "after all" hook in "with data loaded"
  • [job] [logs] Default CI Group #15 / machine learning permissions for user with full ML access with data loaded "after all" hook in "with data loaded"
  • [job] [logs] Default CI Group #8 / machine learning settings calendar creation "after all" hook for "creates new calendar that applies to specific jobs"
  • [job] [logs] Default CI Group #8 / machine learning settings calendar creation "after all" hook for "creates new calendar that applies to specific jobs"
  • [job] [logs] Default CI Group #1 / Monitoring app feature controls security "after all" hook in "security"
  • [job] [logs] Default CI Group #1 / Monitoring app feature controls security "after all" hook in "security"
  • [job] [logs] Default CI Group #1 / Monitoring app feature controls security "before all" hook in "security"
  • [job] [logs] Default CI Group #1 / Monitoring app feature controls security "before all" hook in "security"
  • [job] [logs] Jest Tests #2 / Network page - rendering it DOES NOT render the Setup Instructions text when an index is available
  • [job] [logs] Jest Tests #2 / Network page - rendering it should add the new filters after init
  • [job] [logs] Jest Tests #5 / No data Hide sourcerer - default
  • [job] [logs] Jest Tests #5 / No data Hide sourcerer - detections
  • [job] [logs] Default CI Group #20 / saved objects security and spaces enabled _bulk_create user with no access within the default space "after all" hook for "should return 403 forbidden [hiddentype/any]"
  • [job] [logs] Default CI Group #20 / saved objects security and spaces enabled _bulk_create user with no access within the default space "after all" hook for "should return 403 forbidden [hiddentype/any]"
  • [job] [logs] Default CI Group #20 / saved objects security and spaces enabled _bulk_create user with no access within the default space "before all" hook for "should return 403 forbidden [isolatedtype/defaultspace-isolatedtype-id]"
  • [job] [logs] Default CI Group #20 / saved objects security and spaces enabled _bulk_create user with no access within the default space "before all" hook for "should return 403 forbidden [isolatedtype/defaultspace-isolatedtype-id]"
  • [job] [logs] Default CI Group #14 / saved objects tagging - functional tests table listing "after all" hook in "table listing"
  • [job] [logs] Default CI Group #14 / saved objects tagging - functional tests table listing "after all" hook in "table listing"
  • [job] [logs] Default CI Group #14 / saved objects tagging - functional tests table listing "before all" hook in "table listing"
  • [job] [logs] Default CI Group #14 / saved objects tagging - functional tests table listing "before all" hook in "table listing"
  • [job] [logs] Default CI Group #16 / security APIs - Kerberos Kerberos authentication API access with missing access token document or expired refresh token. "before each" hook for "AJAX call should initiate SPNEGO and clear existing cookie"
  • [job] [logs] Default CI Group #16 / security APIs - Kerberos Kerberos authentication API access with missing access token document or expired refresh token. "before each" hook for "AJAX call should initiate SPNEGO and clear existing cookie"
  • [job] [logs] Default Firefox Tests / security app Security Login Page "after all" hook for "displays message acknowledging logout"
  • [job] [logs] Default Firefox Tests / security app Security Login Page "after all" hook for "displays message acknowledging logout"
  • [job] [logs] Default CI Group #7 / security app Security Login Page "after all" hook for "displays message acknowledging logout"
  • [job] [logs] Default CI Group #7 / security app Security Login Page "after all" hook for "displays message acknowledging logout"
  • [job] [logs] Default Firefox Tests / security app Security Login Page "before all" hook for "can login"
  • [job] [logs] Default Firefox Tests / security app Security Login Page "before all" hook for "can login"
  • [job] [logs] Default CI Group #7 / security app Security Login Page "before all" hook for "can login"
  • [job] [logs] Default CI Group #7 / security app Security Login Page "before all" hook for "can login"
  • [job] [logs] Default CI Group #4 / Spaces app Copy Saved Objects to Space "after all" hook for "allows a dashboard to be copied to the marketing space, with circular references"
  • [job] [logs] Default CI Group #4 / Spaces app Copy Saved Objects to Space "after all" hook for "allows a dashboard to be copied to the marketing space, with circular references"
  • [job] [logs] Default CI Group #4 / Spaces app Copy Saved Objects to Space "before all" hook for "allows a dashboard to be copied to the marketing space, with all references"
  • [job] [logs] Default CI Group #4 / Spaces app Copy Saved Objects to Space "before all" hook for "allows a dashboard to be copied to the marketing space, with all references"
  • [job] [logs] Default CI Group #21 / transform feature controls security "after all" hook in "security"
  • [job] [logs] Default CI Group #21 / transform feature controls security "after all" hook in "security"
  • [job] [logs] Default CI Group #21 / transform feature controls security "before all" hook in "security"
  • [job] [logs] Default CI Group #21 / transform feature controls security "before all" hook in "security"
  • [job] [logs] Default CI Group #10 / Uptime app with real-world data feature controls security "before all" hook in "security"
  • [job] [logs] Default CI Group #10 / Uptime app with real-world data feature controls security "before all" hook in "security"
  • [job] [logs] Jest Tests #6 / useExpViewTimeRange updates lens attributes with report type from storage

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
observability 348 350 +2
securitySolution 2844 2849 +5
total +7

Async chunks

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

id before after diff
observability 357.8KB 364.7KB +6.9KB
securitySolution 4.6MB 4.7MB +24.8KB
uptime 688.3KB 688.3KB +14.0B
total +31.7KB

Page load bundle

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

id before after diff
embeddable 64.7KB 64.7KB +13.0B
lens 41.1KB 41.3KB +172.0B
observability 79.3KB 79.9KB +639.0B
securitySolution 245.9KB 246.0KB +143.0B
total +967.0B

History

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

@angorayc angorayc closed this Feb 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants