- To allow other external Stores, remove the `FamilyByteSlicer` interface
and give access directly to `metric.Family`.
- Move functions present in `pkg/metric/generator.go` to a dedicated package
`generator` in `pkg/metric_generator/generator.go`.
Signed-off-by: cedric lamoriniere <cedric.lamoriniere@datadoghq.com>
It can be helpful to know the PodCIDR of nodes in order to predict IP
space utilization. In GKE for example, one typically uses a Secondary
Alias IP range that doles out PodCIDRs dynamically. When this is
exhausted, nodes will fail to boot with messages such as:
```
Instance 'gke-test-ingre-43fd70d6-9v77' creation failed: IP space of 'projects/network-project/regions/us-central1/subnetworks/pod-alias-b85f82b0bca36afa' is exhausted.
```
Although not comprehensive, on could use this label to construct a query
such as:
```
count(kube_node_info(pod_cidr~="/24")) * 256
```
Since the removal of collector, this introduces both the concept of the
store and the resources instead of collectors that the user passes in.
The user facing logs and flags were not changed as that would be a
regression.