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
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
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
Alex Mavrogiannis
4533dd7d18
changed libcontainer dependency to runc
2015-11-21 14:04:01 -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
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
9931854585
remove dead code
2015-10-02 13:42:40 +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
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
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
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
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
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
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
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
e3ab15417c
Ignore update errors for dead containers.
...
This adds an Exists() interface to detect when the container is dead.
Before reporting an update error we check is Exists() is true.
Some documentation was added as well.
2014-11-22 05:31:11 +08:00
Victor Marmol
0e603d2709
Let the raw driver handle the /docker container.
...
This will give us stats on this container and since the /docker UI
endpoint, it no longer serves the purpose it once did.
2014-11-20 06:44:35 +08:00