Calum Lacroix
967e09a3a5
Checks environment variables for empty strings
...
If an environment variable is an empty string, cadvisor panics and fails to start
2017-02-08 18:44:56 +00:00
Derek Carr
4ad5c58f6a
Ignore any .mount cgroup in docker handler
2017-01-16 11:02:37 -05:00
David Ashpole
9fdeefe3e4
Cadvisor now publishes per-container inode stats using the command 'find . -xdev printf '.'| wc -c' this is published in the v2 api using a new field
2016-10-12 13:16:21 -07:00
Tim St. Clair
afe67fec68
Cleanup comment style: // should be proceded by a space
2016-10-07 17:06:02 -07:00
derekwaynecarr
b84046f12c
Look at all cgroup mounts
2016-09-22 15:34:59 -04:00
Chun Chen
844c98e073
GetSpec missing memory reservation
2016-08-16 23:26:46 +08: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
Andy Goldstein
2b525ff87e
Ensure minimum kernel version for thin_ls
...
Ensure that kernel >= 4.4.0 or RHEL/Centos 7 kernel >= 3.10.0-366 exists before starting the thin
pool watcher. Prior versions have a bug in which reserving and releasing the metadata snapshot can
cause thin pool corruption.
2016-08-04 16:14:40 -04:00
derekwaynecarr
6c114be580
Expose total inodes
2016-08-02 10:47:51 -04:00
Tim St. Clair
bbe54c0a10
Merge pull request #1368 from derekwaynecarr/inodes_pointer
...
Allow clients to know if inodes data is available
2016-07-29 10:10:30 -07:00
derekwaynecarr
cccf9d5fec
Allow clients to know if inodes are supported on a filesystem
2016-07-26 11:15:07 -04:00
Andy Goldstein
d05098b314
Lower ThinPoolWatcher cache miss log level
2016-07-23 07:07:42 -04:00
Michael Taufen
307d1b1cb3
Modify working set memory stats calculation
...
Change working set calculation to usage - total_inactive_file, rather than
usage - total_inactive_anon - total_inactive_file. Since writes to tmpfs
get tracked as total_inactive_anon when swap is disabled, the old
calculation would under-report memory pressure.
See this Kubernetes issue for context:
https://github.com/kubernetes/kubernetes/issues/28619
2016-07-15 10:58:25 -07:00
Matt Wringe
213c254bb7
Add in the ability to expose the ip address of a container.
2016-07-13 13:58:43 -04:00
Tim St. Clair
35f7bc5ee7
Move mocks to testing package to remove +build tags
...
Some go tools (e.g. godef, gorename) don't handle +build tags well, so
I refactored some packages to remove the test tags from cAdvisor.
2016-07-06 14:15:43 -07:00
Seth Jennings
eafff745a5
only fail fs stat gather if metadata device not found
2016-06-21 16:05:37 -05:00
Paul Morie
c37d048e1b
Check for thin_ls binary in path when using ThinPoolWatcher
2016-06-14 13:19:05 -04:00
Tim St. Clair
3fbe18de9a
Merge pull request #1204 from pmorie/dm-support
...
devicemapper thin_ls support
2016-05-18 12:30:05 -07:00
Paul Morie
647224c95a
Add devicemapper support for docker containers
2016-05-18 15:19:20 -04:00
Shaya Potter
6fa3687720
Polling rkt implementation of new watcher inteface ( #1284 )
...
polling rkt implementation of new watcher inteface
2016-05-17 10:34:56 -07:00
Shaya Potter
e02632463b
Refactor container watching out of raw handler into its own inteface / package
2016-05-11 20:27:10 -07:00
Tim St. Clair
8404284c42
Merge pull request #1274 from timstclair/container
...
Delete unused ListThreads container method
2016-05-09 11:59:28 -07:00
Tim St. Clair
d1868287db
Clean up docker root dir
2016-05-06 19:31:36 -07:00
Tim St. Clair
4c506006f2
Don't validate docker state file, since it's no longer used
2016-05-06 19:29:24 -07:00
Tim St. Clair
019bfaecc7
Delete unused ListThreads container method
2016-05-06 13:45:29 -07:00
Tim St. Clair
05fb225624
Merge pull request #1269 from sjpotter/update-rkt
...
version checking for rkt + godep changes
2016-05-06 12:40:40 -07:00
Shaya Potter
44795d7ce0
add version checking for rkt api service + godep changes
2016-05-06 01:01:20 -07:00
Vish Kannan
bebe18b67a
Merge pull request #1261 from sjpotter/listToCommon
...
move ListContainers code to common and make rkt play nice
2016-05-03 10:12:54 -07:00
Shaya Potter
5ca11bb1a0
move ListContainers code to common and make rkt play nice
...
playing nice means not elliding the system.slice cgroup but allowing the
raw handler to handle it
2016-05-03 07:14:53 -07:00
Tim St. Clair
4d3ef349fb
Move utils/machine -> machine
2016-05-02 15:56:49 -07:00
Tim St. Clair
f365c6a115
Move docker types to v1 API
2016-05-02 15:52:29 -07:00
Tim St. Clair
0c89fd1b71
Refactor docker-specific functions from manager to docker
2016-05-02 12:24:31 -07:00
Lantao Liu
ece4c555cc
switch to the new engine-api
2016-04-25 19:22:05 -07:00
derekwaynecarr
d01934a3e4
on systemd, we should ignore .mount cgroups
2016-04-20 23:47:19 -04:00
Shaya Potter
5dc9fbad3c
Dont block on grpc if nothing is listeing on rkt api service port ( #1218 )
...
attempt to connect to rkt api service with net before grpc
2016-04-15 16:11:49 -07:00
Tim St. Clair
9790a0d3f4
Fix docker GetSpec to include image, labels, and env vars
2016-04-15 15:34:24 -07:00
Tim St. Clair
dc6415aef7
Check docker container existance the same way as raw & rkt
2016-04-15 11:35:31 -07:00
Tim St. Clair
4a8f3e4c93
Read docker container spec from cgroupfs, rather than libcontainer spec
2016-04-14 17:10:03 -07:00
Tim St. Clair
4861405904
Refactor common container GetSpec
...
- Pull out the root container cases, since they're only relevant in the
raw container handler
- Pass parameters rather than depending on AbstractContainerInterface
2016-04-14 16:57:52 -07:00
Tim St. Clair
7b1820b1d4
Look for container state in containerd path
2016-04-13 15:09:08 -07:00
Tim St. Clair
b768a9d1dc
If docker /info does not include ServerVersion, fallback to /version
2016-04-08 17:05:26 -07:00
Tim St. Clair
b553e02476
Fix cAdivsor docker validation
2016-04-08 17:05:26 -07:00
Tim St. Clair
d9c864324b
Fix usage of the latest go-dockerclient
2016-04-04 18:01:47 -07:00
Shaya Potter
ee52fdf4d1
address jon and vish comments
2016-03-23 18:19:31 -07:00
Shaya Potter
206670a655
first cut of rkt handler
2016-03-21 17:34:42 -07:00
Vishnu kannan
e2717d8bb7
Avoid collecting network stats for non root cgroups in raw handler.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-03-15 12:16:11 -07:00
Shaya Potter
5e04a224ae
pull out common parts of docker and raw container handlers for use by rkt handler
2016-03-02 16:12:04 -08:00
Vishnu Kannan
da888b11b2
Set spec.hasFilesystem to true by default for docker containers.
2016-03-01 09:58:28 -08:00
Seth Jennings
decac1ac15
nil pointer check
2016-02-29 11:37:25 -06:00
Vish Kannan
06ac85ca29
Merge pull request #1121 from vishh/opt-out-metrics
...
Support opt out for metrics.
2016-02-25 16:25:02 -08:00
Vishnu kannan
2defa0bddb
Adding support for inodes.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-25 15:13:58 -08:00
Vishnu kannan
36415f465a
Support opt out for metrics.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-24 15:57:31 -08:00
Vishnu kannan
18a2abc8e5
Ignore empty strings paths while calculting disk usage.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-24 11:04:10 -08:00
Vishnu kannan
07136d4e90
Do not fail stats collection if cpu_cfs_quota is not enabled.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-23 17:20:02 -08:00
Vishnu kannan
262ceb075c
Fix docker storage path while calculating disk usage from within the container.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-18 16:44:33 -08:00
Vishnu kannan
e009e64663
Adding an exponential backoff for fs usage tracking using du
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-16 16:27:16 -08:00
Vishnu kannan
110540b4fe
Timeout du
after a minute.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-16 12:43:50 -08:00
Tim St. Clair
0bc286dc93
Stop leaking testing dependencies (and flags) in non-testing builds
2016-02-11 13:18:02 -08:00
Jimmi Dyson
31dcb5f3b7
Remove systemd docker container name check
2016-02-06 20:38:32 +00:00
Vishnu kannan
6a6abc19f4
remove unused var rwLayerIDDirTemplate
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-05 17:15:00 -08:00
Vishnu kannan
6f0c6d3667
add todo to cleanup variable names in docker handler
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-05 16:32:08 -08:00
Vishnu kannan
dabec0a6b2
Fix fs stats handling for non-aufs storage drivers.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-05 16:32:07 -08:00
Jimmi Dyson
a8946729de
Merge pull request #969 from f0/master
...
add support for cgroup CPUQuota and CPUPeriod prometheus limit
2016-02-04 16:51:38 +00:00
Vishnu kannan
3f75344053
Fallback to flag defined value for storage dir in case docker info
...
doesn't provide the storage dir.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-03 18:00:59 -08:00
Vishnu kannan
f5829b4744
Rework the v2.1 API to expose container Info.
...
Added a test for filesystem stats. Devicemapper backend is ignored
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-03 17:02:49 -08:00
Florian Koch
669bc4abfa
add cgroup quota and period support / add missing tests
2016-02-02 20:33:11 +01:00
Vishnu kannan
59c03672d0
Handle fs metrics for docker version >= 1.10.0
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-02 10:20:20 -08:00
Vishnu kannan
5ab2f45fc6
Use storage dir from docker info for filesystem usage tracking.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-01 18:20:00 -08:00
Tim St. Clair
f5bceae3a2
Merge pull request #1033 from asteris-llc/master
...
Add the support for kafka in cAdvisor's storage, including output of container id and labels
2016-01-29 17:17:06 -05:00
Allison Richardet
80ba7e7db7
Add the support for kafka in cAdvisor's storage, including output of container id and labels
...
Addressing PR Feedback
Addressing PR Feedback
2016-01-27 21:33:57 -06:00
Jimmi Dyson
4c345b1989
Merge pull request #1063 from dqminh/fix-envs-handler
...
Initialize env mapping for labels when creating docker container
2016-01-27 10:46:24 +00:00
Vish Kannan
bef8522964
Merge pull request #1046 from jimmidyson/libcontainer-bump
...
bump(github.com/opencontainers/runc/libcontainer)
2016-01-26 14:35:46 -08:00
Jimmi Dyson
336821d28e
Fix up networking stats for new docker network functionality
2016-01-26 11:32:39 +00:00
Jimmi Dyson
33386f899b
bump(github.com/opencontainers/runc/libcontainer)
...
Fixes issues with breaking changes to ``GetPids` which is affecting
downstream consumers of cadvisor (e.g. Kubernetes).
2016-01-26 09:46:59 +00:00
Daniel Dao
127b09f5ae
initialize env mapping
...
Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
2016-01-18 15:58:45 +00:00
Vishnu Kannan
944201c86b
Refactor api conversion methods.
2016-01-15 15:40:15 -08:00
Vishnu kannan
6dfdd8eca1
1. Update filesystem stats APIs.
...
2. Add BaseUsage to containers which includes only the rootfs usage, if available.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-01-15 15:39:17 -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
Jimmi Dyson
4e9d29a408
Fix FS usage goroutine leaks
2016-01-14 19:30:48 +00:00
Vish Kannan
01434a1c54
Merge pull request #1020 from miguel250/zfs-support
...
Add support ZFS filesystem
2016-01-13 11:52:37 -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
Florian Pfitzer
009761cb53
Export image name and env variables as prometheus labels
2016-01-05 10:49:20 +00:00
Miguel Perez
e0fef76668
Add support ZFS filesystem
...
- fix container usage stat not loading on first load
2015-12-15 15:41:19 -05:00
Vishnu kannan
a6daa760c8
Fix goroutine leak in docker fs handler logic.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2015-12-04 11:19:49 -08:00
Jonathan Boulle
4965f069b7
Fix case statements dealing with storageDriver
...
cf0adcc817
introduced two switch
statements to facilitate the addition of the `overlayStorageDriver`;
unfortunately neither of them conform to the Go switch semantic, which
does not fallthrough unless explicitly requested. In one case this was
innocuous (because a `break` was effectively the same as a no-op) but in
the other it would cause the `HasFilesystem` bool to not be set
appropriately in the case of `aufsStorageDriver` being used.
IMHO it's also more idiomatic to perform the default behaviour in the
default case rather than pre-setting and overriding it.
2015-12-02 16:04:01 -08:00
Vishnu Kannan
cf0adcc817
Add support for Overlayfs.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2015-12-02 15:43:34 -08:00
Lei Xue
15b34b0131
add test case for compatibility.go
2015-12-02 11:01:50 +08:00
Lei Xue
7343ae4583
fix unmarshal container config failure with Docker 1.8.3
2015-12-02 11:01:12 +08:00
Lei Xue
dbbe38dfed
re-order the import package
2015-11-30 16:43:22 +08:00
Jimmi Dyson
1f679cee70
Clean up unused struct fields (via structcheck linter)
2015-11-27 22:06:16 +00:00
Jimmi Dyson
82810f13cd
Remove unused code (via deadcode linter)
2015-11-27 21:48:33 +00:00
Jimmi Dyson
360c73c6fd
Improve perf of interface stats parsing
2015-11-27 14:12:41 +00:00
Jimmi Dyson
f9eb56e800
Merge pull request #966 from afein/godep_update_runc
...
[Godeps] changed docker/libcontainer dependency to runc/libcontainer
2015-11-26 15:19:28 +00:00
Jimmi Dyson
cec96eb68b
Merge pull request #978 from jimmidyson/regexp-perf
...
Regexp tidy up
2015-11-26 09:45:27 +00:00
Jimmi Dyson
d1fce20304
Regexp tidy up
2015-11-26 09:14:26 +00:00
Jimmi Dyson
17622ecba1
Rename readInt64 -> readUInt64 for clarity
2015-11-25 16:42:33 +00:00
Alex Mavrogiannis
4533dd7d18
changed libcontainer dependency to runc
2015-11-21 14:04:01 -08:00
Vishnu kannan
401cbbc48f
Add a --nosystemd
flag to avoid assuming systemd to be the cgroups
...
owner for docker containers.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2015-11-16 10:37:54 -08:00