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

[APM/Infra] Display entity detail views for logs-only signals when EEM is enabled #196387

Conversation

iblancof
Copy link
Contributor

@iblancof iblancof commented Oct 15, 2024

Summary

Closes #196084.

We want to show Service, Host and Container views instead of onboarging when EEM is enabled, entityCentricExperience advanced setting is enabled and the entity has logs.

Note

The visibility of the noDataConfig is evaluated at a generic template level for all 3 entity types.
To manage visibility based on entity-specific information (checking for logs), we had to add checks within these templates. While this isn’t an ideal solution, it’s temporary, as we expect upcoming generic entity views will eventually allow us to remove this logic.

Implementation details

There's no need to check if EEM is enabled, as the used dataStreams information won’t return any results if EEM is disabled. This makes the extra check unnecessary.

Entity Before After
Service logs_only_service_before logs_only_service_after
Host/Container logs_only_host_before logs_only_host_after

@iblancof iblancof added release_note:skip Skip the PR/issue when compiling release notes backport:prev-minor Backport to (8.x) the previous minor version (i.e. one version back from main) Team:obs-ux-infra_services Observability Infrastructure & Services User Experience Team v8.16.0 labels Oct 15, 2024
@iblancof iblancof self-assigned this Oct 15, 2024
@iblancof iblancof requested review from a team as code owners October 15, 2024 16:33
@elasticmachine
Copy link
Contributor

Pinging @elastic/obs-ux-infra_services-team (Team:obs-ux-infra_services)

@botelastic botelastic bot added the ci:project-deploy-observability Create an Observability project label Oct 15, 2024
@iblancof iblancof changed the title 196084 inventory logs only hosts containers services dont show without apmmetrics being installed [APM/Infra] Display entity detail views for logs-only signals when EEM is enabled Oct 16, 2024
…-services-dont-show-without-apmmetrics-being-installed
…-services-dont-show-without-apmmetrics-being-installed
…-services-dont-show-without-apmmetrics-being-installed
@iblancof
Copy link
Contributor Author

Let's go ahead and merge this solution then 🚀

Here are some answers, @roshan-elastic.

  • Will we have the same behaviour for service views?

Yes, service views were already handling APM signals (metrics or traces) before, and in this PR, we’re adding logs as well.

  • What happens if a user clicks on 'Service Inventory' or 'Hosts' in the side nav? I assume it'll still show the empty state (and that's good)

Yes, the specific inventories appear empty because no data has been detected from those sources.

  • What happens if someone clicks on the breadcrumb in the service view (which says its in the service inventory)? I assume that'll take them to the APM empty state - also OK.

Yes, that’s exactly what will happen, and the same applies to Infra.

…-services-dont-show-without-apmmetrics-being-installed
Copy link
Contributor

@crespocarlos crespocarlos left a comment

Choose a reason for hiding this comment

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

Thanks for the changes. It is working as expected.

I've found some room for improvement, I'm a bit concerned the the number of calls to /summary endpoint. Let me know if you have any questions.

…-services-dont-show-without-apmmetrics-being-installed
Copy link
Contributor

@crespocarlos crespocarlos left a comment

Choose a reason for hiding this comment

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

Just one nit and I think it's good to be merged

Copy link
Contributor

@crespocarlos crespocarlos left a comment

Choose a reason for hiding this comment

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

LGTM.

@elasticmachine
Copy link
Contributor

elasticmachine commented Oct 18, 2024

💚 Build Succeeded

  • Buildkite Build
  • Commit: 52a4967
  • Kibana Serverless Image: docker.elastic.co/kibana-ci/kibana-serverless:pr-196387-52a496712359

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
infra 1526 1527 +1

Async chunks

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

id before after diff
apm 3.4MB 3.4MB +141.0B
infra 1.7MB 1.7MB +466.0B
total +607.0B

History

cc @iblancof

@iblancof iblancof merged commit 586330b into elastic:main Oct 18, 2024
26 checks passed
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 8.16, 8.x

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

kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Oct 18, 2024
…M is enabled (elastic#196387)

## Summary

Closes elastic#196084.

We want to show Service, Host and Container views instead of onboarging
when EEM is enabled, entityCentricExperience advanced setting is enabled
and the entity has logs.

>[!NOTE]
The visibility of the noDataConfig is evaluated at a generic template
level for all 3 entity types.
To manage visibility based on entity-specific information (checking for
logs), we had to add checks within these templates. While this isn’t an
ideal solution, it’s temporary, as we expect upcoming generic entity
views will eventually allow us to remove this logic.

## Implementation details

There's no need to check if EEM is enabled, as the used `dataStreams`
information won’t return any results if EEM is disabled. This makes the
extra check unnecessary.

|Entity|Before|After|
|-|-|-|

|Service|![logs_only_service_before](https://github.com/user-attachments/assets/b92e7801-058d-4dc7-8cc8-eea128f19e4c)|![logs_only_service_after](https://github.com/user-attachments/assets/52eaa3cd-9cb9-427d-b9c2-d87ae6440dac)|

|Host/Container|![logs_only_host_before](https://github.com/user-attachments/assets/211b2f37-0cba-42e7-bb14-ad3f44fa1a51)|![logs_only_host_after](https://github.com/user-attachments/assets/32cab468-f3d0-49f9-8835-deb016189a14)|

---------

Co-authored-by: kibanamachine <[email protected]>
Co-authored-by: Cauê Marcondes <[email protected]>
(cherry picked from commit 586330b)
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Oct 18, 2024
…M is enabled (elastic#196387)

## Summary

Closes elastic#196084.

We want to show Service, Host and Container views instead of onboarging
when EEM is enabled, entityCentricExperience advanced setting is enabled
and the entity has logs.

>[!NOTE]
The visibility of the noDataConfig is evaluated at a generic template
level for all 3 entity types.
To manage visibility based on entity-specific information (checking for
logs), we had to add checks within these templates. While this isn’t an
ideal solution, it’s temporary, as we expect upcoming generic entity
views will eventually allow us to remove this logic.

## Implementation details

There's no need to check if EEM is enabled, as the used `dataStreams`
information won’t return any results if EEM is disabled. This makes the
extra check unnecessary.

|Entity|Before|After|
|-|-|-|

|Service|![logs_only_service_before](https://github.com/user-attachments/assets/b92e7801-058d-4dc7-8cc8-eea128f19e4c)|![logs_only_service_after](https://github.com/user-attachments/assets/52eaa3cd-9cb9-427d-b9c2-d87ae6440dac)|

|Host/Container|![logs_only_host_before](https://github.com/user-attachments/assets/211b2f37-0cba-42e7-bb14-ad3f44fa1a51)|![logs_only_host_after](https://github.com/user-attachments/assets/32cab468-f3d0-49f9-8835-deb016189a14)|

---------

Co-authored-by: kibanamachine <[email protected]>
Co-authored-by: Cauê Marcondes <[email protected]>
(cherry picked from commit 586330b)
@kibanamachine
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
8.16
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 18, 2024
…when EEM is enabled (#196387) (#196838)

# Backport

This will backport the following commits from `main` to `8.16`:
- [[APM/Infra] Display entity detail views for logs-only signals when
EEM is enabled (#196387)](#196387)

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

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

<!--BACKPORT [{"author":{"name":"Irene
Blanco","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-10-18T10:21:48Z","message":"[APM/Infra]
Display entity detail views for logs-only signals when EEM is enabled
(#196387)\n\n## Summary\r\n\r\nCloses
https://github.com/elastic/kibana/issues/196084.\r\n\r\nWe want to show
Service, Host and Container views instead of onboarging\r\nwhen EEM is
enabled, entityCentricExperience advanced setting is enabled\r\nand the
entity has logs.\r\n\r\n>[!NOTE]\r\nThe visibility of the noDataConfig
is evaluated at a generic template\r\nlevel for all 3 entity
types.\r\nTo manage visibility based on entity-specific information
(checking for\r\nlogs), we had to add checks within these templates.
While this isn’t an\r\nideal solution, it’s temporary, as we expect
upcoming generic entity\r\nviews will eventually allow us to remove this
logic.\r\n\r\n## Implementation details\r\n\r\nThere's no need to check
if EEM is enabled, as the used `dataStreams`\r\ninformation won’t return
any results if EEM is disabled. This makes the\r\nextra check
unnecessary.\r\n\r\n|Entity|Before|After|\r\n|-|-|-|\r\n\r\n|Service|![logs_only_service_before](https://github.com/user-attachments/assets/b92e7801-058d-4dc7-8cc8-eea128f19e4c)|![logs_only_service_after](https://github.com/user-attachments/assets/52eaa3cd-9cb9-427d-b9c2-d87ae6440dac)|\r\n\r\n|Host/Container|![logs_only_host_before](https://github.com/user-attachments/assets/211b2f37-0cba-42e7-bb14-ad3f44fa1a51)|![logs_only_host_after](https://github.com/user-attachments/assets/32cab468-f3d0-49f9-8835-deb016189a14)|\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by:
Cauê Marcondes
<[email protected]>","sha":"586330bd0b557640faa3e019201592f67d180aa4","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","backport:prev-minor","ci:project-deploy-observability","Team:obs-ux-infra_services","v8.16.0"],"title":"[APM/Infra]
Display entity detail views for logs-only signals when EEM is
enabled","number":196387,"url":"https://github.com/elastic/kibana/pull/196387","mergeCommit":{"message":"[APM/Infra]
Display entity detail views for logs-only signals when EEM is enabled
(#196387)\n\n## Summary\r\n\r\nCloses
https://github.com/elastic/kibana/issues/196084.\r\n\r\nWe want to show
Service, Host and Container views instead of onboarging\r\nwhen EEM is
enabled, entityCentricExperience advanced setting is enabled\r\nand the
entity has logs.\r\n\r\n>[!NOTE]\r\nThe visibility of the noDataConfig
is evaluated at a generic template\r\nlevel for all 3 entity
types.\r\nTo manage visibility based on entity-specific information
(checking for\r\nlogs), we had to add checks within these templates.
While this isn’t an\r\nideal solution, it’s temporary, as we expect
upcoming generic entity\r\nviews will eventually allow us to remove this
logic.\r\n\r\n## Implementation details\r\n\r\nThere's no need to check
if EEM is enabled, as the used `dataStreams`\r\ninformation won’t return
any results if EEM is disabled. This makes the\r\nextra check
unnecessary.\r\n\r\n|Entity|Before|After|\r\n|-|-|-|\r\n\r\n|Service|![logs_only_service_before](https://github.com/user-attachments/assets/b92e7801-058d-4dc7-8cc8-eea128f19e4c)|![logs_only_service_after](https://github.com/user-attachments/assets/52eaa3cd-9cb9-427d-b9c2-d87ae6440dac)|\r\n\r\n|Host/Container|![logs_only_host_before](https://github.com/user-attachments/assets/211b2f37-0cba-42e7-bb14-ad3f44fa1a51)|![logs_only_host_after](https://github.com/user-attachments/assets/32cab468-f3d0-49f9-8835-deb016189a14)|\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by:
Cauê Marcondes
<[email protected]>","sha":"586330bd0b557640faa3e019201592f67d180aa4"}},"sourceBranch":"main","suggestedTargetBranches":["8.16"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/196387","number":196387,"mergeCommit":{"message":"[APM/Infra]
Display entity detail views for logs-only signals when EEM is enabled
(#196387)\n\n## Summary\r\n\r\nCloses
https://github.com/elastic/kibana/issues/196084.\r\n\r\nWe want to show
Service, Host and Container views instead of onboarging\r\nwhen EEM is
enabled, entityCentricExperience advanced setting is enabled\r\nand the
entity has logs.\r\n\r\n>[!NOTE]\r\nThe visibility of the noDataConfig
is evaluated at a generic template\r\nlevel for all 3 entity
types.\r\nTo manage visibility based on entity-specific information
(checking for\r\nlogs), we had to add checks within these templates.
While this isn’t an\r\nideal solution, it’s temporary, as we expect
upcoming generic entity\r\nviews will eventually allow us to remove this
logic.\r\n\r\n## Implementation details\r\n\r\nThere's no need to check
if EEM is enabled, as the used `dataStreams`\r\ninformation won’t return
any results if EEM is disabled. This makes the\r\nextra check
unnecessary.\r\n\r\n|Entity|Before|After|\r\n|-|-|-|\r\n\r\n|Service|![logs_only_service_before](https://github.com/user-attachments/assets/b92e7801-058d-4dc7-8cc8-eea128f19e4c)|![logs_only_service_after](https://github.com/user-attachments/assets/52eaa3cd-9cb9-427d-b9c2-d87ae6440dac)|\r\n\r\n|Host/Container|![logs_only_host_before](https://github.com/user-attachments/assets/211b2f37-0cba-42e7-bb14-ad3f44fa1a51)|![logs_only_host_after](https://github.com/user-attachments/assets/32cab468-f3d0-49f9-8835-deb016189a14)|\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by:
Cauê Marcondes
<[email protected]>","sha":"586330bd0b557640faa3e019201592f67d180aa4"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Irene Blanco <[email protected]>
kibanamachine added a commit that referenced this pull request Oct 21, 2024
…hen EEM is enabled (#196387) (#196839)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[APM/Infra] Display entity detail views for logs-only signals when
EEM is enabled (#196387)](#196387)

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

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

<!--BACKPORT [{"author":{"name":"Irene
Blanco","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-10-18T10:21:48Z","message":"[APM/Infra]
Display entity detail views for logs-only signals when EEM is enabled
(#196387)\n\n## Summary\r\n\r\nCloses
https://github.com/elastic/kibana/issues/196084.\r\n\r\nWe want to show
Service, Host and Container views instead of onboarging\r\nwhen EEM is
enabled, entityCentricExperience advanced setting is enabled\r\nand the
entity has logs.\r\n\r\n>[!NOTE]\r\nThe visibility of the noDataConfig
is evaluated at a generic template\r\nlevel for all 3 entity
types.\r\nTo manage visibility based on entity-specific information
(checking for\r\nlogs), we had to add checks within these templates.
While this isn’t an\r\nideal solution, it’s temporary, as we expect
upcoming generic entity\r\nviews will eventually allow us to remove this
logic.\r\n\r\n## Implementation details\r\n\r\nThere's no need to check
if EEM is enabled, as the used `dataStreams`\r\ninformation won’t return
any results if EEM is disabled. This makes the\r\nextra check
unnecessary.\r\n\r\n|Entity|Before|After|\r\n|-|-|-|\r\n\r\n|Service|![logs_only_service_before](https://github.com/user-attachments/assets/b92e7801-058d-4dc7-8cc8-eea128f19e4c)|![logs_only_service_after](https://github.com/user-attachments/assets/52eaa3cd-9cb9-427d-b9c2-d87ae6440dac)|\r\n\r\n|Host/Container|![logs_only_host_before](https://github.com/user-attachments/assets/211b2f37-0cba-42e7-bb14-ad3f44fa1a51)|![logs_only_host_after](https://github.com/user-attachments/assets/32cab468-f3d0-49f9-8835-deb016189a14)|\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by:
Cauê Marcondes
<[email protected]>","sha":"586330bd0b557640faa3e019201592f67d180aa4","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","backport:prev-minor","ci:project-deploy-observability","Team:obs-ux-infra_services","v8.16.0"],"title":"[APM/Infra]
Display entity detail views for logs-only signals when EEM is
enabled","number":196387,"url":"https://github.com/elastic/kibana/pull/196387","mergeCommit":{"message":"[APM/Infra]
Display entity detail views for logs-only signals when EEM is enabled
(#196387)\n\n## Summary\r\n\r\nCloses
https://github.com/elastic/kibana/issues/196084.\r\n\r\nWe want to show
Service, Host and Container views instead of onboarging\r\nwhen EEM is
enabled, entityCentricExperience advanced setting is enabled\r\nand the
entity has logs.\r\n\r\n>[!NOTE]\r\nThe visibility of the noDataConfig
is evaluated at a generic template\r\nlevel for all 3 entity
types.\r\nTo manage visibility based on entity-specific information
(checking for\r\nlogs), we had to add checks within these templates.
While this isn’t an\r\nideal solution, it’s temporary, as we expect
upcoming generic entity\r\nviews will eventually allow us to remove this
logic.\r\n\r\n## Implementation details\r\n\r\nThere's no need to check
if EEM is enabled, as the used `dataStreams`\r\ninformation won’t return
any results if EEM is disabled. This makes the\r\nextra check
unnecessary.\r\n\r\n|Entity|Before|After|\r\n|-|-|-|\r\n\r\n|Service|![logs_only_service_before](https://github.com/user-attachments/assets/b92e7801-058d-4dc7-8cc8-eea128f19e4c)|![logs_only_service_after](https://github.com/user-attachments/assets/52eaa3cd-9cb9-427d-b9c2-d87ae6440dac)|\r\n\r\n|Host/Container|![logs_only_host_before](https://github.com/user-attachments/assets/211b2f37-0cba-42e7-bb14-ad3f44fa1a51)|![logs_only_host_after](https://github.com/user-attachments/assets/32cab468-f3d0-49f9-8835-deb016189a14)|\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by:
Cauê Marcondes
<[email protected]>","sha":"586330bd0b557640faa3e019201592f67d180aa4"}},"sourceBranch":"main","suggestedTargetBranches":["8.16"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/196387","number":196387,"mergeCommit":{"message":"[APM/Infra]
Display entity detail views for logs-only signals when EEM is enabled
(#196387)\n\n## Summary\r\n\r\nCloses
https://github.com/elastic/kibana/issues/196084.\r\n\r\nWe want to show
Service, Host and Container views instead of onboarging\r\nwhen EEM is
enabled, entityCentricExperience advanced setting is enabled\r\nand the
entity has logs.\r\n\r\n>[!NOTE]\r\nThe visibility of the noDataConfig
is evaluated at a generic template\r\nlevel for all 3 entity
types.\r\nTo manage visibility based on entity-specific information
(checking for\r\nlogs), we had to add checks within these templates.
While this isn’t an\r\nideal solution, it’s temporary, as we expect
upcoming generic entity\r\nviews will eventually allow us to remove this
logic.\r\n\r\n## Implementation details\r\n\r\nThere's no need to check
if EEM is enabled, as the used `dataStreams`\r\ninformation won’t return
any results if EEM is disabled. This makes the\r\nextra check
unnecessary.\r\n\r\n|Entity|Before|After|\r\n|-|-|-|\r\n\r\n|Service|![logs_only_service_before](https://github.com/user-attachments/assets/b92e7801-058d-4dc7-8cc8-eea128f19e4c)|![logs_only_service_after](https://github.com/user-attachments/assets/52eaa3cd-9cb9-427d-b9c2-d87ae6440dac)|\r\n\r\n|Host/Container|![logs_only_host_before](https://github.com/user-attachments/assets/211b2f37-0cba-42e7-bb14-ad3f44fa1a51)|![logs_only_host_after](https://github.com/user-attachments/assets/32cab468-f3d0-49f9-8835-deb016189a14)|\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by:
Cauê Marcondes
<[email protected]>","sha":"586330bd0b557640faa3e019201592f67d180aa4"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Irene Blanco <[email protected]>
@iblancof iblancof deleted the 196084-inventory-logs-only-hosts-containers--services-dont-show-without-apmmetrics-being-installed branch October 25, 2024 12:28
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 release_note:skip Skip the PR/issue when compiling release notes Team:obs-ux-infra_services Observability Infrastructure & Services User Experience Team v8.16.0 v8.17.0 v9.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Inventory] Logs only Hosts, Containers & Services don't show without APM/Metrics being installed
6 participants