Wei Fu
6b7e237fc7
chore: use go fix to cleanup old +build buildtag
...
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2022-12-29 14:25:14 +08:00
Nguyen Phan Huy
c525aa5f85
Set timeout when collecting metrics from shim's Stat
...
Signed-off-by: Nguyen Phan Huy <phanhuy1502@gmail.com >
2022-04-12 10:49:29 +08:00
Wei Fu
8a1280b2b6
metrics/cgroups: fix deadlock issue in Add during Collect
...
The Collector.Collect will be the field ns'Collect's callback, which be
invoked periodically with internal lock. And Collector.Add also runs
with ns.Lock in Collector.Lock, which is easy to cause deadlock.
Goroutine X:
ns.Collect
ns.Lock
Collector.Collect
Collector.RLock
Goroutine Y:
Collector.Add
Collector.Lock
ns.Lock
We should use ns.Lock without Collector.Lock in Add.
Fix : #6772
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2022-04-10 09:17:21 +08:00
Akihiro Suda
d3aa7ee9f0
Run go fmt with Go 1.17
...
The new `go fmt` adds `//go:build` lines (https://golang.org/doc/go1.17#tools ).
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp >
2021-08-22 09:31:50 +09:00
Maksym Pavlenko
efa8ab7158
Add runtime label to metrics
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com >
2021-07-23 10:04:46 -07:00
Akihiro Suda
2f601013e6
cgroup2: implement containerd.events.TaskOOM event
...
How to test (from https://github.com/opencontainers/runc/pull/2352#issuecomment-620834524 ):
(host)$ sudo swapoff -a
(host)$ sudo ctr run -t --rm --memory-limit $((1024*1024*32)) docker.io/library/alpine:latest foo
(container)$ sh -c 'VAR=$(seq 1 100000000)'
An event `/tasks/oom {"container_id":"foo"}` will be displayed in `ctr events`.
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp >
2020-06-01 14:00:13 +09:00
Michael Crosby
d654dbafac
Allow the id for cgroup metrics to be changed
...
This makes the metrics package more extensible by allowing the default name of
`container_id` to be changed by the package caller.
Signed-off-by: Michael Crosby <crosbymichael@gmail.com >
2020-03-26 11:55:44 -04:00
Michael Crosby
1239f54035
export cgroups collectors
...
This makes it easier to extend the collectors to be used by external code and
task managers
Signed-off-by: Michael Crosby <crosbymichael@gmail.com >
2020-03-06 12:51:22 -05:00
Boris Popovschi
3eb57b01be
Added IO metrics
...
Signed-off-by: Boris Popovschi <zyqsempai@mail.ru >
2020-01-15 14:35:47 +02:00
Boris Popovschi
b9d9bdf1fd
make cpu metrics consistent with v2 docs
...
Signed-off-by: Boris Popovschi <zyqsempai@mail.ru >
2019-12-17 12:22:55 +02:00
Boris Popovschi
929ab521c6
fix system usage naming
...
Signed-off-by: Boris Popovschi <zyqsempai@mail.ru >
2019-12-17 11:05:28 +02:00
Boris Popovschi
23dbae3e71
Schema name fix
...
Signed-off-by: Boris Popovschi <zyqsempai@mail.ru >
2019-12-17 10:40:11 +02:00
Boris Popovschi
17d61d6b7e
Units fix
...
Signed-off-by: Boris Popovschi <zyqsempai@mail.ru >
2019-12-16 19:54:21 +02:00
bpopovschi
f287bc2292
Schema names fix
...
Signed-off-by: bpopovschi <zyqsempai@mail.ru >
2019-12-16 19:28:42 +02:00
bpopovschi
6bfb24824b
Fix prometheus metrics units
...
Signed-off-by: bpopovschi <zyqsempai@mail.ru >
2019-12-16 18:27:50 +02:00
bpopovschi
b98cc79184
Added memory and cpu metrics for cgroupv2
...
Signed-off-by: bpopovschi <zyqsempai@mail.ru >
2019-12-16 16:10:51 +02:00
Akihiro Suda
43fca9eba2
metrics: rename pids_v2 to pids
...
dicussed in #3726
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp >
2019-12-13 15:41:08 +09:00
Akihiro Suda
8f870c233f
support cgroup2
...
* only shim v2 runc v2 ("io.containerd.runc.v2") is supported
* only PID metrics is implemented. Others should be implemented in separate PRs.
* lots of code duplication in v1 metrics and v2 metrics. Dedupe should be separate PR.
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp >
2019-12-12 02:56:51 +09:00