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

[Dataset Quality] Implement _ignored root cause identification flow #192370

Conversation

achyutjhunjhunwala
Copy link
Contributor

@achyutjhunjhunwala achyutjhunjhunwala commented Sep 9, 2024

Summary

Closes - #192471
Closes - #191055

The PR adds Flyout to the Degraded Fields inside the Dataset Quality Details page where the Root Cause of the Degraded Field is diagnosed.

Pending Items

  • API Tests for 1 new and 2 old API modifications
  • E2E Tests for the Flyout

How to test this

NOTE (Below guide is for Stateful, you can do the same for serverless)

  • Checkout the PR using - gh pr checkout 192370
  1. Start the FTR server using the command below
 yarn test:ftr:server --config ./x-pack/test/functional/apps/dataset_quality/config.ts
  1. Go to the following path - x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts
  2. Comment out the 2 after blocks present at Line - 54-56 and 414-416
  3. Run the FTR runner using the command below
yarn test:ftr:runner --config ./x-pack/test/functional/apps/dataset_quality/config.ts --include ./x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts

Let the test run and go green

  1. Navigate to http://localhost:5620/app/management/data/data_quality/
    username - test_user and password - changeme

  2. Select the degraded.dataset.rca dataset

You will have an environment ready to test the flyout different scenarios

Demo

Field Limit and Ignore above isse

Field Limit Issue

Warning about not current quality issue

Current Quality Issue

Blocker

There is an Elasticsearch issue on Serverless, which becomes a blocker for merging this PR

https://github.com/elastic/elasticsearch-serverless/issues/2815

@achyutjhunjhunwala achyutjhunjhunwala added release_note:feature Makes this part of the condensed release notes Team:obs-ux-logs Observability Logs User Experience Team Feature:Dataset Health labels Sep 9, 2024
@achyutjhunjhunwala
Copy link
Contributor Author

@simianhacker As discussed over Slack, this is the PR where i had to skip the Alerting test.

To add a bit more context, as part of this PR, we are calculating current number of fields present in mapping and comparing it against limits to see if its a Limit Overflow issue which cause a field to be ignored or not.

Copy link
Contributor

@yngrdyn yngrdyn left a comment

Choose a reason for hiding this comment

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

LGTM

@achyutjhunjhunwala achyutjhunjhunwala enabled auto-merge (squash) October 3, 2024 19:05
@simianhacker
Copy link
Member

@achyutjhunjhunwala I pushed some fixes and un-skipped the burn rate rule.

@kibana-ci
Copy link
Collaborator

kibana-ci commented Oct 3, 2024

💚 Build Succeeded

  • Buildkite Build
  • Commit: 82a8aa7
  • Kibana Serverless Image: docker.elastic.co/kibana-ci/kibana-serverless:pr-192370-82a8aa7c8a9d

Metrics [docs]

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
@kbn/deeplinks-observability 50 51 +1

Async chunks

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

id before after diff
dataQuality 28.1KB 28.2KB +104.0B
datasetQuality 219.2KB 229.0KB +9.7KB
total +9.8KB

Page load bundle

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

id before after diff
dataQuality 8.0KB 8.0KB +35.0B
datasetQuality 18.4KB 18.5KB +59.0B
total +94.0B
Unknown metric groups

API count

id before after diff
@kbn/deeplinks-observability 62 63 +1

History

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

cc @achyutjhunjhunwala

Copy link
Member

@dmlemeshko dmlemeshko left a comment

Choose a reason for hiding this comment

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

LGTM

@achyutjhunjhunwala achyutjhunjhunwala merged commit 0d19367 into elastic:main Oct 4, 2024
23 checks passed
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 8.x

https://github.com/elastic/kibana/actions/runs/11176012600

kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Oct 4, 2024
…lastic#192370)

## Summary

Closes - elastic#192471
Closes - elastic#191055

The PR adds Flyout to the Degraded Fields inside the Dataset Quality
Details page where the Root Cause of the Degraded Field is diagnosed.

## Pending Items

