elastic / elastic/apm

[APM] Profiling CPU/Heap: Initial UX/UI design

Open
#197 1 comment 1 reaction 1 assignee Claimed by @formgeist View on GitHub
design Team:apm
Dominant language
Gherkin
Stars
427
Forks
125
PR merge metrics
No merged PRs in 30d

Description

**Summary of the problem** (If there are multiple problems or use cases, prioritize them)
We want to allow users to profile the CPU and memory usage in their applications. As part of the generic metrics that we provide users in the APM UI, we'd like to enhance this experience by implementing the ability to view generated profiles where applicable.

**Ideal solution** (optional)
Ideally, the user will be able to;

- View generated profiles in the Metrics section of APM UI for the relevant applications.
- Providing users with the CPU usage charts already in place, they should be able to use this in order to "scrub" a selection of the chart and provide relevant profiles for this time range.
- User should be able to select a specific profile type; CPU, system memory, heap, mutex etc.
- User should be able to choose two profiles to compare; profile 1 becomes the delta with 2 overlaid and showing the difference.
- Related: Rendering the profiles in a new visualization type inside Kibana which allows the user to view details.

**List known (technical) restrictions and requirements**
- Currently Go and Java agents (coming soon) have implemented profiling. More agents will follow in the near-term.

**Are there any pages or actions that relate to this feature?**
- Metrics section redesign to allow for more sections within the already existing overview. Possibly allowing for an i.e. CPU details page where the user can see the CPU usage in full and allow for the interactions described above.

**Related issues**
- https://github.com/elastic/apm/issues/121
- https://github.com/elastic/elastic-charts/issues/519

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.