Commit Graph

200 Commits

Author SHA1 Message Date
Victor Marmol
814c65059a Document and specify defaults for ContainerRequestInfo. 2015-03-25 13:15:10 -07:00
Federico Simoncelli
9d41787b62 machine: collect node boot id if available
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-23 10:45:03 -04:00
Rohit Jnagal
6db3717426 Add recursive and type options (raw/docker) to spec and summary endpoints.
spec, stats, and summary now all support the same options (except count,
which is only parsed for stats).
2015-03-18 18:44:59 +00:00
Rohit Jnagal
9df3ea740e Add /machine endpoint for 2.0
Only difference from v1 /machine is that both h/w and s/w state is included.
2015-03-13 23:26:10 +00:00
Vish Kannan
588b1498ac Merge pull request #587 from rjnagal/docker
Add alias and namespace information to /spec endpoint
2015-03-13 14:22:56 -07:00
Rohit Jnagal
53d25cc90e Add alias and namespace information to /spec endpoint 2015-03-13 21:13:23 +00:00
Victor Marmol
b28b26ca30 Merge pull request #584 from juliusv/prometheus-tests
Add Prometheus tests and fix metric type bug.
2015-03-13 08:43:21 -07:00
Julius Volz
bac3a5d839 Add Prometheus tests and fix metric type bug. 2015-03-13 01:25:20 +01:00
Victor Marmol
05b16c6063 Merge pull request #578 from rjnagal/docker
WIP: Add stats API for 2.0.
2015-03-12 15:08:16 -07:00
Rohit Jnagal
2e2a31bea2 WIP: Add stats API for 2.0.
First cut on 2.0 stats API. Main change in returned stats is that presence checks (eg. HasCPU) are embedded in each stat.
Added support to handle querying container with name.

Current syntax:
/stats?name=/&count=1,
/stats?name=docker/928c058ce260ac2a55972b18cb991fa0475fbbb7bc15bd295e62b76964d05fe6 [default count: 64]

Other handlers to include: dockerid, dockeralias. We can make subcontainers inclusion as an option too.
2015-03-12 21:42:40 +00:00
Julius Volz
661b174c1d Fix Uinterruptible -> Uinterruptible typo. 2015-03-12 22:09:49 +01: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
Victor Marmol
f0521ffd29 Adding Equal() for ContainerInfoReq 2015-03-05 10:43:23 -08:00
Rohit Jnagal
d3db8503f4 Move derived stats to v2. Add v2 container spec. 2015-03-04 18:27:57 +00:00
Federico Simoncelli
02a3e46996 Add system uuid and machine id information
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-03-01 15:06:19 -05: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
Victor Marmol
ef7dddf438 cAdvisor 0.10.1 2015-02-27 09:47:20 -08:00
Victor Marmol
c5b301f420 cAdvisor 0.10.0. 2015-02-24 18:42:08 -08:00
Victor Marmol
e9eb9ea128 Merge pull request #524 from rjnagal/summary
Add instant stat to derived result.
2015-02-23 23:37:40 -08:00
Rohit Jnagal
ed38123221 Add instant stat to derived result.
Before this change, we do not return anything meaningful till cadvisor has been up
for a minute. Also, having instant usage in the same stat gives a more complete
picture.
2015-02-24 07:31:09 +00:00
Rohit Jnagal
23642688af Merge pull request #532 from vmarmol/fix
Sort subcontainers in ContainerSpec.
2015-02-23 15:02:09 -08:00
Victor Marmol
94cd7114f8 Sort subcontainers in ContainerSpec.
Fixes #531.
2015-02-23 14:28:02 -08:00
Victor Marmol
63f5714db8 Add Start and End to ContainerInfoRequests.
This will allow querying a certain time range.
2015-02-22 19:07:40 -08:00
Rohit Jnagal
2406b6c55b Add derived stats tracking to containers. 2015-02-16 20:44:34 +00:00
Victor Marmol
ed04bb896e cAdvisor 0.9.0 2015-02-09 15:16:55 -08:00
Victor Marmol
45ba276ae8 Add container creation time to ContainerSpec. 2015-02-05 09:52:10 -08:00
Vish Kannan
621045b4d0 Merge pull request #481 from rjnagal/summary
Initial types for stats summary.
2015-02-04 09:36:39 -08:00
Rohit Jnagal
e94ccbc5e8 Initial types for stats summary. 2015-02-04 00:49:20 +00:00
Rohit Jnagal
f9c6329af0 Remove stale comments.
We already added memory hierarchy.
2015-02-01 03:08:39 +00:00
Rohit Jnagal
667a8e0fd1 Rename load to load average.
Load is now LoadAverage. Also added comments about smoothing interval.
2015-01-28 00:37:45 +00:00
Rohit Jnagal
33c2cac71d Compute smoothed cpu load for containers. 2015-01-27 20:21:53 +00:00
Victor Marmol
8f0f2299ab Make network fields signed integers.
The kernel reports -1 in case of errors so it should be an allowable
returned value.

