SAI API Performance Monitoring#2279
Conversation
Signed-off-by: JaiOCP <jai.kumar@broadcom.com>
rck-innovium
left a comment
There was a problem hiding this comment.
While most of the measurements can be done at the application level, this proposal provides a way to measure the metrics per object operation inside bulk APIs which cannot be done by application level performance monitoring.
|
As discussed, the community concluded that we should not preserve this perfmon data across warmboot (especially since we thought it does not make sense for warm upgrades/ downgrades) |
|
@JaiOCP, could you address the comments? thanks, |
Signed-off-by: JaiOCP <jai.kumar@broadcom.com>
|
Review comments address. Please take a look @j-bos @rck-innovium |
Commens addressed. Please review |
|
Question: Per-object latency with aggregated reads across variable batch sizes The spec describes PERFDATA as clear-on-read, with AVG_LATENCY computed across multiple API invocations between reads. In a typical route convergence scenario, orchagent may issue several bulk_create calls with varying batch sizes (e.g., 50, 3000, 200) before reading PERFDATA. The returned average latency is per-call — but each call processes a different number of objects. Without knowing the total object count across those calls, the consumer cannot derive per-object latency: The previous revision (#2265) addressed this with |
| /** | ||
| * @brief SAI Performance Monitoring API set | ||
| */ |
i would assume that create_bulk route is one of the heaviest api to call, and i would guess that other bulk api maybe faster, and readig performance also should be fast, internally it should be just reading/copying a table |
HI Deepak, As we talked about this, computation done this way is a wrong implementation in SAI adapter.
|
|
@rck-innovium @j-bos Please approve the PR |
This PR brings in support for measuring SAI API performance. This is based on presentation done in OCP 2023.