[ 
https://issues.apache.org/jira/browse/IGNITE-27580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksandr Chesnokov updated IGNITE-27580:
-----------------------------------------
    Description: 
h2. Problem

The PerfStat HTML report stores all system views data in a single data.json.js 
file. For large clusters this file can be hundreds of MB, which causes long 
load times and Chrome freezes due to parsing and rendering huge arrays.
h2. Proposed solution

IGNITE-24724 Could solve the problem, but it does not help for reports 
collected from previous releases of Ignite

Split system views data into small chunked JSON files and add a meta.json per 
view (columns, row counts per node, chunk size). Update systemViewTab.js to 
load rows lazily and build the total view using metadata without loading all 
rows at once. This should keep the report responsive for large datasets
h3. Limitations

To keep UI fast, the following features will be removed for system views:
 * Sorting in HTML table,

 * Text search across rows

As a workaround, users can use {{grep/jq}} over chunked JSON files.
h2. Steps to test report
 # Comment PerformanceStatisticsReportSelfTest.java:177
 # Run PerformanceStatisticsReportSelfTest#testCreateReport
 # See modules/performance-statistics-ext/ignite/work/perf_stat

  was:
h2. Problem

The PerfStat HTML report stores all system views data in a single data.json.js 
file. For large clusters this file can be hundreds of MB, which causes long 
load times and Chrome freezes due to parsing and rendering huge arrays.
h2. Proposed solution

IGNITE-24724 Could solve the problem, but it does not help for reports 
collected from previous releases of Ignite

Split system views data into small chunked JSON files and add a meta.json per 
view (columns, row counts per node, chunk size). Update systemViewTab.js to 
load rows lazily and build the total view using metadata without loading all 
rows at once. This should keep the report responsive for large datasets
h3. Limitations

Proposed solution removes two options for user:
 * Sort views in html tables
 * Search through system view rows

For that tasks user can use grep over json
h2. Steps to test report
 # Comment PerformanceStatisticsReportSelfTest.java:177
 # Run PerformanceStatisticsReportSelfTest#testCreateReport
 # See modules/performance-statistics-ext/ignite/work/perf_stat


> [perfStat] Reduce memory usage in system views report generation
> ----------------------------------------------------------------
>
>                 Key: IGNITE-27580
>                 URL: https://issues.apache.org/jira/browse/IGNITE-27580
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Aleksandr Chesnokov
>            Assignee: Aleksandr Chesnokov
>            Priority: Major
>              Labels: IEP-35, ise
>
> h2. Problem
> The PerfStat HTML report stores all system views data in a single 
> data.json.js file. For large clusters this file can be hundreds of MB, which 
> causes long load times and Chrome freezes due to parsing and rendering huge 
> arrays.
> h2. Proposed solution
> IGNITE-24724 Could solve the problem, but it does not help for reports 
> collected from previous releases of Ignite
> Split system views data into small chunked JSON files and add a meta.json per 
> view (columns, row counts per node, chunk size). Update systemViewTab.js to 
> load rows lazily and build the total view using metadata without loading all 
> rows at once. This should keep the report responsive for large datasets
> h3. Limitations
> To keep UI fast, the following features will be removed for system views:
>  * Sorting in HTML table,
>  * Text search across rows
> As a workaround, users can use {{grep/jq}} over chunked JSON files.
> h2. Steps to test report
>  # Comment PerformanceStatisticsReportSelfTest.java:177
>  # Run PerformanceStatisticsReportSelfTest#testCreateReport
>  # See modules/performance-statistics-ext/ignite/work/perf_stat



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to