Commit Graph

2366 Commits

Author SHA1 Message Date
Joseph Lorenzini
4bd335b8fd Control whether container labels are exported as prometheus metrics.
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.
2018-07-04 10:53:08 -05:00
David Ashpole
b1535b8a39
Merge pull request #1926 from andyxning/add_docker-only_whitelist
add docker_only_prefix_whitelist
2018-06-21 11:27:17 -07:00
David Ashpole
179330dca5
Merge pull request #1971 from MaximilianMeister/fix-kubernetes-issue-65204
fix brtfs issue where dir is sub-directory of a sub-volume
2018-06-20 09:40:21 -07:00
Maximilian Meister
87ddb0e041
fix kubernetes issue #65204
https://github.com/kubernetes/kubernetes/issues/65204

Signed-off-by: Maximilian Meister <mmeister@suse.de>
2018-06-19 08:28:30 +02:00
David Ashpole
fc0bd7a170
Merge pull request #1969 from mindprince/fix-race
Initialize NVML on demand.
2018-06-18 10:55:01 -07:00
Rohit Agarwal
2ce41611a0 Initialize NVML on demand.
Earlier if the NVIDIA driver was not installed when cAdvisor was started
we would start a goroutine to try to initialize NVML every minute.

This resulted in a race. We can have a situation where:
- goroutine tries to initialize NVML but fails. So, it sleeps for a minute.
- the driver is installed.
- a container that uses NVIDIA devices is started.
This container would not get GPU stats because a minute has not passed
since the last failed initialization attempt and so NVML is not
initialized.
2018-06-18 10:45:40 -07:00
David Ashpole
f834c0f4c1
Merge pull request #1967 from jessfraz/vendor
vendor: update docker import
2018-06-14 15:06:04 -07:00
Jess Frazelle
d7df66e4eb
vendor: update docker import
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-06-14 17:54:41 -04:00
David Ashpole
198bf16d0f
Merge pull request #1964 from dashpole/dont_watch_mount
Dont watch "*.mount" cgroups
2018-06-14 10:38:10 -07:00
David Ashpole
bc7e1cbb4f dont watch .mount cgroups 2018-06-14 10:17:50 -07:00
David Ashpole
9373cb25c0
Merge pull request #1963 from runcom/fix-race-cntr-handlers
container: fix concurrent map acccess
2018-06-13 10:39:11 -07:00
Antonio Murdaca
42eeba5783
container: fix concurrent map acccess
GetSpec() can be called concurrently in
manager/container.go.updateSpec()
results into a concurrent map access on the labels map because we're
directly updating the map inside GetSpec(). The labels map from the
container handler is not a copy of the map itself, just a reference,
that's why we're getting the concurrent map access.
Fix this by moving the label update with restartcount to the handler's
initialization method which is not called concurrently.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2018-06-13 19:06:47 +02:00
David Ashpole
e10baf0057
Merge pull request #1961 from dashpole/cherrypick_1959
Revert "Switch from Inotify to Fsnotify"
2018-06-11 11:16:12 -07:00
David Ashpole
fdcae5552b Revert "Switch from Inotify to Fsnotify"
This reverts commit c1a6d6090b.
2018-06-11 11:15:30 -07:00
David Ashpole
dbbfeacf28
Merge pull request #1960 from dashpole/changelog_v0.30.1
changelog for v0.30.1
2018-06-11 11:02:36 -07:00
David Ashpole
a244c6a17b
Merge pull request #1959 from dashpole/revert_fsnotify
Revert "Switch from Inotify to Fsnotify"
2018-06-11 11:02:14 -07:00
David Ashpole
bdb8e3edea changelog for v0.30.1 2018-06-11 10:58:59 -07:00
David Ashpole
8335af9d6b Revert "Switch from Inotify to Fsnotify"
This reverts commit c1a6d6090b.
2018-06-11 10:50:23 -07:00
David Ashpole
f6359ffcbd
Merge pull request #1952 from dashpole/changelog
v0.30.0 changelog
2018-06-05 11:06:47 -07:00
David Ashpole
7855a7f180 v0.30.0 changelog 2018-06-05 10:59:19 -07:00
David Ashpole
b343856a24
Merge pull request #1949 from ElfoLiNk/dockerfile
Update Dockerfile and dependencies
2018-05-29 14:13:34 -07:00
Matteo Gazzetta
c1f1e59cf9 Update Dockerfile and dependencies 2018-05-29 22:53:13 +02:00
David Ashpole
33a72c6b8b
Merge pull request #1940 from dims/run-find-command-with-nice-to-reduce-cpu-load
Run find command with nice to reduce cpu load
2018-05-08 14:30:38 -07:00
Davanum Srinivas
29203d62e9 Run find command with nice+ionice to reduce cpu / io
Reduce impact of running the "find" command when system is loaded. We
already use "nice" and "ionice" with the "du" command.
2018-05-08 16:32:39 -04:00
David Ashpole
96b62ed83b
Merge pull request #1939 from dims/run-du-with-ionice
Run du with ionice
2018-05-08 09:32:03 -07:00
Davanum Srinivas
47a5869161 Run du with ionice
Let us run du with idle io priority
2018-05-08 10:51:30 -04:00
David Ashpole
804cd3c133
Merge pull request #1934 from sjenning/fix-os-release-parsing
Fix os release parsing
2018-04-20 10:41:33 -07:00
Seth Jennings
a88f575eb0 use more robust docker os-release parser 2018-04-20 12:22:50 -05:00
Seth Jennings
8c28d09dbf deps: add docker operatingsystems package 2018-04-20 12:22:44 -05:00
David Ashpole
7ce8450e51
Merge pull request #1877 from bhuvanchandra/master
cadvisor: build: fix broken build with Makefile
2018-04-18 10:53:50 -07:00
David Ashpole
853f966095
Merge pull request #1927 from mavidser/patch-1
Update docs - go 1.7 needed for building
2018-04-18 10:42:17 -07:00
David Ashpole
26fc1eb689
Merge pull request #1930 from mariusbld/mariusbld/fix-kafka-logs
Enable kafka logs when using kafka storage driver
2018-04-18 08:44:18 -07:00
Marius Buleandra
970f2e54ed Enable kafka logs 2018-04-17 18:04:18 -04:00
Andy Xie
ed6521013f add raw container cgroup path prefix whitelist 2018-04-16 12:05:51 +08:00
Sid Verma
d037716b91
Update docs - go 1.7 needed for building
The project uses the built-in `context` package introduced in go 1.7 - update the docs to reflect that.
2018-04-14 10:10:44 +05:30
David Ashpole
8578a54b8b
Merge pull request #1916 from dashpole/fsnotify
Switch from Inotify to Fsnotify
2018-04-11 13:27:26 -07:00
David Ashpole
c1a6d6090b Switch from Inotify to Fsnotify 2018-04-09 11:09:40 -07:00
David Ashpole
0191d8bebc
Merge pull request #1917 from dashpole/fix_discovery
Upon discovering a subdirectory, add a creation event for it
2018-04-09 09:50:24 -07:00
David Ashpole
4edfcdda8e
Merge pull request #1919 from Random-Liu/fix-containerd-wait
Fix containerd connection wait.
2018-03-29 17:55:09 -07:00
David Ashpole
31c5df3bd9
Merge pull request #1918 from Random-Liu/update-containerd
Update containerd to v1.0.2.
2018-03-29 17:44:24 -07:00
Lantao Liu
021065e3b9 Fix containerd connection wait.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-03-30 00:35:20 +00:00
Lantao Liu
cdb1f2ac71 Update containerd to v1.0.2.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-03-29 23:50:34 +00:00
David Ashpole
4e32e6ea97 upon discovering a subdirectory, add a creation event for it 2018-03-27 17:46:25 -07:00
David Ashpole
834edaddc4
Merge pull request #1913 from andyxning/add_check_for_cpu_cfs_bandwidth
add check for cpu cfs bandwidth in validate endpoint
2018-03-23 09:22:18 -07:00
Andy Xie
5e1b44b196 add check for cpu cfs bandwidth in validate endpoint 2018-03-23 17:47:21 +08:00
David Ashpole
189f5b941e
Merge pull request #1908 from IvanVlasic/statsd-memory-rss
Add memory rss to statsd storage
2018-03-20 09:30:04 -07:00
Ivan Vlašić
030e82a9f9 Add memory rss to statsd storage 2018-03-20 15:03:22 +01:00
David Ashpole
436d75ce8d
fix #1902 bug with retryDockerStatus (#1903) 2018-03-14 16:58:57 -07:00
nielsole
08f0c2397c Adding /proc/<pid>/schedstat (#1872)
Add /proc/<pid>/schedstat metrics for scheduler metrics
2018-03-08 09:27:06 -08:00
David Ashpole
b817801307
Merge pull request #1894 from Random-Liu/avoid-containerd-race
Use backoff to tolerant race condition with containerd.
2018-02-23 14:23:09 -08:00