This is all before even displaying any detailed information for each device.
And then clicking on an individual device generates:
GET /hardware_product
GET /device/:id/validation_state
GET /device/:id again
GET /device/:id/settings again
Hardware product information can be cached - it does not need to be refreshed on every click. There is no high-level device information needed from GET /device/* for the rack-level view - these hits can be deferred -- certainly since the same endpoints are queried again when the device is clicked. The validation_state query can also be deferred until report+validation information is requested via that tab.
Browse -> room -> rack generates API queries:
This is all before even displaying any detailed information for each device.
And then clicking on an individual device generates:
Hardware product information can be cached - it does not need to be refreshed on every click. There is no high-level device information needed from GET /device/* for the rack-level view - these hits can be deferred -- certainly since the same endpoints are queried again when the device is clicked. The validation_state query can also be deferred until report+validation information is requested via that tab.