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
Victor Marmol
5fd8273806
Allow customizing storage duration.
2015-04-22 09:43:30 -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
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
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
Victor Marmol
aa8697140d
Don't fail fetching machine information when not available
2015-03-12 14:48:12 -07: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
Victor Marmol
853f2d9bad
Don't fail requests if System UUID is not available.
...
We won't have access to it if we're not running as root.
2015-03-09 18:22:08 -07:00
Victor Marmol
54bc33dd2c
Lowering log level for frequent events.
...
Lowering all frequent normal logs to v=3. Kubelet runs by default on
debug of v=2 and we don't want to log these events in that case.
2015-03-09 14:53:53 -07:00
Rohit Jnagal
6dcae1221f
Make machine-id sources flag a comma-separated list.
...
Use "/etc/machine-id,/var/lib/dbus/machine-id" as default.
2015-03-05 16:52:24 +00:00
Rohit Jnagal
d3db8503f4
Move derived stats to v2. Add v2 container spec.
2015-03-04 18:27:57 +00:00
Victor Marmol
7839dd8eef
Merge pull request #560 from simon3z/master
...
Add system uuid and machine id information
2015-03-04 09:42:41 -08: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
c1959cebee
Add ManagerMock.
2015-03-03 11:28:33 -08:00
Victor Marmol
000a1be281
Changes to use new version of Docker packages.
2015-03-03 08:56:04 -08: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
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
a40168abe5
Merge pull request #547 from vmarmol/release
...
Failures to create stats summary should be non-fatal.
2015-02-27 09:46:31 -08:00
Victor Marmol
e89d40b786
Failures to create stats summary should be non-fatal.
...
Fixes #544 .
2015-02-27 09:01:07 -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
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
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
2406b6c55b
Add derived stats tracking to containers.
2015-02-16 20:44:34 +00:00
Victor Marmol
48c994e5be
Also print a 60s average CPU usage for self-logging.
2015-02-09 15:16:45 -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
Victor Marmol
b2f49a954b
Specify that stats writing continued in error.
2015-02-03 16:15:11 -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
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
Rohit Jnagal
67af1a1bbd
Add scheddebug based cpuload reader.
...
Prefer netlink based reader when available as it provides stats for
processes in state other than running (sleep, diskio, uninterruptible).
2015-01-26 18:46:29 +00: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
Victor Marmol
62b8382921
Handle initial zero value of lastError.
...
Also reduce logging to once every minute.
2015-01-08 10:31:32 -08:00
Vish Kannan
64f42cf686
Merge pull request #415 from rjnagal/diskinfo
...
Fix reading cache info for machines with unused packages.
2015-01-03 22:13:02 -08:00
Rohit Jnagal
1d26484681
Fix reading cache info for machines with unused packages.
...
Use thread ids instead of core-ids to identify caches.
2015-01-04 02:43:36 +00:00
Rohit Jnagal
aee5c36313
Fix vet errors
2015-01-01 22:41:55 +00:00
Rohit Jnagal
3836d1e2ec
Refactor common methods out of sysfs package and add tests.
2014-12-29 17:09:27 +00:00
Rohit Jnagal
496ee65cc2
Add ethernet devices information to machine endpoint.
2014-12-25 21:15:21 +00:00
Rohit Jnagal
b0462e3e94
Log one error message per hour for failing containers.
2014-12-23 00:49:48 +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
Katie Knister
cd8a7923ae
Caches container info for 5 seconds before updating it
2014-12-16 17:32:01 -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
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
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
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
Victor Marmol
cb80366c6d
Fix logic for deciding if Docker container was not found.
...
This is currently broken for all searches of Docker containers.
2014-10-29 13:32:14 -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
Victor Marmol
add5147769
Flatten ContainerStats struct
2014-10-20 11:17:20 -07:00
Victor Marmol
5e7b1bb6ef
Merge pull request #269 from vmarmol/self-monitor
...
Adding --log_cadvisor_usage flag to log the resource usage of cAdvisor.
2014-10-15 17:21:45 +02:00
Victor Marmol
62b37eca1d
Adding --log_cadvisor_usage flag to log the resource usage of cAdvisor.
...
This helps during performance analysis.
2014-10-15 08:18:38 -07: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
Satnam Singh
833feae28b
Fix assignment error in haste.
2014-09-24 11:07:48 -07:00
Satnam Singh
f3c92c381a
More if undos.
2014-09-24 11:07:48 -07:00
Satnam Singh
1bdbb73c0e
And a few more capatalization undos.
2014-09-24 11:07:48 -07:00
Satnam Singh
3f45b35768
Undo changed to Errorf in manager.go re: capatalization.
2014-09-24 10:59:18 -07:00