Fixes #454.
2015-01-20 22:34:10 -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
90e5dc9b08 Merge pull request #446 from rjnagal/diskinfo
Add scheduler type to disk info.
2015-01-16 16:10:52 -08:00
Rohit Jnagal
aa398c800a Add scheduler type to disk info.
Type can be one of "none", "noop", "deadline", "cfq".
For block devices that don't use scheduler (like dm), the type will be "none".
We'll also report "none" for partitions when we start reporting those.
2015-01-17 00:09:07 +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
ea8806070d cAdvisor 0.8.0 2015-01-12 08:41:33 -08:00
Victor Marmol
643d647761 Gofmt all files. 2015-01-05 11:26:23 -08:00
Rohit Jnagal
04fef734d2 Merge pull request #402 from rjnagal/diskinfo
Add ethernet devices information to machine endpoint.
2014-12-26 09:47:11 -08:00
Rohit Jnagal
496ee65cc2 Add ethernet devices information to machine endpoint. 2014-12-25 21:15:21 +00:00
Vishnu Kannan
8064a13cb4 Release 0.7.1. 2014-12-24 02:36:12 +00:00
Rohit Jnagal
5994c17b1e Add cache info to machine topology 2014-12-22 17:54:36 +00:00
Rohit Jnagal
8fa6389c64 Add per-node memory information to machine endpoint. 2014-12-21 01:37:13 +00:00
Rohit Jnagal
22cee3a89c Add cpu topology information to machine endpoint. 2014-12-20 00:53:48 +00:00
Rohit Jnagal
c37f3865d9 Add cpu frequency to machine info. 2014-12-18 18:05:09 +00:00
Victor Marmol
283c4cb86c cAdvisor 0.7.0. 2014-12-17 16:53:48 -08:00
Rohit Jnagal
e5200948f5 Add a disk map to machine info.
This is read once at start of cAdvisor. We can use this to report
machine state as well as return logical name for block devices in UI.

Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-12-17 00:15:50 +00:00
Victor Marmol
d9813b532b cAdvisor 0.6.2 2014-11-21 09:44:02 +08:00
Victor Marmol
4b9861246f Remove unused code. 2014-11-20 15:22:47 +08:00
Victor Marmol
e44dca68b3 Memory stats should not be omited if empty.
They may be zero. Also removed Limit from MemoryStats, that belongs in
MemorySpec and is there today. All info requests return the spec.
2014-11-20 06:45:30 +08:00
Vishnu Kannan
da5b235dd7 Release 0.6.1 to patch influxdb driver issue. 2014-11-19 00:17:17 +00:00
Victor Marmol
f61d2379ee cAdvisor 0.6.0 2014-11-17 11:08:38 -08:00
Victor Marmol
f97e57df88 Simplify how the Docker containers are handled.
This is done by introducting the concept of "namespaces" of container
names. The aliases of a container are under this namespace. Namespace
names are of the form:

//<namespace>/<alias>

This allows us to (within cAdvisor) query all docker containers as
//docker regardless of whether this is a systemd or a non-systemd system.

