Commit Graph

321 Commits

Author SHA1 Message Date
Vish Kannan
26921c3643 Merge pull request #277 from vmarmol/flat
Flatten ContainerStats struct
2014-11-05 11:26:10 -08:00
Victor Marmol
e695c3820e Only overwrite the Name and Parent in the libcontainer Cgroup.
Fixes #287
2014-10-29 11:41:23 -07:00
Abin Shahab
e6406ef6d0 Additional blkio stats
This adds blkio.io_wait_time, blkio.io_service_time, blkio.io_merged, and blkio.time to the api
2014-10-21 22:41:33 +00:00
Abin Shahab
7133ab0f7d gofmt all files 2014-10-21 05:23:23 +00:00
Abin Shahab
48129c03d1 code review fixes 2014-10-21 05:19:24 +00:00
Victor Marmol
add5147769 Flatten ContainerStats struct 2014-10-20 11:17:20 -07:00
Abin Shahab
e8ea485a0d Gofmt all files 2014-10-19 23:39:04 +00:00
Abin Shahab
e9d6289964 Added /proc/diskstats
Read disk io information from /proc/diskstats.
This will allow the user who provides partition container hints to get partition-specific io (blkio provides io for the container, but at the disk device level).
2014-10-19 23:36:08 +00:00
Rohit Jnagal
b1796da270 Merge pull request #278 from vmarmol/docker-api
Add API version v1.2 with /docker endpoint.
2014-10-21 09:58:32 -07:00
Victor Marmol
8aa05b0c39 Add API version v1.2 with /docker endpoint.
The /docker endpoint lists all Docker containers under one unified
namespace.
2014-10-20 22:24:01 -07:00
Abin Shahab
6b267575ad Renamed mount and removed dead code 2014-10-17 16:26:33 +00:00
Abin Shahab
751de4a0c9 code review fixes 2014-10-16 02:55:39 +00:00
Abin Shahab
b8ed0bd0e3 Mounted partitions space usage metrics per container
This computes the space usage for mounted partitions. It takes in a list of mounted partitions from containerHints
and computes the device's disk usage(so each mount must be a separate partition). This is useful for users who
mount partitions on containers and store most of the container's persistent data on those partitions.
2014-10-15 19:01:38 +00:00
Abin Shahab
c4d663c6ab minor fixes and gofmt 2014-10-15 11:10:54 +00:00
Abin Shahab
f170df0a76 Spec consistency 2014-10-15 07:58:58 +00:00
Abin Shahab
9264114895 some more renames 2014-10-14 23:19:46 +00:00
Abin Shahab
4c740cbc54 matches with the full path of the container 2014-10-14 20:01:44 +00:00
Abin Shahab
99d2c31f4d Renamed container description types 2014-10-14 20:01:44 +00:00
Abin Shahab
07fbd1ddab Fixed formatting 2014-10-14 20:01:44 +00:00
Abin Shahab
a02b7f1620 Added network stats to raw handler
Raw handler now parses an optional json file with the network interface information, and emits network stats.
2014-10-14 20:01:44 +00:00
Abin Shahab
e038729d67 Updated import and comments 2014-10-14 20:01:44 +00:00
Abin Shahab
808fd821ac NetworkInterface now contains both VethHost and VethChild 2014-10-14 20:01:44 +00:00
Abin Shahab
d009264986 LXC Factory and Handler
This factory and handler can retrieve memory, cpu, diskio, and network information of lxc containers.
The handler can be passed additional container information(e.g. network interface) using a cdesc.json file
2014-10-14 20:01:44 +00:00
Vishnu Kannan
0699e7029d Avoid storage usagge calculations when aufs driver is not being used. 2014-10-07 11:48:10 +00:00
Vishnu Kannan
5e8fecea6a Adding filesystem usage calculation for docker containers. This patch also includes some internal refactoring.
'machine' api now exports a list of all existing 'ext*' filesystems along with the capacity.
2014-10-06 09:51:32 +00:00
Vishnu Kannan
c21ff1f166 Adding a disk usage progress bar. 2014-10-01 00:28:01 +00:00
Vishnu Kannan
b9e70f0240 Filesystem stats are now per container. As of now, fs stats are reported only for the
root cgroup.
To make cadvisor detect all the disks, the rootfs of host needs to mounted
inside cadvisor.
2014-09-30 23:48:34 +00:00
Vishnu Kannan
946b18f789 Adding filesystem usage information to MachineInfo. 2014-09-29 23:24:06 +00:00
Vish Kannan
1ed9d122c1 Merge pull request #220 from vmarmol/coreos
Fix name resolution in Systemd systems
2014-09-29 11:28:23 -07:00
Satnam Singh
7ddc75c41b Squashed commit of the following:
commit 6bf9fe89f6
Author: Satnam Singh <satnam@google.com>
Date:   Fri Sep 26 10:23:16 2014 -0700

    Change error to warning during handling check.