- [x] API Tests for 1 new and 2 old API modifications
- [x] E2E Tests for the Flyout

## How to test this

NOTE (Below guide is for Stateful, you can do the same for serverless)

- Checkout the PR using - `gh pr checkout 192370`

1. Start the FTR server using the command below

```
 yarn test:ftr:server --config ./x-pack/test/functional/apps/dataset_quality/config.ts
 ```

 2. Go to the following path - `x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts`
 3. Comment out the 2 `after` blocks present at Line - 54-56 and 414-416
 4. Run the FTR runner  using the command below

 ```
yarn test:ftr:runner --config ./x-pack/test/functional/apps/dataset_quality/config.ts --include ./x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts
```

Let the test run and go green

5. Navigate to `http://localhost:5620/app/management/data/data_quality/`
username - `test_user` and password - `changeme`

6. Select the `degraded.dataset.rca` dataset

You will have an environment ready to test the flyout different
scenarios

## Demo

## Field Limit and Ignore above isse

![Field Limit
Issue](https://github.com/user-attachments/assets/5908f1a8-ed85-455b-8f61-894b2fc6bb1c)

## Warning about not current quality issue

![Current Quality
Issue](https://github.com/user-attachments/assets/1dd6278f-75f8-4715-bd83-8ac9784afbf7)

## Blocker

There is an Elasticsearch issue on Serverless, which becomes a blocker
for merging this PR

elastic/elasticsearch-serverless#2815
(cherry picked from commit 0d19367)
@kibanamachine
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
8.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Oct 4, 2024
…flow (#192370) (#194910)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[Dataset Quality] Implement _ignored root cause identification flow
(#192370)](#192370)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Achyut
Jhunjhunwala","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-10-04T07:41:55Z","message":"[Dataset
Quality] Implement _ignored root cause identification flow
(#192370)\n\n## Summary\r\n\r\nCloses -
https://github.com/elastic/kibana/issues/192471\r\nCloses -
https://github.com/elastic/kibana/issues/191055\r\n\r\nThe PR adds
Flyout to the Degraded Fields inside the Dataset Quality\r\nDetails page
where the Root Cause of the Degraded Field is diagnosed.\r\n\r\n##
Pending Items\r\n\r\n- [x] API Tests for 1 new and 2 old API
modifications\r\n- [x] E2E Tests for the Flyout\r\n\r\n## How to test
this\r\n\r\nNOTE (Below guide is for Stateful, you can do the same for
serverless)\r\n\r\n- Checkout the PR using - `gh pr checkout
192370`\r\n\r\n1. Start the FTR server using the command
below\r\n\r\n```\r\n yarn test:ftr:server --config
./x-pack/test/functional/apps/dataset_quality/config.ts\r\n ```\r\n \r\n
2. Go to the following path -
`x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts`\r\n
3. Comment out the 2 `after` blocks present at Line - 54-56 and
414-416\r\n 4. Run the FTR runner using the command below\r\n \r\n
```\r\nyarn test:ftr:runner --config
./x-pack/test/functional/apps/dataset_quality/config.ts --include
./x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts\r\n```\r\n\r\nLet
the test run and go green\r\n\r\n5. Navigate to
`http://localhost:5620/app/management/data/data_quality/`\r\nusername -
`test_user` and password - `changeme`\r\n\r\n6. Select the
`degraded.dataset.rca` dataset\r\n\r\nYou will have an environment ready
to test the flyout different\r\nscenarios\r\n\r\n## Demo\r\n\r\n## Field
Limit and Ignore above isse\r\n\r\n![Field
Limit\r\nIssue](https://github.com/user-attachments/assets/5908f1a8-ed85-455b-8f61-894b2fc6bb1c)\r\n\r\n##
Warning about not current quality issue\r\n\r\n![Current
Quality\r\nIssue](https://github.com/user-attachments/assets/1dd6278f-75f8-4715-bd83-8ac9784afbf7)\r\n\r\n##
Blocker\r\n\r\nThere is an Elasticsearch issue on Serverless, which
becomes a blocker\r\nfor merging this
PR\r\n\r\nhttps://github.com/elastic/elasticsearch-serverless/issues/2815","sha":"0d19367fdfad5526b5220dfdf18b4991fe6b3abd","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","release_note:feature","backport:prev-minor","ci:project-deploy-observability","Team:obs-ux-logs","Feature:Dataset
Health"],"title":"[Dataset Quality] Implement _ignored root cause
identification
flow","number":192370,"url":"https://github.com/elastic/kibana/pull/192370","mergeCommit":{"message":"[Dataset
Quality] Implement _ignored root cause identification flow
(#192370)\n\n## Summary\r\n\r\nCloses -
https://github.com/elastic/kibana/issues/192471\r\nCloses -
https://github.com/elastic/kibana/issues/191055\r\n\r\nThe PR adds
Flyout to the Degraded Fields inside the Dataset Quality\r\nDetails page
where the Root Cause of the Degraded Field is diagnosed.\r\n\r\n##
Pending Items\r\n\r\n- [x] API Tests for 1 new and 2 old API
modifications\r\n- [x] E2E Tests for the Flyout\r\n\r\n## How to test
this\r\n\r\nNOTE (Below guide is for Stateful, you can do the same for
serverless)\r\n\r\n- Checkout the PR using - `gh pr checkout
192370`\r\n\r\n1. Start the FTR server using the command
below\r\n\r\n```\r\n yarn test:ftr:server --config
./x-pack/test/functional/apps/dataset_quality/config.ts\r\n ```\r\n \r\n
2. Go to the following path -
`x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts`\r\n
3. Comment out the 2 `after` blocks present at Line - 54-56 and
414-416\r\n 4. Run the FTR runner using the command below\r\n \r\n
```\r\nyarn test:ftr:runner --config
./x-pack/test/functional/apps/dataset_quality/config.ts --include
./x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts\r\n```\r\n\r\nLet
the test run and go green\r\n\r\n5. Navigate to
`http://localhost:5620/app/management/data/data_quality/`\r\nusername -
`test_user` and password - `changeme`\r\n\r\n6. Select the
`degraded.dataset.rca` dataset\r\n\r\nYou will have an environment ready
to test the flyout different\r\nscenarios\r\n\r\n## Demo\r\n\r\n## Field
Limit and Ignore above isse\r\n\r\n![Field
Limit\r\nIssue](https://github.com/user-attachments/assets/5908f1a8-ed85-455b-8f61-894b2fc6bb1c)\r\n\r\n##
Warning about not current quality issue\r\n\r\n![Current
Quality\r\nIssue](https://github.com/user-attachments/assets/1dd6278f-75f8-4715-bd83-8ac9784afbf7)\r\n\r\n##
Blocker\r\n\r\nThere is an Elasticsearch issue on Serverless, which
becomes a blocker\r\nfor merging this
PR\r\n\r\nhttps://github.com/elastic/elasticsearch-serverless/issues/2815","sha":"0d19367fdfad5526b5220dfdf18b4991fe6b3abd"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/192370","number":192370,"mergeCommit":{"message":"[Dataset
Quality] Implement _ignored root cause identification flow
(#192370)\n\n## Summary\r\n\r\nCloses -
https://github.com/elastic/kibana/issues/192471\r\nCloses -
https://github.com/elastic/kibana/issues/191055\r\n\r\nThe PR adds
Flyout to the Degraded Fields inside the Dataset Quality\r\nDetails page
where the Root Cause of the Degraded Field is diagnosed.\r\n\r\n##
Pending Items\r\n\r\n- [x] API Tests for 1 new and 2 old API
modifications\r\n- [x] E2E Tests for the Flyout\r\n\r\n## How to test
this\r\n\r\nNOTE (Below guide is for Stateful, you can do the same for
serverless)\r\n\r\n- Checkout the PR using - `gh pr checkout
192370`\r\n\r\n1. Start the FTR server using the command
below\r\n\r\n```\r\n yarn test:ftr:server --config
./x-pack/test/functional/apps/dataset_quality/config.ts\r\n ```\r\n \r\n
2. Go to the following path -
`x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts`\r\n
3. Comment out the 2 `after` blocks present at Line - 54-56 and
414-416\r\n 4. Run the FTR runner using the command below\r\n \r\n
```\r\nyarn test:ftr:runner --config
./x-pack/test/functional/apps/dataset_quality/config.ts --include
./x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts\r\n```\r\n\r\nLet
the test run and go green\r\n\r\n5. Navigate to
`http://localhost:5620/app/management/data/data_quality/`\r\nusername -
`test_user` and password - `changeme`\r\n\r\n6. Select the
`degraded.dataset.rca` dataset\r\n\r\nYou will have an environment ready
to test the flyout different\r\nscenarios\r\n\r\n## Demo\r\n\r\n## Field
Limit and Ignore above isse\r\n\r\n![Field
Limit\r\nIssue](https://github.com/user-attachments/assets/5908f1a8-ed85-455b-8f61-894b2fc6bb1c)\r\n\r\n##
Warning about not current quality issue\r\n\r\n![Current
Quality\r\nIssue](https://github.com/user-attachments/assets/1dd6278f-75f8-4715-bd83-8ac9784afbf7)\r\n\r\n##
Blocker\r\n\r\nThere is an Elasticsearch issue on Serverless, which
becomes a blocker\r\nfor merging this
PR\r\n\r\nhttps://github.com/elastic/elasticsearch-serverless/issues/2815","sha":"0d19367fdfad5526b5220dfdf18b4991fe6b3abd"}}]}]
BACKPORT-->

Co-authored-by: Achyut Jhunjhunwala <[email protected]>
@achyutjhunjhunwala achyutjhunjhunwala deleted the implement-field-limit-fix-it-flow branch October 4, 2024 15:31
tiansivive pushed a commit to tiansivive/kibana that referenced this pull request Oct 7, 2024
…lastic#192370)

## Summary

Closes - elastic#192471
Closes - elastic#191055

The PR adds Flyout to the Degraded Fields inside the Dataset Quality
Details page where the Root Cause of the Degraded Field is diagnosed.

## Pending Items

- [x] API Tests for 1 new and 2 old API modifications
- [x] E2E Tests for the Flyout

## How to test this

NOTE (Below guide is for Stateful, you can do the same for serverless)

- Checkout the PR using - `gh pr checkout 192370`

1. Start the FTR server using the command below

```
 yarn test:ftr:server --config ./x-pack/test/functional/apps/dataset_quality/config.ts
 ```
 
 2. Go to the following path - `x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts`
 3. Comment out the 2 `after` blocks present at Line - 54-56 and 414-416
 4. Run the FTR runner  using the command below
 
 ```
yarn test:ftr:runner --config ./x-pack/test/functional/apps/dataset_quality/config.ts --include ./x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts
```

Let the test run and go green

5. Navigate to `http://localhost:5620/app/management/data/data_quality/`
username - `test_user` and password - `changeme`

6. Select the `degraded.dataset.rca` dataset

You will have an environment ready to test the flyout different
scenarios

## Demo

## Field Limit and Ignore above isse

![Field Limit
Issue](https://github.com/user-attachments/assets/5908f1a8-ed85-455b-8f61-894b2fc6bb1c)

## Warning about not current quality issue

![Current Quality
Issue](https://github.com/user-attachments/assets/1dd6278f-75f8-4715-bd83-8ac9784afbf7)

## Blocker

There is an Elasticsearch issue on Serverless, which becomes a blocker
for merging this PR

elastic/elasticsearch-serverless#2815
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:prev-minor Backport to (8.x) the previous minor version (i.e. one version back from main) ci:project-deploy-observability Create an Observability project Feature:Dataset Health release_note:feature Makes this part of the condensed release notes Team:obs-ux-logs Observability Logs User Experience Team v8.16.0 v9.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.