Commit Graph

41 Commits

Author SHA1 Message Date
Brian Brazil
27f103b266 Ensure all Prometheus metrics have the same labelnames.
Fixes #1704
2017-11-30 16:33:37 +00:00
Rohit Agarwal
126fb2232e Add accelerator metrics to the API.
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.
2017-11-01 14:41:35 -07:00
Derek Carr
9ea61176bf Expose memory.max_usage_in_bytes in container stats 2017-10-10 17:31:31 -04:00
David Ashpole
1dcd0cee2b update description of memory usage 2017-09-28 10:48:07 -07:00
Jens Bissinger
2599ea6764 Add memory reservation in prom /metrics endpoint. 2017-09-12 19:20:49 +02:00
wujiaxing
8aed6e9cae Add cpu load,tcp\udp usage statistics in prom /metrics endpoint. 2017-06-14 00:54:17 +09:00
Clayton Coleman
4e25a7951f
Report container FS metrics into prometheus /metrics
PerDiskStats reported from cgroups were not being surfaced into
prometheus. In order to properly correlate the metrics, we need to
assign a device label to each metric (which is the FS or device path).
Since blkio cgroup tracks devices, we create a synthetic device
`/dev/NAME` for the metric.

Assign a Device label to each PerDiskStat for the handlers up front, and
then surface the PerDiskStat values into the prometheus metrics. Report
two new metrics - total bytes read and total bytes written.
2017-04-24 20:46:55 -04:00
Bas van der Lei
a3e8c73865 gnore unused cpus in Prometheus metrics
Only include cpu's in the Prometheus metrics endpoint that were used.

In recent kernels the cpuacct.statcpus behavior has changed to include
all possible cpu's. This can results in a high number of stale metrics
in the Prometheus endpoint.
2017-04-10 14:10:48 +02:00
Micah Hausler
a9bb292b52 Add inodes to /metrics endpoint 2016-08-27 18:39:53 -04:00
Tobias Schmidt
e76096d4f6 Provide option to control Prometheus labels
This change generalizes the existing ContainerNameToLabelsFunc to allow the user to fully control all labels attached to exported Prometheus metrics. The existing behavior is available as DefaultContainerLabelsFunc and is used if no custom function is provided.

This will allow Kubernetes to filter out its internal Docker labels.
2016-08-22 17:26:36 -04:00
Florian Koch
3ce98a46c4 add cgropu swap usage and export as prometheus metric 2016-08-09 07:33:37 +02:00
Tobias Schmidt
1653733ea7 Expose cpu cgroup CFS prometheus metrics
If CPU quota is configured (cpu.cfs_quota != -1) the CFS will provide
stats about elapsed periods and throtting in cpu.stats. This change
makes these information available as container_cpu_cfs_* metrics.
2016-08-06 18:08:26 -04:00
Jimmi Dyson
f1d8b2da70
Prefix Docker labels & env vars in Prometheus metrics to prevent conflicts 2016-08-01 21:33:31 +01:00
Alexander Staubo
f8f474e791 This fixes a bug where any errors encountered during Prometheus metric
collection would stay counted in the gauge "container_scrape_errors",
making that particular metric useless. Instead, it must be reset on
every scrape.
2016-07-21 20:04:21 -04:00
Florian Koch
669bc4abfa add cgroup quota and period support / add missing tests 2016-02-02 20:33:11 +01:00
Shimin Guo
97e71c9ac0 fixing style 2016-01-15 10:22:52 -08:00
Shimin Guo
d656ffb0db Add unit tests. 2016-01-15 08:53:30 -08:00
Shimin Guo
a26b58ec8e expose page cache size 2016-01-15 08:45:51 -08:00
Shimin Guo
1a867bdadd expose RSS 2016-01-15 08:45:51 -08:00
Daniel Dao
e5b6bfa94f add whitelisted env as container metadata
This add Envs to container spec as a metadata source. When using prometheus
exposition format, they will be merged into the list of metrics' labels.

Also changed the cli flag to docker_env_metadata_whitelist, and add refenrences
of whitelist envs to API

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2016-01-13 11:22:13 +00:00
Daniel Dao
544b852a3b satitize label name before setting them as prometheus label
Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2016-01-05 10:49:20 +00:00
Daniel Dao
9131bcb315 fix prometheus regex matching
the previous regex wasnt able to match anything. This regex should hopefully do
better.

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2016-01-05 10:49:20 +00:00
Florian Pfitzer
009761cb53 Export image name and env variables as prometheus labels 2016-01-05 10:49:20 +00:00
Lei Xue
dbbe38dfed re-order the import package 2015-11-30 16:43:22 +08:00
Jimmi Dyson
d1fce20304 Regexp tidy up 2015-11-26 09:14:26 +00:00
Vish Kannan
a38832f31f Merge pull request #906 from jimmidyson/prometheus-container-name-to-labels
Registration of custom function to map container name to prometheus labels
2015-10-08 11:46:58 -07:00
Vish Kannan
64702e7202 Merge pull request #902 from jimmidyson/git-version
Expose git revision as well as version in version info, add Makefile
2015-10-08 11:42:12 -07:00
Jimmi Dyson
5db9f8674e Registration of custom function to map container name to prometheus labels 2015-10-07 11:30:58 +01:00
Tomas Kral
bd61caf0c3 add failcnt 2015-10-02 14:24:22 +02:00
Jimmi Dyson
cf43fd2556 Expose git revision as well as version in version info, add Makefile 2015-10-02 10:26:33 +01:00
Jimmi Dyson
760a25b94f Add machine memory & cpu cores to prometheus metrics 2015-09-10 11:59:16 +01:00
Jimmi Dyson
b8fc8cd2ae Add container specs & cadvisor version info to prometheus metrics 2015-09-09 14:28:54 +01:00
Jimmi Dyson
80648f783e Expose all interfaces in Prometheus metrics.
Fixes #871
2015-08-29 21:19:56 +01:00
Jimmi Dyson
ff0796712b Add image name to container spec & prometheus metrics
Fixes #848
2015-08-28 12:38:16 +01:00
Miciah Masters
003125975c glog.Warning -> glog.Warningf
Fix two places where glog.Warning is used with a formatted string.
2015-08-19 15:47:36 -04:00
Victor Marmol
b923eff11c Expose multiple network interfaces in API.
Part of #686
2015-06-07 17:01:53 -07:00
Julius Volz
fa17966229 Clean up code around Prometheus metrics, more DRY.
With this change, all definitions and functionality for a given metric
are in a single place only instead of being distributed all over the
file. This makes it easier to inspect the code for correctness and
adding/changing metrics.
2015-03-13 17:00:07 +01:00
Julius Volz
bac3a5d839 Add Prometheus tests and fix metric type bug. 2015-03-13 01:25:20 +01:00
Julius Volz
661b174c1d Fix Uinterruptible -> Uinterruptible typo. 2015-03-12 22:09:49 +01:00
Julius Volz
4f01599386 Fix Prometheus metrics and docstrings. 2015-03-12 22:09:45 +01:00
Johannes 'fish' Ziemke
822d60ba8a Provide cadvisor stats as prometheus metrics 2015-03-11 20:51:06 +01:00