perf(daemon): measure render pipeline split
- commit
- c40574711f8bec1874f986e28f117b3cd48d556f
- author
- brice · · 2026-07-12 04:49 UTC
- parent
- e178fea
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +8 -0
M internal/usecase/daemon/performance_benchmark_test.go +8 -0
| @@ -206,6 +206,14 @@ func benchmarkReportMetrics(b *testing.B, metrics performanceMetrics, operations | |||
| 206 | 206 | b.ReportMetric(float64(metrics.coordinatorInvalidations)/perOperation, "coordinatorinvalidations/op") | |
| 207 | 207 | b.ReportMetric(float64(metrics.coordinatorWakes)/perOperation, "coordinatorwakes/op") | |
| 208 | 208 | b.ReportMetric(float64(metrics.coordinatorCoalesced)/perOperation, "coordinatorcoalesced/op") | |
| 209 | + | // A delivered output frame has completed the current capture, composition, | |
| 210 | + | // and emission path once. These split labels make that end-to-end pipeline | |
| 211 | + | // rate explicit while retaining the established output metrics above. The | |
| 212 | + | // operations guard keeps every denominator safe for zero-iteration runs. | |
| 213 | + | pipelineRate := float64(metrics.outputFrames) / perOperation | |
| 214 | + | b.ReportMetric(pipelineRate, "rendercaptures/op") | |
| 215 | + | b.ReportMetric(pipelineRate, "rendercompositions/op") | |
| 216 | + | b.ReportMetric(pipelineRate, "renderemissions/op") | |
| 209 | 217 | b.ReportMetric(coordinatorCoalescingRatio(metrics), "coordinatorcoalescingratio") | |
| 210 | 218 | b.ReportMetric(float64(historyRows), "historyrows/pane") | |
| 211 | 219 | } | |
| @@ -206,6 +206,14 @@ func benchmarkReportMetrics(b *testing.B, metrics performanceMetrics, operations | |||||
| 206 | b.ReportMetric(float64(metrics.coordinatorInvalidations)/perOperation, "coordinatorinvalidations/op") | 206 | b.ReportMetric(float64(metrics.coordinatorInvalidations)/perOperation, "coordinatorinvalidations/op") | ||
| 207 | b.ReportMetric(float64(metrics.coordinatorWakes)/perOperation, "coordinatorwakes/op") | 207 | b.ReportMetric(float64(metrics.coordinatorWakes)/perOperation, "coordinatorwakes/op") | ||
| 208 | b.ReportMetric(float64(metrics.coordinatorCoalesced)/perOperation, "coordinatorcoalesced/op") | 208 | b.ReportMetric(float64(metrics.coordinatorCoalesced)/perOperation, "coordinatorcoalesced/op") | ||
| 209 | + | // A delivered output frame has completed the current capture, composition, | |||
| 210 | + | // and emission path once. These split labels make that end-to-end pipeline | |||
| 211 | + | // rate explicit while retaining the established output metrics above. The | |||
| 212 | + | // operations guard keeps every denominator safe for zero-iteration runs. | |||
| 213 | + | pipelineRate := float64(metrics.outputFrames) / perOperation | |||
| 214 | + | b.ReportMetric(pipelineRate, "rendercaptures/op") | |||
| 215 | + | b.ReportMetric(pipelineRate, "rendercompositions/op") | |||
| 216 | + | b.ReportMetric(pipelineRate, "renderemissions/op") | |||
| 209 | b.ReportMetric(coordinatorCoalescingRatio(metrics), "coordinatorcoalescingratio") | 217 | b.ReportMetric(coordinatorCoalescingRatio(metrics), "coordinatorcoalescingratio") | ||
| 210 | b.ReportMetric(float64(historyRows), "historyrows/pane") | 218 | b.ReportMetric(float64(historyRows), "historyrows/pane") | ||
| 211 | } | 219 | } | ||