* Introduce new machine metrics:
- machine_cpu_cache_capacity_bytes
- machine_node_hugepages_count
- machine_node_memory_capacity_bytes
- machine_nvm_avg_power_budget_watts
- machine_thread_siblings_count
Introduce timestamp for machine related information
Signed-off-by: Katarzyna Kujawa <katarzyna.kujawa@intel.com>
+ github.com/prometheus/client_golang v0.9.1 -> v1.0.0
+ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 -> v0.2.0
+ github.com/prometheus/common v0.0.0-20170220103846-49fee292b27b -> v0.4.1
Sync with the version used in k8s.
Other changes in go.mod is caused by `go mod tidy`
Add white_listed_container_labels flag to white list container labels for prometheus metrics
Signed-off-by: Mikkel Oscar Lyderik Larsen <mikkel.larsen@zalando.de>
when cadvisor exports metrics for docker containers, there is a root cgroup (/) and cgroup for a docker container (/docker/uuid).
If docker container has a label on it, then this label is applied to all containers including the root container.
Because some containers don't have that label, the label will have an empty value. The reason for this is that Prometheus
does not allow sending a metric with the same name, but different labels, so cadvisor uses empty label values based on
the set of all labels for a given metric. This can result in many docker containers getting a large number of empty labels
because another container has that label.
If large number of docker labels vary a lot across images, then the set of labels will be enormous, where most of the labels
will be empty and have no value as prometheus metrics. To avoid this problem, a flag is provided that allows a user to
disable exporting docker labels as metrics.
Per-CPU stats are more expensive to transport and store, and that
level of detail is not required in many cases.
We export overall total cpu in the same metric as per-cpu, so that
dashboards which previously summed over cpu will work identically.
The structure is generic to support most hardware accelerators like
GPUs, TPUs etc.
Note that the prometheus label for id is called acc_id, so that it
doesn't conflict with some other label that maybe called id.