| This directory contains process-independent code for recording metrics bucketed |
| by the number of tabs or the number of live tabs. |
| |
| We consider a tab to be alive (i.e. a live tab) if it is a UI tab (e.g. in a |
| tabstrip, as opposed to a prerenderer), and it has not been discarded and has |
| not crashed. Tabs can be discarded on desktop by TabManager to conserve |
| resources, and tabs crash when the corresponding renderer process is killed, |
| e.g. due to limited resources (OOM). |
| |
| Clients of this component must be able to count live tabs. The interface this |
| component exposes provides a way to help create metrics bucketed by live/ or all |
| tab count in a consistent manner, but this is dependent on the client knowing |
| the count. The code in this directory is meant to be shared between processes, |
| and so we do not count tabs here. The tab count is a browser concept, and it can |
| be computed there. To record metrics bucketed by tab counts in processes other |
| than the browser, the tab count would need to be plumbed out of the browser. In |
| some cases this may be more efficient than plumbing metrics data out of the |
| process to the browser, which is an alternative. |
| |
| This component should not have any dependencies other than //base as it |
| should be able to be used from any other place. |