With debugging and profiling, we can discover and resolve many issues and performance problems before they occur in production. Added to that, we can measure an app's cost of execution progressively during development.
Both tools do the job of offering metrics to us and, with that, we can inspect pieces of code carefully, but how about the layout? We can, for sure, measure performance frame by frame based on time of rendering our widget tree, as we have seen before with the help of performance overlay. But how about checking whether our tree is taking more space than needed—that is, has more widgets than needed—or whether a widget is being created at the right time/level.
The Flutter inspector can help with this task. Again, with the great DevTools, we can access this functionality.