commit c580907183
Author: Satnam Singh <satnam@google.com>
Date:   Fri Sep 26 10:21:41 2014 -0700

    Decapatalise fmt.Errorf error messages.

commit 3ecc5745d6
Author: Satnam Singh <satnam@google.com>
Date:   Fri Sep 26 10:19:15 2014 -0700

    Fix misunderstanding about when CanHandle fails.

commit adce0c5433
Author: Satnam Singh <satnam@google.com>
Date:   Fri Sep 26 10:13:32 2014 -0700

    Change the interface of CanHandle to return error information.
2014-09-26 18:06:58 -07:00
Satnam Singh
1a9d2298dc And yet another if. 2014-09-24 11:07:48 -07:00
Satnam Singh
8551d376d8 Undo changes to if statements as requested by vmarmol. Fix typos in my changes. 2014-09-24 10:59:18 -07:00
Satnam Singh
bae82a583d A few minor Go style suggestions. 2014-09-24 10:53:52 -07:00
Victor Marmol
ebf231e4df Fix name resolution in Systemd systems 2014-09-23 20:01:35 -07:00
Rohit Jnagal
932d2a6959 Merge pull request #251 from vmarmol/shutdown
Supporting graceful signal shutdown.
2014-09-23 14:28:39 -07:00
Victor Marmol
6f35cf8e6c Supporting graceful signal shutdown.
Adding a signal handler and gracefully shutting down all threads.
2014-09-23 14:13:58 -07:00
Victor Marmol
e929ffd846 Merge pull request #247 from rjnagal/diskio
Add diskio stats to cAdvisor.
2014-09-22 17:40:31 -07:00
Rohit Jnagal
6aee4c03b0 Flatten diskio stats and use struct key.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-09-22 23:24:34 +00:00
Rohit Jnagal
9a76da9993 Add diskio stats to cAdvisor.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-09-22 22:48:59 +00:00
Vish Kannan
195772a1bc Merge pull request #245 from vmarmol/tests
Refactor and dependency inject containerData deps
2014-09-22 10:39:55 -07:00
Victor Marmol
e759059a09 Refactor and dependency inject containerData deps 2014-09-22 10:20:54 -07:00
Victor Marmol
e22831f1bd Flatten ContainerSpec. 2014-09-19 10:14:22 -07:00
Victor Marmol
100170beca Wording changes to SubcontainerEvent comments 2014-09-18 12:56:01 -07:00
Victor Marmol
c326475ede Remove unused filter ContainerHandlers. 2014-09-18 12:52:09 -07:00
Victor Marmol
b63d61ca97 Use inotify to watch for new containers.
This reduces cAdvisor CPU usage below 1% in my CoreOS system.

