Performance impact of the Inspector on deployments
Using the Inspector can impact the performance of the deployment being inspected. This page explains why, and how to avoid unintended performance regressions in both local and remote deployments.
As a rule of thumb, the more information is being displayed by the Inspector, the greater the performance impact.
For instance, zooming out a lot causes a large performance impact, because it vastly increases the number of entities shown.
Changing the maximum zoom level of the heatmap mode to a very high number can have a similar effect:
The performance impact is decreased in heatmap mode, as this mode displays ‘density’ of entities per area rather than all individual entities:
Turning on heatmap mode doesn’t remove the performance impact completely, though. It still runs
entity.find operations which will also impact performance. You can track these operations in the Entities Dashboard of the Metrics app .
Why does this happen?
To display the state of your deployment, the Inspector accesses a realtime stream of the entities in the area being inspected, and their components’ properties/values, all workers, their checkout areas, their metrics, and more.
This information is provided by a set of APIs on an Inspection Service, located on one of the nodes running in the deployment being inspected.
To provide these APIs, the Inspection Service queries other nodes within your deployment to stream the state of entities; this therefore puts additional stress on the deployment when you use the Inspector.
How to mitigate the performance impact
Minimize the number of concurrent Inspector windows. Each Inspector window separately connects to the Inspection Service - this means the more are open, the greater the load.