Commit Graph

101 Commits

Author SHA1 Message Date
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
Vishnu Kannan
419dd8a778 Include log usage for aufs driver.
Signed-off-by: Vishnu Kannan <vishnuk@google.com>
2015-11-10 14:16:20 -08:00
mqliang
ce001dcd4e Fix imported package names to not use mixedCaps or under_scores 2015-10-22 12:10:57 +08:00
Jimmi Dyson
b8b6e1bac1 Support devicemapper storage for docker images dir
Fixes #920
2015-10-21 09:56:33 +01:00
Jimmi Dyson
357e6a0f23 Reuse cached docker client
Fixes #925
2015-10-20 20:15:54 +01:00
Jimmi Dyson
b4a6819291 Switch to select on time.After & close channel for track usage 2015-10-14 09:58:42 +01:00
Vishnu kannan
dd8345ab32 Perform separate housekeeping for docker container filesystem stats. 2015-10-08 15:58:57 -07:00
Vishnu kannan
6e51487236 Compute fs usage for docker containers less often.
`du` can cause a lot of cpu usage.
2015-10-08 15:01:57 -07:00
Bas van der Lei
f8eb8cc982 validate name with isContainerName func 2015-10-02 13:49:27 +02:00
Bas van der Lei
9931854585 remove dead code 2015-10-02 13:42:40 +02:00
Bas van der Lei
13674cf06c optimize dockerCgroupRegexp 2015-09-27 00:20:52 +02:00
Bas van der Lei
7788c8bd27 Ignore systemd 'containers' in the docker driver 2015-09-23 23:55:35 +02:00
Jimmi Dyson
b8fc8cd2ae Add container specs & cadvisor version info to prometheus metrics 2015-09-09 14:28:54 +01:00
Jimmi Dyson
7e10398a50 Use proc fs to get network stats.
Reasons discussed in
https://github.com/google/cadvisor/issues/822#issuecomment-135811901 &
following.
2015-08-29 00:20:07 +01:00
Jimmi Dyson
ff0796712b Add image name to container spec & prometheus metrics
Fixes #848
2015-08-28 12:38:16 +01:00
Jimmi Dyson
d5fa97c998 Get network stats by switching network namespace on newer Docker
versions.

Fixes #822
2015-08-25 23:27:01 +01:00
Rohit Jnagal
7a2f508b50 Fix network info for docker containers running with --net=host.
Docker still reports a loop device for these. Need to check for
more than one device to mark network as available.
2015-08-24 02:58:03 +00:00
Rohit Jnagal
a123fd72d8 Add logic to read custom metric config files from container root.
Docker does not provide the rootfs path through docker inspect or statefile
and the path is dependent on the storage driver being used.

Instead of enumerating the storage drivers, we pick a pid from the container
and get the config from /proc/pid/root. Although a bit expensive, this method
works for non-docker containers too.
2015-07-22 15:45:07 +00:00
Victor Marmol
fc62b8c384 Copy stats before we convert them.
Fix # 782
2015-06-25 11:30:36 -07:00
Ananya Kumar
aaad776d5d 1 line fix for net host bug 2015-06-10 11:00:49 -07:00
Victor Marmol
b923eff11c Expose multiple network interfaces in API.
Part of #686
2015-06-07 17:01:53 -07:00
Victor Marmol
53bcd977b5 Detect systemd with cgroup hierarchy.
The previous approach was brittle from within a container and was inconsistend.

Fixes #666
2015-06-02 13:11:46 -07:00
Victor Marmol
0525d40a4a Add DebugInfo() API and put the information on /validate 2015-05-21 14:46:35 -07:00
Rohit Jnagal
379e5aac57 Add manager methods to get docker status and images.
This is only meant to populate /docker UI page.
2015-05-13 22:07:09 +00:00
Rohit Jnagal
5e10989a78 Add an api to support ps/top. 2015-05-12 00:06:47 +00:00
Victor Marmol
1e09f9012d Adding container labels 2015-04-30 23:09:03 -07:00
Rohit Jnagal
d0424eca0f Add --docker_only flag to enable tracking for only docker containers and root.
This reduces unnecessary load on the system and also cleans up the UI clutter.
Currently defaulted to false.
2015-04-30 23:34:44 +00:00
Rohit Jnagal
dfcc05a953 Fix networking stats by switching Tx and Rx stats.
A better fix is to directly use stats collected by libcontainer.
2015-04-13 17:01:06 +00:00
Victor Marmol
64c0d3d8c3 Migrating cAdvisor to new libcontainer.
Backwards compatability is maintained with older versions of
libcontainer.
2015-04-10 14:51:29 -07:00
Clayton Coleman
9ce178f707 Lazily init DBus only when it is needed
OpenShift has some cAdvisor packages in its import chain. The init() here
invokes Dbus start even when cAdvisor is not actively running or being
used (in our packages).  This change makes the systemd check and dbus
initialization and connection lazy, occuring only the first time someone
invokes UseSystemd().
2015-03-19 16:35:48 -04:00
Rohit Jnagal
a0a419614f Add /storage endpoint to 2.0 API.
/storage returns {device, mountpoint, capacity, usage} for all filesystems.
In addition, it also detect and applies label for each filesystem - currently two - "root", "docker-images".

