One of the design strategyies employed by Planetflow is to decouple the collection of data from its processing and analysis. Furthermore, an attempt is made to make the process of data collection independent of components that are dynamic, in that they undergo frequent changes, such as the node manager. It is often the case that the collection and analysis parts of the system become non-functional because of a broken intermediate component (e.g. slice instantiation), but usually the data collector, fprobe, continues to run and log data. In such cases, a lightweight installation of PFC, as described in Section can be used to fetch and query the data.
Since recently, fprobe uses slice ids instead of xids. This makes querying the ultimate database more convenient, since xids need not be converted into slice names. This functionality however relies on the Node Manager, which instructs the kernel to create associations between xids and slice ids that can be looked up using a special system call. Nevertheless, even when this syscall fails, fprobe continues to work retaining the property of being independent of the Node Manager. In the latter case, it starts tagging flows with xid values instead of tagging them with slice id values.