package v2

import "github.com/containerd/containerd/metrics/cgroups/v2"

Index

Variables

var IDName = "container_id"

IDName is the name that is used to identify the id being collected in the metric

Functions

func NewTaskMonitor

func NewTaskMonitor(ctx context.Context, publisher events.Publisher, ns *metrics.Namespace) (runtime.TaskMonitor, error)

NewTaskMonitor returns a new cgroups monitor

Types

type Collector

type Collector struct {
	// contains filtered or unexported fields
}

Collector provides the ability to collect container stats and export them in the prometheus format

func NewCollector

func NewCollector(ns *metrics.Namespace) *Collector

NewCollector registers the collector with the provided namespace and returns it so that cgroups can be added for collection

func (*Collector) Add

func (c *Collector) Add(t Statable) error

Add adds the provided cgroup and id so that metrics are collected and exported

func (*Collector) Collect

func (c *Collector) Collect(ch chan<- prometheus.Metric)

Collect prometheus metrics

func (*Collector) Describe

func (c *Collector) Describe(ch chan<- *prometheus.Desc)

Describe prometheus metrics

func (*Collector) Remove

func (c *Collector) Remove(t Statable)

Remove removes the provided cgroup by id from the collector

func (*Collector) RemoveAll

func (c *Collector) RemoveAll()

RemoveAll statable items from the collector

type Statable

type Statable interface {
	ID() string
	Namespace() string
	Stats(context.Context) (*types.Any, error)
}

Statable type that returns cgroup metrics

Source Files

cgroups.go cpu.go io.go memory.go metric.go metrics.go pids.go

Version
v1.5.13
Published
Jun 6, 2022
Platform
linux/amd64
Imports
13 packages
Last checked
28 minutes ago

Tools for package owners.