Andrey Epifancev 9923a7b88d perf: контроль CPU 4x, API против X-DB-Time-Ms, рендеры модалок
- report-data/20261026-control-s1: CPU 4x, 1 повтор (FORM_2/AHR, свод 1 MAIN,
  свод 2 GO, модалка выбора ВСП на большом листе), отдельный run_id
- analysis/api-split: полное время API против заголовка X-DB-Time-Ms
  (вместо py-spy, которому на macOS нужен root)
- analysis/modal-renders, hotspots: рендеры модалок прогона s1, циклы CSS и
  matchMedia со вторым листом

Refs #202

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:08:12 +04:00

517 lines
12 KiB
JSON

{
"run_id": "20261026-control-s1",
"groups": [
{
"scenario": "modal",
"target": "sheet_select_vsp@big",
"role": "rf",
"scale": 1,
"cpu_rate": 4,
"n": 1,
"incomplete_n": 0,
"traced_n": 0,
"metrics": {
"main_thread_ms": {
"median": 242.58599999999998,
"p95": 242.58599999999998,
"min": 242.58599999999998,
"max": 242.58599999999998,
"n": 1
},
"click_to_visible_ms": {
"median": 228.60000002384186,
"p95": 228.60000002384186,
"min": 228.60000002384186,
"max": 228.60000002384186,
"n": 1
},
"long_task_ms": {
"median": 0,
"p95": 0,
"min": 0,
"max": 0,
"n": 1
},
"long_task_n": {
"median": 0,
"p95": 0,
"min": 0,
"max": 0,
"n": 1
}
}
},
{
"scenario": "scroll",
"target": "FORM_2/AHR/null@y",
"role": "rf",
"scale": 1,
"cpu_rate": 4,
"n": 1,
"incomplete_n": 0,
"traced_n": 0,
"metrics": {
"main_thread_ms_per_step": {
"median": 349.7567992788461,
"p95": 349.7567992788461,
"min": 349.7567992788461,
"max": 349.7567992788461,
"n": 1
},
"main_thread_ms": {
"median": 290997.65699999995,
"p95": 290997.65699999995,
"min": 290997.65699999995,
"max": 290997.65699999995,
"n": 1
},
"axis": {
"median": 0,
"p95": 0,
"min": 0,
"max": 0,
"n": 1
},
"duration_ms": {
"median": 295401,
"p95": 295401,
"min": 295401,
"max": 295401,
"n": 1
},
"frame_excess_ms": {
"median": 250498.53333334342,
"p95": 250498.53333334342,
"min": 250498.53333334342,
"max": 250498.53333334342,
"n": 1
},
"frame_n": {
"median": 2695,
"p95": 2695,
"min": 2695,
"max": 2695,
"n": 1
},
"frame_p50_ms": {
"median": 100,
"p95": 100,
"min": 100,
"max": 100,
"n": 1
},
"frame_p95_ms": {
"median": 266.6999999999971,
"p95": 266.6999999999971,
"min": 266.6999999999971,
"max": 266.6999999999971,
"n": 1
},
"heavy_frame_n": {
"median": 1665,
"p95": 1665,
"min": 1665,
"max": 1665,
"n": 1
},
"json_bytes_sheet": {
"median": 7597621,
"p95": 7597621,
"min": 7597621,
"max": 7597621,
"n": 1
},
"long_task_ms": {
"median": 275153,
"p95": 275153,
"min": 275153,
"max": 275153,
"n": 1
},
"long_task_n": {
"median": 1665,
"p95": 1665,
"min": 1665,
"max": 1665,
"n": 1
},
"rows_visible_after": {
"median": 24,
"p95": 24,
"min": 24,
"max": 24,
"n": 1
},
"rows_visible_before": {
"median": 24,
"p95": 24,
"min": 24,
"max": 24,
"n": 1
},
"steps": {
"median": 832,
"p95": 832,
"min": 832,
"max": 832,
"n": 1
}
}
},
{
"scenario": "scroll",
"target": "svod/svod1_MAIN/filter@y",
"role": "dfip",
"scale": 1,
"cpu_rate": 4,
"n": 1,
"incomplete_n": 0,
"traced_n": 0,
"metrics": {
"main_thread_ms": {
"median": 367.58500000000004,
"p95": 367.58500000000004,
"min": 367.58500000000004,
"max": 367.58500000000004,
"n": 1
},
"axis": {
"median": 0,
"p95": 0,
"min": 0,
"max": 0,
"n": 1
},
"duration_ms": {
"median": 779.7000000476837,
"p95": 779.7000000476837,
"min": 779.7000000476837,
"max": 779.7000000476837,
"n": 1
},
"frame_excess_ms": {
"median": 217.33333333333383,
"p95": 217.33333333333383,
"min": 217.33333333333383,
"max": 217.33333333333383,
"n": 1
},
"frame_n": {
"median": 33,
"p95": 33,
"min": 33,
"max": 33,
"n": 1
},
"frame_p50_ms": {
"median": 16.700000000000045,
"p95": 16.700000000000045,
"min": 16.700000000000045,
"max": 16.700000000000045,
"n": 1
},
"frame_p95_ms": {
"median": 16.700000000000045,
"p95": 16.700000000000045,
"min": 16.700000000000045,
"max": 16.700000000000045,
"n": 1
},
"heavy_frame_n": {
"median": 1,
"p95": 1,
"min": 1,
"max": 1,
"n": 1
},
"json_bytes_sheet": {
"median": 133662,
"p95": 133662,
"min": 133662,
"max": 133662,
"n": 1
},
"long_task_ms": {
"median": 252,
"p95": 252,
"min": 252,
"max": 252,
"n": 1
},
"long_task_n": {
"median": 1,
"p95": 1,
"min": 1,
"max": 1,
"n": 1
},
"rows_visible_after": {
"median": 32,
"p95": 32,
"min": 32,
"max": 32,
"n": 1
},
"rows_visible_before": {
"median": 32,
"p95": 32,
"min": 32,
"max": 32,
"n": 1
},
"steps": {
"median": 0,
"p95": 0,
"min": 0,
"max": 0,
"n": 1
}
}
},
{
"scenario": "scroll",
"target": "svod/svod1_MAIN@y",
"role": "dfip",
"scale": 1,
"cpu_rate": 4,
"n": 1,
"incomplete_n": 0,
"traced_n": 0,
"metrics": {
"main_thread_ms_per_step": {
"median": 555.1213529411765,
"p95": 555.1213529411765,
"min": 555.1213529411765,
"max": 555.1213529411765,
"n": 1
},
"main_thread_ms": {
"median": 18874.126,
"p95": 18874.126,
"min": 18874.126,
"max": 18874.126,
"n": 1
},
"axis": {
"median": 0,
"p95": 0,
"min": 0,
"max": 0,
"n": 1
},
"duration_ms": {
"median": 19606.300000071526,
"p95": 19606.300000071526,
"min": 19606.300000071526,
"max": 19606.300000071526,
"n": 1
},
"frame_excess_ms": {
"median": 17035.03333333335,
"p95": 17035.03333333335,
"min": 17035.03333333335,
"max": 17035.03333333335,
"n": 1
},
"frame_n": {
"median": 154,
"p95": 154,
"min": 154,
"max": 154,
"n": 1
},
"frame_p50_ms": {
"median": 16.700000000000728,
"p95": 16.700000000000728,
"min": 16.700000000000728,
"max": 16.700000000000728,
"n": 1
},
"frame_p95_ms": {
"median": 483.39999999999964,
"p95": 483.39999999999964,
"min": 483.39999999999964,
"max": 483.39999999999964,
"n": 1
},
"heavy_frame_n": {
"median": 68,
"p95": 68,
"min": 68,
"max": 68,
"n": 1
},
"json_bytes_sheet": {
"median": 133662,
"p95": 133662,
"min": 133662,
"max": 133662,
"n": 1
},
"long_task_ms": {
"median": 18269,
"p95": 18269,
"min": 18269,
"max": 18269,
"n": 1
},
"long_task_n": {
"median": 68,
"p95": 68,
"min": 68,
"max": 68,
"n": 1
},
"rows_visible_after": {
"median": 32,
"p95": 32,
"min": 32,
"max": 32,
"n": 1
},
"rows_visible_before": {
"median": 32,
"p95": 32,
"min": 32,
"max": 32,
"n": 1
},
"steps": {
"median": 34,
"p95": 34,
"min": 34,
"max": 34,
"n": 1
}
}
},
{
"scenario": "scroll",
"target": "svod/svod2_GO/filter@y",
"role": "dfip",
"scale": 1,
"cpu_rate": 4,
"n": 0,
"incomplete_n": 1,
"traced_n": 0,
"metrics": {}
},
{
"scenario": "scroll",
"target": "svod/svod2_GO@y",
"role": "dfip",
"scale": 1,
"cpu_rate": 4,
"n": 1,
"incomplete_n": 0,
"traced_n": 0,
"metrics": {
"main_thread_ms_per_step": {
"median": 728.5520126582279,
"p95": 728.5520126582279,
"min": 728.5520126582279,
"max": 728.5520126582279,
"n": 1
},
"main_thread_ms": {
"median": 1496445.834,
"p95": 1496445.834,
"min": 1496445.834,
"max": 1496445.834,
"n": 1
},
"axis": {
"median": 0,
"p95": 0,
"min": 0,
"max": 0,
"n": 1
},
"duration_ms": {
"median": 1528210.7000000477,
"p95": 1528210.7000000477,
"min": 1528210.7000000477,
"max": 1528210.7000000477,
"n": 1
},
"frame_excess_ms": {
"median": 1387566.0999999552,
"p95": 1387566.0999999552,
"min": 1387566.0999999552,
"max": 1387566.0999999552,
"n": 1
},
"frame_n": {
"median": 8444,
"p95": 8444,
"min": 8444,
"max": 8444,
"n": 1
},
"frame_p50_ms": {
"median": 16.800000000046566,
"p95": 16.800000000046566,
"min": 16.800000000046566,
"max": 16.800000000046566,
"n": 1
},
"frame_p95_ms": {
"median": 466.69999999995343,
"p95": 466.69999999995343,
"min": 466.69999999995343,
"max": 466.69999999995343,
"n": 1
},
"heavy_frame_n": {
"median": 4131,
"p95": 4131,
"min": 4131,
"max": 4131,
"n": 1
},
"json_bytes_sheet": {
"median": 30613848,
"p95": 30613848,
"min": 30613848,
"max": 30613848,
"n": 1
},
"long_task_ms": {
"median": 1453916,
"p95": 1453916,
"min": 1453916,
"max": 1453916,
"n": 1
},
"long_task_n": {
"median": 4109,
"p95": 4109,
"min": 4109,
"max": 4109,
"n": 1
},
"rows_visible_after": {
"median": 27,
"p95": 27,
"min": 27,
"max": 27,
"n": 1
},
"rows_visible_before": {
"median": 27,
"p95": 27,
"min": 27,
"max": 27,
"n": 1
},
"steps": {
"median": 2054,
"p95": 2054,
"min": 2054,
"max": 2054,
"n": 1
}
}
}
]
}