We also reduce global housekeeping to every 60s as a fallback in case we
miss an event.
2014-09-18 12:52:09 -07:00
Victor Marmol
f9c45094ab Only register the Docker driver in systems using libcontainer. 2014-09-05 13:37:18 -07:00
Victor Marmol
b75dea4021 Adding --docekr_root to customize where Docker stores state.
Fixes #199
2014-08-29 14:54:40 -07:00
Vishnu Kannan
3e390e0f33 Use glog instead of 'log' library.
Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
2014-08-07 18:38:58 +00:00
Victor Marmol
00f4f840ea Move from filepath -> path for Join. 2014-08-03 10:06:39 -07:00
Victor Marmol
56054e3e31 Remove SplitName().
This is possible thanks to the new libcontainer interface that allows
the use of absolute paths.
2014-08-02 11:36:10 -07:00
Victor Marmol
fe23ba6d60 Merge pull request #140 from monnand/test-libcontainer
unit test for SplitName()
2014-07-29 08:32:03 -07:00
Nan Monnand Deng
fb5074a2f1 unit test for SplitName() 2014-07-29 01:52:59 -04:00
Nan Monnand Deng
d6551d888b list processes 2014-07-29 01:20:19 -04:00
Nan Deng
afc84e85c3 use init's cgroup to get nest level 2014-07-28 18:13:54 -07:00
Victor Marmol
7a3f7b9a29 Return an empty state for old versions of Docker.
Fixes #127.
2014-07-25 08:20:55 -07:00
Victor Marmol
5812f10db0 Merge pull request #117 from rjnagal/cpumask
Handle cpumask in raw driver for unified hierarchy.
2014-07-24 11:36:01 -07:00
Rohit Jnagal
f5fde119f8 Grab a new spec.Cpu while updating masks if cpu root didn't exist.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-07-24 18:23:04 +00:00
Rohit Jnagal
b120cee75c Handle cpumask in raw driver for unified hierarchy.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-07-24 17:53:38 +00:00
Victor Marmol
4d1291cf93 Merge pull request #116 from rjnagal/cpumask
Fix handling of cpumask for docker driver
2014-07-24 08:46:59 -07:00
Rohit Jnagal
1fa48e8c39 Fix handling of cpumask for docker driver. Raw driver still reports all
cpus. Will fix it to read cpumask for cgroup seperately.

Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-07-24 01:50:32 +00:00
Victor Marmol
0126cec903 Don't fail ListContainers() on missing cgroup hierarchies. 2014-07-23 17:59:57 -07:00
Vish Kannan
6213f8b0c3 Merge pull request #107 from vmarmol/full-names
Added parent prefix to all Docker container and aliases.
2014-07-23 16:05:25 -07:00
Vishnu Kannan
41d9275b51 Fixed network stats handling. The UI now reports network errors. 2014-07-23 22:24:43 +00:00
Victor Marmol
239f4bad11 Added parent prefix to all Docker containers. 2014-07-23 13:23:27 -07:00
Victor Marmol
2e9176ae64 Fix Docker container slice in systemd systems.
It should be in /system.slice/docker-*.
2014-07-23 07:46:46 -07:00
monnand
99da79b0a9 Merge pull request #104 from vmarmol/fix
Remove lmctfy driver in favor of the raw driver
2014-07-22 21:18:01 -04:00
Victor Marmol
eef8c01e4e Better handle nested containers and libcontainer. 2014-07-22 18:04:08 -07:00
Victor Marmol
07b9ed3244 Remove lmctfy driver in favor of the raw driver 2014-07-22 14:09:42 -07:00
Victor Marmol
e951d03be6 Implement GeSpec() in the simple raw driver. 2014-07-22 13:51:24 -07:00
Vishnu Kannan
a748b53743 Docker ListContainers will work only for the '/docker' container. 2014-07-22 19:55:14 +00:00
Vishnu Kannan
f147996e9d Ignore non '/docker' containers in the docker driver. 2014-07-22 19:55:14 +00:00
Vishnu Kannan
5dfa7b64ba Removed NotActive error message from container package.
Imporved error messages.
2014-07-22 19:55:14 +00:00
Vishnu Kannan
ef13440034 Addressed comments. Another series of bug fixes.
Modified the docker driver and lmctfy driver to skip containers they cannot handle.
2014-07-22 19:55:14 +00:00
Vishnu Kannan
5aae36726f Fixed bugs introduced in previous patches. 2014-07-22 18:58:16 +00:00
Vishnu Kannan
7f96c90c72 Fix raw cgroups handler. 2014-07-22 18:58:16 +00:00
Vishnu Kannan
1edb798de5 Features:
Added Network Stats to Container Info. It still not exposed via the HTTP UI.
Bug fixes:
1. Modified docker handler to use libcontainer.GetStats instead of quering the fs package.
2. cAdvisor will not stall if any of its core operations fail.
3. cAdvisor will safely ignore any inactive or leaked docker containers. When containers are leaked cgroup state exists but docker is not aware of them.
2014-07-22 18:58:16 +00:00
Victor Marmol
a187d74e5b Enable the simple raw driver.
It doesn't yet get the spec, but it is functional enough to use.
This removed the registration of lmctfy, the code will be removed in a
future PR once raw GetSpec() is complete.
2014-07-21 19:02:07 -07:00
Victor Marmol
3854ea6970 Remove cpuset cgroup for listing on raw driver.
Also a couple of fixes/simplifications.
2014-07-21 18:00:55 -07:00
Victor Marmol
4c52e2ea1c Implement ListContainers and no-op GetSpec(). 2014-07-17 14:22:37 -07:00
Victor Marmol
a8863e6367 Initial version of the raw container driver. 2014-07-17 10:45:59 -07:00
Victor Marmol
1636c3e759 Change ContainerHandlerFactories to decide what containers they support.
This allows a ContainerHandlerFactory to register a CanHandle() function
which is called to determine whether the factory can handle a particular
container.

