-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[Discover] New field stats in Discover sidebar popover #139072
[Discover] New field stats in Discover sidebar popover #139072
Conversation
…iedFieldList plugin
# Conflicts: # src/plugins/discover/kibana.json # src/plugins/discover/public/build_services.ts # x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx # x-pack/plugins/lens/server/routes/index.ts
…r integration tests
message={i18n.translate( | ||
'unifiedFieldList.fieldStats.notAvailableForThisFieldWithoutDataDescription', | ||
{ | ||
defaultMessage: `Analysis is not available for this field.`, |
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.
@ninoslavmiskovic @gchaps Shall we have a separate message for when data is not available? Currently it also shows "Analysis is not available for this field" but we were also discussing bringing "This field is not available for visualizations because it doesn't have any data." copy. I think it would make sense to extend the copy then with "... for this search criteria" or "... based on sample records" but the copy would become too long. Wdyt?
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.
Perhaps it is implicit, and we can shorten the copy to just say: "This field does not contain any data" ? @gchaps - Wdyt?
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.
@ninoslavmiskovic It can happen that the field has some data but those documents were not a part of the sample. So it would be great to mention why no data: either it's not a part of the sample or it's not present for the current search query/filters.
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.
@jughosta Can you use a different line for each case? For example:
No field data for the current search.
No field data for the current sample.
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.
@gchaps Thanks, that works!
Would it be okay to extend the second line to No field data for the current sample of X records.
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.
I think maybe we can remove the word current and shorten it a bit:
No field data for X sample records.
src/plugins/discover/public/application/main/components/sidebar/discover_field.tsx
Show resolved
Hide resolved
src/plugins/unified_field_list/common/utils/field_examples_calculator.ts
Outdated
Show resolved
Hide resolved
src/plugins/unified_field_list/common/utils/field_examples_calculator.ts
Outdated
Show resolved
Hide resolved
@elasticmachine merge upstream |
…kibana into 135886-field-stats-in-discover
…in-discover # Conflicts: # src/plugins/discover/public/application/main/components/sidebar/discover_field.test.tsx # src/plugins/discover/public/application/main/components/sidebar/discover_field.tsx # src/plugins/discover/public/application/main/components/sidebar/discover_field_visualize.tsx # src/plugins/discover/public/application/main/components/sidebar/discover_sidebar.tsx # x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx
@elasticmachine merge upstream |
|
||
export const canProvideExamplesForField = (field: DataViewField): boolean => { | ||
if (field.name === '_score') { | ||
return false; |
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.
@elasticmachine merge upstream |
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.
Code LGTM, tested locally in Safari, Chrome, Firefox. Great work, it's so much better than our previous implementation! 🥳 All relevant little issues and potential improvements are already in follow up issues. Looking forward to the next steps.
So to merge this it's just the wording of the Advanced settings, then it should be fine
* Side Public License, v 1. | ||
*/ | ||
|
||
// Adapted from src/plugins/discover/public/application/main/components/sidebar/lib/field_calculator.js |
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.
hope we can soon get rid of this, the good first issue
didn't work so well 😄
@elasticmachine merge upstream |
💛 Build succeeded, but was flakyFailed CI StepsTest Failures
Metrics [docs]Module Count
Public APIs missing comments
Async chunks
Page load bundle
Unknown metric groupsAPI count
ESLint disabled line counts
Total ESLint disabled count
History
To update your PR or re-run it, just comment with: cc @jughosta |
## Summary This PR removes the beta badge for the Field statistics table. <img width="1791" alt="Screen Shot 2022-09-19 at 12 22 30" src="https://user-images.githubusercontent.com/43350163/191076625-9489eaa0-2488-4a5a-b737-e32724d3bffc.png"> Points of consideration for keeping the beta badge: - Easier for us to keep collecting more user feedback. - Potentially switching to [using the new random sampler for aggregation for the field statistics table](#138953) in the next release. Currently, we are pausing this work to match up with the popover (#139072 and #140667) and to fine-tune the user experience/performance. Points of consideration for removing the beta badge: - The field stats table has been available to users since 8.1, and has been in use within ML since 7.x. We should be defining clear criterias for when it can be moved to GA. ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [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 - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### 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](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) | ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
Closes #135886
Summary
This PR continues the work of integrating field stats (as in Lens popover) into Discover sidebar popover. Previous PR: #136328
<FieldStats />
into Discoverdiscover:showLegacyFieldTopValues
Follow up:
#140732
#140733
Checklist