/storage/<label> returns info about the filesystem with specific label. eg. /storage/root returns info for root filesystem.
2015-03-11 01:49:58 +00:00
Rohit Jnagal
872546ba3a Bulk move current info api to info/v1. Making room for info/v2. 2015-03-04 00:47:28 +00:00
Rohit Jnagal
e09f9684e6 Fix cpuset returned in spec on a single core machine.
Switch from "0-0" to "0".
2015-02-19 18:54:23 +00:00
Victor Marmol
131a0c21ea Detect Docker containers by asking the Docker.
No longer do deduction from the cgroup path (only to get the Docker
container ID).

Fixes #450.
2015-02-06 09:15:59 -08:00
Victor Marmol
45ba276ae8 Add container creation time to ContainerSpec. 2015-02-05 09:52:10 -08:00
Victor Marmol
86238d0179 Allow partial success of GetStats().
This should make us more robust in the face of failure (at the cost of
making the failures less prominent). We allow GetStats() to return an
error and a partial result. We will process the result and report the
error.

Fixes #306.
2015-02-03 15:26:31 -08:00
Victor Marmol
01b456c129 Fix detection of AUFS layers.
We were using the container name instead of the Docker ID which breaks
in systemd systems.

Fixes #475.
2015-02-03 10:06:19 -08:00
Vishnu Kannan
aedf42ba8c Adding 'HasDiskIo' to Container Spec to indicate if diskio stats are available for a given container. 2015-01-20 05:06:57 +00:00
Victor Marmol
909fa133e1 Merge pull request #445 from rjnagal/docker
Add task load stats to containers.
2015-01-16 16:00:50 -08:00
Rohit Jnagal
cbdd96a554 Add task load stats to containers.
The stats are only populated when cAdvisor is running outside network namespaces.
We'll add a different backend to retrieve the same data from within namespaces.
2015-01-16 23:25:22 +00:00
Rohit Jnagal
ed155019ac Verify and fix error message nit :) 2015-01-14 01:15:13 +00:00
Victor Marmol
adfccb7c1c Updating to latest libcontainer. 2015-01-08 12:15:03 -08:00
Victor Marmol
643d647761 Gofmt all files. 2015-01-05 11:26:23 -08:00
Rohit Jnagal
cdd355421f Add check for state directory to validator. 2014-12-28 18:04:32 +00:00
Rohit Jnagal
275b3ed653 Don't use state.json from libcontainer to get cgroup paths.
This confuses cadvisor on systems where cadvisor doesn't see cgroup mounts at the same place as root namespace view.
2014-12-24 00:25:11 +00:00
Victor Marmol
7ca63db2c5 Handle old versions of the libcontainer config.
Libcontainer recently changed its config by changing the type of a
field. This commit tries parsing the config as the new and old types.
2014-12-16 17:52:44 -08:00
Rohit Jnagal
8eec529106 Merge pull request #358 from vmarmol/update-libcontainer
Update libcontainer dependency
2014-12-15 17:01:44 -08:00
Victor Marmol
91c974e913 Generate CgroupPaths when not available.
This happens always for non-Docker containers and sometimes with older Docker
containers.
2014-12-15 16:57:30 -08:00
Victor Marmol
084e809507 Merge pull request #356 from rjnagal/rename
Add systemd information to validate output.
2014-12-16 07:35:30 +08:00
Rohit Jnagal
4ec9894ea2 Add systemd information to validate output. 2014-12-15 23:26:30 +00:00