openshift/origin-server — pull request #4124 by a13m (2013-11-07 20:35:00+00:00)
Title: Improve performance for tools which iterate over ApplicationContainers

There are a few things in this commit:

* Introduce ApplicationContainer.all_uuids for cases where a container is not needed
* Call ApplicationContainer.all(nil, false) in scripts where app state is needed but other data is not
* Change ApplicationContainer.from_uuid to use the same environment loading strategy as ApplicationContainer.all
* Remove git_repos_count from node_utilization stats; I don't know what uses that metric, and collecting it means we have to lookup environment variables for all gears, since the repo path is determined by the app name.

Note that even with these changes, I think we'd be much better off having an application state cache on the system (and we have one in OpenShift Online), because reading a state file out of every gear is costly, but these changes should make performance a bit more tolerable.