ydb-platform / ydb-embedded-ui

Apache License 2.0
28 stars 7 forks source link

Render per component memory consumption #1177

Open kunga opened 2 months ago

kunga commented 2 months ago

We want to show memory consumption for both cluster and individual nodes grouped by component

It may look like:

telegram-cloud-document-2-5330471687588697304

Currently we have only total YDB process memory used and caches consumption:

image

Currently available metrics for rendering can be found here and are reported to the node whiteboard:

Total consumed memory is equal to ~AllocatedMemory~ AnonRss, total process available memory is HardLimit (may be equal to CGroupLimit, MemAvailable, or taken from configuration)

New components' metrics are likely to be added later

Related documentation is available here

antonkovalenko commented 1 week ago

Add new column for every node (like caches) that uses MemoryDetailed column Displayed as a colored bar. display colors legend on hover

astandrik commented 1 day ago

Summary after discussion with @kunga :

  1. Bar Chart Visualization:

    • Should display memory consumption within the "Process" bar (specifically in its green section)
    • The bar should be wide, potentially taking half the screen width
    • Different memory types should be shown as segments within the bar
    • The total consumption relative to limit should be displayed inside the bar as label
  2. Limits Visualization:

    • Need to show Hard Limit and Soft Limit as cutoff marks on the bar
  3. Popup/Tooltip Features:

    • For each memory type, should show:
      • Absolute value
      • Limit (where applicable)
      • Percentage of total limit
      • Percentage of type-specific limit
    • Could include progress bars within the popup for better visualization
    • Others (without limits) - just as values (without bars)
  4. Additional Notes:

    • "Caches" visualization should be removed
    • Overall Memory bar should be replaced with new one