containers

package
v1.6.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2023 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	L7Requests = map[ebpftracer.L7Protocol]prometheus.CounterOpts{
		ebpftracer.L7ProtocolHTTP:      {Name: "container_http_requests_total", Help: "Total number of outbound HTTP requests"},
		ebpftracer.L7ProtocolPostgres:  {Name: "container_postgres_queries_total", Help: "Total number of outbound Postgres queries"},
		ebpftracer.L7ProtocolRedis:     {Name: "container_redis_queries_total", Help: "Total number of outbound Redis queries"},
		ebpftracer.L7ProtocolMemcached: {Name: "container_memcached_queries_total", Help: "Total number of outbound Memcached queries"},
		ebpftracer.L7ProtocolMysql:     {Name: "container_mysql_queries_total", Help: "Total number of outbound Mysql queries"},
		ebpftracer.L7ProtocolMongo:     {Name: "container_mongo_queries_total", Help: "Total number of outbound Mongo queries"},
		ebpftracer.L7ProtocolKafka:     {Name: "container_kafka_requests_total", Help: "Total number of outbound Kafka requests"},
		ebpftracer.L7ProtocolCassandra: {Name: "container_cassandra_queries_total", Help: "Total number of outbound Cassandra requests"},
		ebpftracer.L7ProtocolRabbitmq:  {Name: "container_rabbitmq_messages_total", Help: "Total number of Rabbitmq messages produced or consumed by the container"},
	}
	L7Latency = map[ebpftracer.L7Protocol]prometheus.HistogramOpts{
		ebpftracer.L7ProtocolHTTP:      {Name: "container_http_requests_duration_seconds_total", Help: "Histogram of the response time for each outbound HTTP request"},
		ebpftracer.L7ProtocolPostgres:  {Name: "container_postgres_queries_duration_seconds_total", Help: "Histogram of the execution time for each outbound Postgres query"},
		ebpftracer.L7ProtocolRedis:     {Name: "container_redis_queries_duration_seconds_total", Help: "Histogram of the execution time for each outbound Redis query"},
		ebpftracer.L7ProtocolMemcached: {Name: "container_memcached_queries_duration_seconds_total", Help: "Histogram of the execution time for each outbound Memcached query"},
		ebpftracer.L7ProtocolMysql:     {Name: "container_mysql_queries_duration_seconds_total", Help: "Histogram of the execution time for each outbound Mysql query"},
		ebpftracer.L7ProtocolMongo:     {Name: "container_mongo_queries_duration_seconds_total", Help: "Histogram of the execution time for each outbound Mongo query"},
		ebpftracer.L7ProtocolKafka:     {Name: "container_kafka_requests_duration_seconds_total", Help: "Histogram of the execution time for each outbound Kafka request"},
		ebpftracer.L7ProtocolCassandra: {Name: "container_cassandra_queries_duration_seconds_total", Help: "Histogram of the execution time for each outbound Cassandra request"},
		ebpftracer.L7ProtocolRabbitmq:  {Name: "", Help: ""},
	}
)

Functions

func ContainerdInit

func ContainerdInit() error

func DockerdInit

func DockerdInit() error

func JournaldInit

func JournaldInit() error

func JournaldSubscribe

func JournaldSubscribe(cg *cgroup.Cgroup, ch chan<- logparser.LogEntry) error

func JournaldUnsubscribe

func JournaldUnsubscribe(cg *cgroup.Cgroup)

func TaskstatsInit

func TaskstatsInit() error

func TaskstatsPID

func TaskstatsPID(pid uint32) (*taskstats.Stats, error)

func TaskstatsTGID

func TaskstatsTGID(pid uint32) (*taskstats.Stats, error)

Types

type ActiveConnection added in v1.2.0

type ActiveConnection struct {
	ActualDest netaddr.IPPort
	Pid        uint32
	Fd         uint64
	Timestamp  uint64
	Closed     time.Time
}

type AddrPair

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

type Conntrack added in v1.2.2

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

func NewConntrack added in v1.2.2

func NewConntrack(netNs netns.NsHandle) (*Conntrack, error)

func (*Conntrack) Close added in v1.2.2

func (c *Conntrack) Close() error

func (*Conntrack) GetActualDestination added in v1.2.2

func (c *Conntrack) GetActualDestination(src, dst netaddr.IPPort) *netaddr.IPPort

type Container

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

func NewContainer

func NewContainer(cg *cgroup.Cgroup, md *ContainerMetadata, hostConntrack *Conntrack, pid uint32) (*Container, error)

func (*Container) Close

func (c *Container) Close()

func (*Container) Collect

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

func (*Container) Dead

func (c *Container) Dead(now time.Time) bool

func (*Container) Describe

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

type ContainerID

type ContainerID string

type ContainerMetadata

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

func ContainerdInspect

func ContainerdInspect(containerID string) (*ContainerMetadata, error)

func DockerdInspect

func DockerdInspect(containerID string) (*ContainerMetadata, error)

type Delays

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

type L7Stats added in v1.2.0

type L7Stats struct {
	Requests *prometheus.CounterVec
	Latency  prometheus.Histogram
}

type LogParser

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

func (*LogParser) Stop

func (p *LogParser) Stop()

type Registry

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

func NewRegistry

func NewRegistry(reg prometheus.Registerer, kernelVersion string) (*Registry, error)

func (*Registry) Close

func (r *Registry) Close()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL