Tim St. Clair
b983d32d96
Refactor manager/machine.go -> utils/machine/info.go
2016-05-02 11:54:10 -07:00
derekwaynecarr
d01934a3e4
on systemd, we should ignore .mount cgroups
2016-04-20 23:47:19 -04: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
206670a655
first cut of rkt handler
2016-03-21 17:34:42 -07:00
Seth Jennings
8aa6164192
allow ignoreMetrics in new manager
2016-03-14 17:16:56 -05:00
Vishnu kannan
03f19d3576
Add nil pointer checks in disk usage integration test.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-25 15:38:15 -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
Marcin Wielgus
fb8efe0cf6
Add a flag to control the number of custom metrics scraped by collectors
2016-02-11 01:33:58 +01:00
Vishnu Kannan
944201c86b
Refactor api conversion methods.
2016-01-15 15:40:15 -08:00
Jimmi Dyson
4e9d29a408
Fix FS usage goroutine leaks
2016-01-14 19:30:48 +00:00
Tim St. Clair
e011781a88
Add V2 ContainerInfo API
...
- Add V2 ContainerInfo struct
- Move v1/v2 conversion functions to a reusable package
- Add V2 ContainerInfo accessor method to Manager
2016-01-13 11:58:09 -08:00
Jimmi Dyson
40f908db04
Fix machine ID file path when running in container
...
Fixes #955
2015-12-02 08:51:48 +00: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
b9ff5c098c
Fix up ignored/inefficient assigns (via ineffassign linter)
2015-11-27 22:01:54 +00:00
Alex Mavrogiannis
4533dd7d18
changed libcontainer dependency to runc
2015-11-21 14:04:01 -08:00
Jimmi Dyson
68db03188f
Don't bail out if docker is unreachable - recover when back up
2015-10-23 12:58:44 +01:00
Jimmi Dyson
b8b6e1bac1
Support devicemapper storage for docker images dir
...
Fixes #920
2015-10-21 09:56:33 +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
Phillip Wittrock
b7bbefd9b1
Always to a live lookup of version info instead of caching.
2015-08-20 16:48:45 -07:00
Miciah Masters
003125975c
glog.Warning -> glog.Warningf
...
Fix two places where glog.Warning is used with a formatted string.
2015-08-19 15:47:36 -04:00
anushree-n
4c67b21c1d
Add Prometheus Collector
2015-08-14 10:59:37 -07:00
Rohit Jnagal
ef41402a39
Merge pull request #838 from rjnagal/docker
...
Add custom metrics to spec.
2015-07-27 16:37:32 -07:00
Rohit Jnagal
c0b3f779f5
Add custom metrics to spec.
...
Remove spec-related fields from stat.
We can simplify the stats a bit further by handling Int and Float better.
But this was big enough change already.
Verified v1 and v2 spec/stats/appmetrics APIs.
2015-07-25 20:17:54 +00:00
Victor Marmol
17c45c6ec3
Merge pull request #827 from rjnagal/docker
...
Add logic to read custom metric config files from container root.
2015-07-22 13:39:17 -07: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
Piotr Szczesniak
90ca5f9286
Moved max_housekeeping and allow_dynamic_housekeeping flags to cadvisor.go
2015-07-21 20:26:57 +02:00
Rohit Jnagal
a4499777c4
Make graceful degradation of OOM events clearer.
2015-06-09 16:45:14 +00:00
Rohit Jnagal
eb8f941ba6
Make process listing work when cadvisor is running in docker.
...
Use /rootfs/proc to build the process listing.
2015-06-04 18:49:43 +00:00
Rohit Jnagal
1a2781819e
Separate in-memory cache from storage drivers.
2015-06-02 16:06:01 +00:00
Rohit Jnagal
e21cab8d43
Add filesystem, diskio, and network to spec.
2015-05-28 18:25:14 +00:00
Victor Marmol
080f8a9592
Add managed containers to debug output
2015-05-21 15:18:49 -07:00
Victor Marmol
0525d40a4a
Add DebugInfo() API and put the information on /validate
2015-05-21 14:46:35 -07:00
Victor Marmol
dd6663b42b
Register factories in Start() instead of New().
...
This will allow for delayed registration for client users (e.g.: Kubelet).
2015-05-15 09:14:40 -07:00
Victor Marmol
64361d198a
Merge pull request #712 from rjnagal/summary
...
Add manager methods to get docker status and images.
2015-05-13 15:23:29 -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
828da56a01
Add 'Available' to storage API.
2015-05-12 06:56:45 +00:00
Rohit Jnagal
5e10989a78
Add an api to support ps/top.
2015-05-12 00:06:47 +00:00
Victor Marmol
834d1cf34e
Lower logging level of some common logs.
2015-05-06 10:24:50 -07:00
Rohit Jnagal
3b13df3c6c
Remove spec info from container creation event data.
2015-05-05 22:14:15 +00:00
Rohit Jnagal
6bcb4aa394
Merge pull request #678 from vmarmol/collector
...
Add Collector executor support
2015-05-05 10:09:52 -07:00
Victor Marmol
bce54ce3f5
Run custom collectors in container housekeeping.
...
This will allow us to register and run custom collectors for each
container.
2015-05-04 15:57:18 -07:00
Rohit Jnagal
5fcad323ca
Publish creation event for pre-existing containers on start-up.
2015-05-04 18:37:43 +00:00
Victor Marmol
a7a7aacebc
Add flags to customize the events StoragePolicy.
2015-05-01 12:04:11 -07:00
Victor Marmol
28dfea761c
Add events StoragePolicy.
2015-05-01 10:42:17 -07:00
Victor Marmol
1c25746cf0
Limit events to 100,000 of each type.
...
This gives us a bit over one event per second for one day. Assuming 250
bytes per event, the max memory usage is ~24MiB per event type.
2015-05-01 00:03:41 -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
Victor Marmol
62d670d386
Limit the number of events stored to 24h.
...
There is a TODO to make this configurable.
2015-04-25 18:04:52 -07:00
Rohit Jnagal
64b105db5a
Make cpu load reader flag controlled.
2015-04-15 23:37:36 +00:00
Victor Marmol
fd1ff04f7f
Split OOM event into OOM and OOM Kill.
...
This will allow to watch and differentiate that the OOM victim may not
equal the OOM'd container.
2015-04-15 13:30:08 -07:00
Katie Knister
00ce5ca367
Reenable netlink cpu tracking
2015-04-14 14:07:19 -07:00
Victor Marmol
11462d80bc
Lowering log levels.
...
Reduce common logging using Kubernetes logging standards.
2015-04-13 15:05:41 -07:00
Katie Knister
ee4bdc2698
Improvements to events integration test
2015-04-10 13:33:22 -07:00
Victor Marmol
a21bf2555e
Make EventData a concrete type.
...
Having this as an interface was giving us a lot of problems with
unmarshaling. Made into a union of concrete types.
2015-04-09 15:21:24 -07:00
Justin Santa Barbara
95e4953239
Simple fix to format string
2015-04-07 08:32:57 -07:00
Victor Marmol
4cb69036f8
Move Event to info since it is a public API object.
2015-04-01 09:17:43 -07:00
Rohit Jnagal
d1f21bb2fd
Merge pull request #600 from kateknister/apiBranch
...
adding systemd oomparser functionality
2015-03-25 23:06:00 -07:00
Katie Knister
3c7e67991d
Created a way to remove unused channels from an eventHandler's watchers list
2015-03-25 16:36:48 -07:00
Katie Knister
21e96ed61c
adding systemd oomparser functionality
2015-03-24 12:33:57 -07:00
Clayton Coleman
3e7c1b3613
Reduce the level for a few common log messages
...
Following the Kubernetes convention of V(2) is normal verbosity (log
each request to a webserver).
2015-03-19 23:55:36 -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
Victor Marmol
67f6ee48f9
Return unique containers in Subcontainers().
...
Before this we'd return an instance for each alias we'd saved.
Fixes #592 .
2015-03-15 09:58:04 -07: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
Rohit Jnagal
e685067a04
Merge pull request #579 from vmarmol/master
...
Start() exits gracefully when there are no factories.
2015-03-11 23:24:16 -07:00
Victor Marmol
ffdb6f5c7d
Start() exits gracefully when there are no factories.
...
This allows us to handle the case where there are no factories as
happens when testing in a non-container environment. We will still serve
the machine information that is available.
2015-03-11 21:22:16 -07:00
Victor Marmol
5eeb6fdd40
Merge pull request #574 from kateknister/master
...
Fixed some bugs in oomparser streaming
2015-03-11 09:14:07 -07:00
Victor Marmol
8ae06b5c3d
Merge pull request #573 from rjnagal/docker
...
Add /storage endpoint to 2.0 API.
2015-03-10 21:48:51 -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
Katie Knister
78f3029943
Fixed some bugs in oomparser streaming
2015-03-10 18:18:54 -07:00
Victor Marmol
c593620f47
Don't fail if the raw cgroup factory fails to register.
...
This will allow us to degrade gracefully in the environments where no
cgroups exist, but we'd still like cAdvisor to be running.
2015-03-10 15:41:15 -07:00
Rohit Jnagal
d3db8503f4
Move derived stats to v2. Add v2 container spec.
2015-03-04 18:27:57 +00:00
Katie Knister
6ffb8454b0
Added container event monitoring
2015-03-03 18:14:36 -08: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
5e6c11abd9
Merge pull request #549 from kateknister/master
...
Revised oomparser to not use all the cpu
2015-03-03 08:25:48 -08:00
Victor Marmol
7e7c433307
Register container handler factories in manager.New().
...
This lets us simplify the startup of the manager.
2015-03-02 17:31:20 -08:00
Katie Knister
412f27798e
Revised oomparser to not use all the cpu
2015-03-02 14:22:53 -08:00
Katie Knister
a40a9fc912
disabling oomparser due to CPU usage
2015-02-26 18:03:23 -08:00
Katie Knister
6e14267c3c
Added a basic api interface for events
2015-02-26 14:14:25 -08:00
Victor Marmol
4033f14b4a
Merge pull request #525 from vmarmol/time-based
...
Add Start and End to ContainerInfoRequests.
2015-02-23 12:52:52 -08:00
Victor Marmol
1a3c40a1d3
Don't fail startup if OOM watching failed.
...
Fixes #527 .
2015-02-23 11:51:24 -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
Katie Knister
5f66cbc9bf
Added a way for oom events to be handled by the manager
2015-02-20 16:26:34 -08:00
Katie Knister
3856690715
Added an oomwatcher function to manager
2015-02-19 16:22:37 -08:00
Rohit Jnagal
28984d7811
Add spec to v2.0 API.
2015-02-19 17:59:41 +00:00
Rohit Jnagal
7201af3ca5
Expose a minimal 2.0 API with the first summary endpoint.
...
Right now, we just do raw container name. More types to follow.
We'll re-do the older endpoint in 2.0 before we publish it.
2015-02-19 05:27:44 +00:00
Victor Marmol
99a48d8310
Make explicit the use of InMemoryStorage in Manager.
...
The current structure is a remnant of when the in memory storage was one
of the options for backing store. Today, we always have the memory
storage with an optional "backend storage" plugin. This commit makes the
InMemoryStorage use explicit.
2015-02-18 14:09:59 -08:00
Rohit Jnagal
52d4be1f9e
Disable cpu load tracking temporarily.
...
I'd like to understand its resource usage and improve accuracy
before we ship it in an official release.
2015-02-09 15:16:45 -08:00
Rohit Jnagal
1375f451b2
Refactor netlink implementation.
...
This allows us to plug in a scheddebug based interface.
2015-01-23 23:07:50 +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
Vish Kannan
308f03f9b9
Merge pull request #440 from rjnagal/docker
...
Remove duplicate assignment.
2015-01-14 16:07:27 -08:00
Rohit Jnagal
bcd46d13cd
Remove duplicate assignment.
2015-01-14 23:30:47 +00:00
Rohit Jnagal
ed155019ac
Verify and fix error message nit :)
2015-01-14 01:15:13 +00: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
4b9861246f
Remove unused code.
2014-11-20 15:22:47 +08:00
Victor Marmol
181e12dda2
Refactoring and fixes of /docker API endpoint.
...
This canges the output of the Docker endpoint to be a map so that it is
more consistent from single to multiple returns. It also refactors
internally how we handle both types of requests.
Without this PR the /docker API endpoint is broken completely so this
change in format has no effect anyways.
These changes are tested by the upcoming integration tests.
2014-11-19 03:36:18 -08:00
Victor Marmol
742bb8c724
Do not duplicate Docker container output.
...
Since Docker containers are known by more than one name we were
returning them once for every name they're known by. This change makes
the returned containers unique.
2014-11-17 10:40:28 -08:00