This does break our ability to handle Docker aliases with the /container
endpoint. I think this is acceptable as our support there was not
consistent between system types.
2014-11-12 18:01:47 -08:00
Vish Kannan
26921c3643 Merge pull request #277 from vmarmol/flat
Flatten ContainerStats struct
2014-11-05 11:26:10 -08:00
Vish Kannan
812e1f4944 Merge pull request #284 from vmarmol/release
cAdvisor version 0.5.0
2014-10-28 09:21:07 -08:00
Victor Marmol
8c4f650e62 cAdvisor version 0.5.0 2014-10-28 10:19:41 -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
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
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
8fd73e7fc0 Adding filesystem stats to db storage drivers. Moved FsStats to info package. 2014-10-01 18:49:10 +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
Victor Marmol
671e8dd22a cAdvisor 0.4.1 release. 2014-09-29 13:53:07 -07:00
Blake La Pierre
071298109a Typo 2014-09-29 00:46:36 -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
bcd8c98bbc Merge pull request #242 from vmarmol/flat-spec
Flatten ContainerSpec.
2014-09-22 10:35:57 -07:00
Victor Marmol
cc9a8f5dc9 cAdvisor 0.4.0 release. 2014-09-19 10:23:37 -07:00
Victor Marmol
e22831f1bd Flatten ContainerSpec. 2014-09-19 10:14:22 -07:00
Victor Marmol
9dd8621686 Remove remaining parts of samples and percentiles. 2014-09-15 14:38:51 -07:00
Rohit Jnagal
e4b28d9d78 Merge pull request #233 from vmarmol/master
Removing sampling and percentiles from interface.
2014-09-15 14:20:25 -07:00
Victor Marmol
42add2409a Removing sampling and percentiles from interface.
Also removing all implementations.
2014-09-15 14:13:07 -07:00
Victor Marmol
4e028d7995 Make housekeeping interval dynamic, fist signal is resource usage.
If no resources are used by the container since the last housekeeping,
we double the housekeeping interval until --max_housekeeping_interval.
If usage was detected, we drop it back to the baseline
(--housekeeping_interval).

From my tests this reduces CPU usage in CoreOS from ~8% to ~3% with no
real loss of accuracy.

Fixes #159
2014-09-10 15:01:54 -07:00
Victor Marmol
29bbe613dc Updating CHANGELOG and version for 0.3.0 release. 2014-09-05 13:57:16 -07:00
Vishnu Kannan
a9f54a4ed7 Updating the release notes to release cAdvisor 0.2.2. 2014-08-13 18:38:09 +00:00
Victor Marmol
ae9bec8a8c Saturate samples to 0 if they are negative.
Fixes #144
2014-08-01 08:55:14 -07:00
Victor Marmol
09769510ec cAdvisor version 0.2.1 2014-07-25 10:33:27 -07:00
Victor Marmol
0ed9eb2197 cAdvisor version 0.2.0. 2014-07-24 11:36:43 -07: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
07f78e1a7f Change test data generator to create string cpumasks.
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com> (github: rjnagal)
2014-07-24 01:56:52 +00: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
Nan Deng
9401d35ce2 gofmt -r "MemoryUsagePercentages->MemoryUsagePercentiles" 2014-07-23 17:58:50 -07:00
Nan Deng
2ac720aa3f remove FillDefaults() 2014-07-23 17:55:25 -07:00
Nan Deng
55b65f4eb9 Retrieve 0 stats/samples when user asked for zero stats/samples 2014-07-23 17:28:41 -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
afa9a35176 cAdvisor version 0.1.4 2014-07-22 14:06:52 -07: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
Nan Deng
d7b1b9c849 Eq() for ContainerInfo 2014-07-15 13:21:15 -07:00
Victor Marmol
9e8fb8da6d Updating version to 0.1.3. 2014-07-14 18:36:57 -07:00
Victor Marmol
069cff84e2 Merge pull request #79 from monnand/query-parameter
User specified parameters for container info.
2014-07-10 12:36:33 -07:00
Nan Deng
d5279b54b2 remove some commented out code 2014-07-10 11:21:37 -07:00
Nan Deng
c7f69c2382 move function into test 2014-07-10 10:41:20 -07:00
Nan Deng
942236adde docs 2014-07-08 18:11:35 -07:00
Nan Deng
6818ac9b9f gofmt -r "ContainerInfoQuery->ContainerInfoRequest" 2014-07-08 18:04:57 -07:00