This commit disables being able to run cAdvisor without lmctfy. This
should be enabled again with a "no-op" global factory which I would like
to do in a separate PR.
2014-07-16 16:48:45 -07:00
Victor Marmol
c4c604c278 Handle systemd when it is present. 2014-07-14 10:00:21 -07:00
Nan Deng
018d514981 mock container 2014-07-03 21:03:04 -07:00
Nan Deng
0ade2f1c23 mock container handler 2014-07-03 23:39:08 +00:00
Nan Monnand Deng
304a166d7a working set = usage - inactive 2014-06-27 14:47:02 -04:00
Nan Monnand Deng
875146e396 calculate working set based on #. pages in active LRU. 2014-06-27 13:03:05 -04:00
Victor Marmol
dcedfe3c9d Rename libcontainer.Container -> libcontainer.Config 2014-06-24 14:54:30 -07:00
Nan Deng
3718b139b3 remove StatsPercentiles in container handler 2014-06-17 12:55:51 -07:00
Nan Deng
51eabfcfa7 unit test 2014-06-16 20:49:40 -07:00
Nan Deng
626e2aba09 unit test 2014-06-16 18:06:23 -07:00
Nan Deng
6e98c92693 changing info package to work with storage drivers. 2014-06-16 18:03:01 -07:00
Victor Marmol
fbf6e85fc7 Renaming StatsSummary to StatsPercentiles 2014-06-16 17:49:37 -07:00
Rohit Jnagal
54fbc922a5 Merge remote-tracking branch 'upstream/master'
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-06-16 17:22:48 +00:00
Rohit Jnagal
26a5cdabca Add version information for components we depend on.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-06-16 17:20:09 +00:00
Victor Marmol
9315d3f690 Adding Apache license to all files missing it 2014-06-15 20:39:22 -07:00
Victor Marmol
410c27a84f Track a container by all of its aliases 2014-06-13 18:24:59 -07:00
Nan Monnand Deng
6250bf3d0f Add ContainerReference() to ContainerHandler(). 2014-06-13 18:18:26 -04:00
Victor Marmol
b9738e6ee6 Switching from using Docker config to libcontainer config for ContainerSpec 2014-06-13 12:06:26 -07:00
Nan Deng
30baa98167 error when GetStats() return nil, nil 2014-06-12 17:37:49 -07:00
Nan Deng
312bcae2db gofmt -r "ContainerRef->ContainerReference" -w -l . 2014-06-12 17:32:46 -07:00
Nan Deng
163179a84e changed pages and manager. 2014-06-12 17:31:26 -07:00
Nan Deng
89b5484734 changed actual handlers 2014-06-12 17:31:26 -07:00
Nan Deng
5a8bceb43e passed unit test 2014-06-12 17:31:26 -07:00
monnand
bd4ecafad8 Merge pull request #32 from vmarmol/switch-libcontainer
Move to using the libcontainer repo directly.
2014-06-12 20:20:44 -04:00
Victor Marmol
e9ed0bfea5 Move to using the libcontainer repo directly.
Return empty stats for / and /docker in the docker driver
2014-06-12 17:11:01 -07:00
Pascal Borreli
8e8b992294 Fixed typos 2014-06-13 00:46:16 +01:00
Nan Deng
39f20bc6a2 remove dontSetTimestamp 2014-06-12 14:37:21 -07:00
Nan Deng
9eeb1c9fc2 static values in unit test 2014-06-12 14:34:36 -07:00
Nan Deng
33b2167434 remove random 2014-06-12 14:33:10 -07:00
Nan Deng
caafb0d7e3 rename 2014-06-12 14:30:44 -07:00
Nan Deng
4728ee80fa incomplete stats is an error 2014-06-12 14:24:04 -07:00
Nan Deng
694f538c7b zero timestamp is an error 2014-06-12 14:21:04 -07:00
Nan Deng
e91283c262 use memory/cpu trace instead of random numbers 2014-06-12 13:43:31 -07:00
Nan Deng
c037cc70ca set timestamp by default. This behavior cannot be changed by users 2014-06-12 13:33:23 -07:00
Nan Deng
c9c8e0fb4e Ignore the error because its' same as nil sample 2014-06-12 11:52:26 -07:00
Nan Deng
71835f9bc4 gofmt -r "ContainerStatsSummary->ContainerStatsPercentiles" 2014-06-12 11:38:37 -07:00
Nan Deng
f07a91c0cc remove avg memory usage 2014-06-12 11:36:17 -07:00
Nan Deng
478ff3d45e unit test for sampling 2014-06-11 13:22:08 -07:00
Nan Deng
205a379887 usge container stats sample 2014-06-11 11:42:44 -07:00
Nan Deng
0625caffa3 create sample from a constructor 2014-06-11 11:26:55 -07:00
Victor Marmol
712f9fb32f Migrating cAdvisor code from lmctfy 2014-06-09 12:12:07 -07:00