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] Service Map: Update popover design #70419

Closed
formgeist opened this issue Jul 1, 2020 · 3 comments
Closed

[APM] Service Map: Update popover design #70419

formgeist opened this issue Jul 1, 2020 · 3 comments
Assignees
Labels
apm:service-maps Service Map feature in APM enhancement New value added to drive a business result Team:APM All issues that need APM UI Team support v7.10.0

Comments

@formgeist
Copy link
Contributor

formgeist commented Jul 1, 2020

Summary

Replacing #66704

We want to explicitly allow for displaying metrics by transaction type instead of mixing the data as it's currently the case. Additionally, the anomaly score display feels out of place as it relates to the Transaction duration metric.

Solution

We'll add a Transaction type selector and separate the transaction metrics from the rest, as they're not touched by the change of transaction type. We should consider not displaying the type selector unless it's needed for data where there's only one transaction type.

Secondly, the anomaly score information is moved closer to the transaction duration which it relates to. We also remove the status dot and change the anomaly score value to show the status color. Adding in the actual max. transaction duration value from the anomaly detail.

Service (Enable alerts)

Service (one transaction type)

  • Choose request as the initially selected transaction type & displayed health status
  • If there is only one transaction type, display a label instead of the selector
@formgeist
Copy link
Contributor Author

@sqren @ogupte I've made a quick mock of a suggested setup within the popover. I think it might still need some polish, but this will at least make it easier to read the anomaly score and the added transaction type selector to see which data is being displayed.

cc @elastic/observability-design for visibility if there's anything we might need to change.

@ogupte
Copy link
Contributor

ogupte commented Jul 7, 2020

Some feedback we got for this design:

  • Choose request as the initially selected transaction type & displayed health status
  • If there is only one transaction type, display a label instead of the selector
    (description updated)

ogupte added a commit to ogupte/kibana that referenced this issue Jul 8, 2020
- Adds anomaly detection integration to service maps backed by apm ML jobs per environment
- Loads transaction stats and anomalies for each transaction types
- Renders a selector in the popop to choose a transaction type to view stats
ogupte added a commit that referenced this issue Jul 9, 2020
* Closes #69480 & #70419.
- Adds anomaly detection integration to service maps backed by apm ML jobs per environment
- Loads transaction stats and anomalies for each transaction types
- Renders a selector in the popop to choose a transaction type to view stats

* - implements original anomaly detection integration design for service maps popover
- only aggregates transaction KPIs and anomaly scores for transaction.type = "request" or "page-load"
- supports environment filter 'All' option to display data from all APM anomaly detection jobs
- handle case where popover metrics don't exist for services outside the current environment filter

* fixes some CI errors

* Simplified messaging for service popop with not data in the current environment

* PR feedback, renamed max anomalies -> service anomalies including the file name

* - defines custom_settings.job_tags.apm_ml_version in ML job creation,
  then filters for it when returing valid APM ML jobs

* changes shape of of service anomalies from an array to a object keyed by serviceName

* removes the url encoding from ML job link href to how it was previously.

* PR feedback

* Popover no data state simplified:
- renders the "no data" message as plain text instead of in a callout
- hides the 'Anomaly detection' section if there is not anomaly data.

* Fixes filtering bug when user selects 'Environment: Not defined'. Now
filters properly by filtering for docs where service.environment does
not exist

* filters jobs fetched in the settings page by `job.custom_settings.job_tags.apm_ml_version`

* Fixed bad import from last upstream merge

Co-authored-by: Elastic Machine <[email protected]>
@sorenlouv sorenlouv changed the title [APM] Add transaction type selector and improve anomaly score display [APM] Service Map: Update popover design Jul 9, 2020
ogupte added a commit to ogupte/kibana that referenced this issue Jul 11, 2020
…tic#70932)

* Closes elastic#69480 & elastic#70419.
- Adds anomaly detection integration to service maps backed by apm ML jobs per environment
- Loads transaction stats and anomalies for each transaction types
- Renders a selector in the popop to choose a transaction type to view stats

* - implements original anomaly detection integration design for service maps popover
- only aggregates transaction KPIs and anomaly scores for transaction.type = "request" or "page-load"
- supports environment filter 'All' option to display data from all APM anomaly detection jobs
- handle case where popover metrics don't exist for services outside the current environment filter

* fixes some CI errors

* Simplified messaging for service popop with not data in the current environment

* PR feedback, renamed max anomalies -> service anomalies including the file name

* - defines custom_settings.job_tags.apm_ml_version in ML job creation,
  then filters for it when returing valid APM ML jobs

* changes shape of of service anomalies from an array to a object keyed by serviceName

* removes the url encoding from ML job link href to how it was previously.

* PR feedback

* Popover no data state simplified:
- renders the "no data" message as plain text instead of in a callout
- hides the 'Anomaly detection' section if there is not anomaly data.

* Fixes filtering bug when user selects 'Environment: Not defined'. Now
filters properly by filtering for docs where service.environment does
not exist

* filters jobs fetched in the settings page by `job.custom_settings.job_tags.apm_ml_version`

* Fixed bad import from last upstream merge

Co-authored-by: Elastic Machine <[email protected]>
@sorenlouv
Copy link
Member

This is no longer relevant since we dropped the transaction type picker. We will still need an updated design of the popover though.

ogupte added a commit that referenced this issue Jul 13, 2020
…) (#71391)

* Closes #69480 & #70419.
- Adds anomaly detection integration to service maps backed by apm ML jobs per environment
- Loads transaction stats and anomalies for each transaction types
- Renders a selector in the popop to choose a transaction type to view stats

* - implements original anomaly detection integration design for service maps popover
- only aggregates transaction KPIs and anomaly scores for transaction.type = "request" or "page-load"
- supports environment filter 'All' option to display data from all APM anomaly detection jobs
- handle case where popover metrics don't exist for services outside the current environment filter

* fixes some CI errors

* Simplified messaging for service popop with not data in the current environment

* PR feedback, renamed max anomalies -> service anomalies including the file name

* - defines custom_settings.job_tags.apm_ml_version in ML job creation,
  then filters for it when returing valid APM ML jobs

* changes shape of of service anomalies from an array to a object keyed by serviceName

* removes the url encoding from ML job link href to how it was previously.

* PR feedback

* Popover no data state simplified:
- renders the "no data" message as plain text instead of in a callout
- hides the 'Anomaly detection' section if there is not anomaly data.

* Fixes filtering bug when user selects 'Environment: Not defined'. Now
filters properly by filtering for docs where service.environment does
not exist

* filters jobs fetched in the settings page by `job.custom_settings.job_tags.apm_ml_version`

* Fixed bad import from last upstream merge

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

Co-authored-by: Elastic Machine <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
apm:service-maps Service Map feature in APM enhancement New value added to drive a business result Team:APM All issues that need APM UI Team support v7.10.0
Projects
None yet
Development

No branches or pull requests

3 participants