Use event service post for shim events
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
@@ -7,6 +7,8 @@ import (
|
||||
|
||||
"github.com/containerd/cgroups"
|
||||
events "github.com/containerd/containerd/api/services/events/v1"
|
||||
evt "github.com/containerd/containerd/events"
|
||||
"github.com/containerd/containerd/log"
|
||||
"github.com/containerd/containerd/plugin"
|
||||
"github.com/containerd/containerd/runtime"
|
||||
metrics "github.com/docker/go-metrics"
|
||||
@@ -35,6 +37,7 @@ func New(ic *plugin.InitContext) (interface{}, error) {
|
||||
collector: collector,
|
||||
oom: oom,
|
||||
context: ic.Context,
|
||||
emitter: ic.Emitter,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -42,7 +45,7 @@ type cgroupsMonitor struct {
|
||||
collector *Collector
|
||||
oom *OOMCollector
|
||||
context context.Context
|
||||
events chan<- *events.RuntimeEvent
|
||||
emitter *evt.Emitter
|
||||
}
|
||||
|
||||
func (m *cgroupsMonitor) Monitor(c runtime.Task) error {
|
||||
@@ -67,15 +70,13 @@ func (m *cgroupsMonitor) Stop(c runtime.Task) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *cgroupsMonitor) Events(events chan<- *events.RuntimeEvent) {
|
||||
m.events = events
|
||||
}
|
||||
|
||||
func (m *cgroupsMonitor) trigger(id string, cg cgroups.Cgroup) {
|
||||
m.events <- &events.RuntimeEvent{
|
||||
if err := m.emitter.Post(m.context, &events.RuntimeEvent{
|
||||
Timestamp: time.Now(),
|
||||
Type: events.RuntimeEvent_OOM,
|
||||
ID: id,
|
||||
ContainerID: id,
|
||||
}); err != nil {
|
||||
log.G(m.context).WithError(err).Error("post OOM event")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user