pipeline

package
v1.45.0 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2025 License: Apache-2.0 Imports: 43 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BlockDeviceMetric added in v1.43.1

type BlockDeviceMetric struct {
	Name            string    `avro:"name"`
	NodeName        string    `avro:"node_name"`
	NodeTemplate    *string   `avro:"node_template"`
	ReadIOPS        int64     `avro:"read_iops"`
	WriteIOPS       int64     `avro:"write_iops"`
	ReadThroughput  int64     `avro:"read_throughput"`
	WriteThroughput int64     `avro:"write_throughput"`
	Size            *int64    `avro:"size"`
	PhysicalDevices []string  `avro:"physical_devices"`
	Timestamp       time.Time `avro:"ts"`
	// contains filtered or unexported fields
}

type BlockDeviceMetricsWriter added in v1.43.1

type BlockDeviceMetricsWriter interface {
	Write(metrics ...BlockDeviceMetric) error
}

func NewBlockDeviceMetricsWriter added in v1.43.1

func NewBlockDeviceMetricsWriter(metricsClient custommetrics.MetricClient) (BlockDeviceMetricsWriter, error)

type Config

type Config struct {
	DataBatch   config.DataBatchConfig   `validate:"required"`
	Netflow     config.NetflowConfig     `validate:"required"`
	Events      config.EventsConfig      `validate:"required"`
	Stats       config.StatsConfig       `validate:"required"`
	ProcessTree config.ProcessTreeConfig `validate:"required"`
}

type Controller

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

func NewController

func NewController(
	log *logging.Logger,
	cfg Config,
	exporters []export.DataBatchWriter,
	containersClient containersClient,
	netStatsReader netStatsReader,
	ct conntrackClient,
	tracer ebpfTracer,
	signatureEngine signatureEngine,
	kubeClient kubepb.KubeAPIClient,
	processTreeCollector processTreeCollector,
	procHandler procHandler,
	enrichmentService enrichmentService,
	blockDeviceMetricsWriter BlockDeviceMetricsWriter,
	filesystemMetricsWriter FilesystemMetricsWriter,
	storageInfoProvider StorageInfoProvider,
) *Controller

func (*Controller) IsMutedNamespace

func (c *Controller) IsMutedNamespace(namespace string) bool

func (*Controller) MuteNamespace

func (c *Controller) MuteNamespace(namespace string) error

func (*Controller) Run

func (c *Controller) Run(ctx context.Context) error

func (*Controller) UnmuteNamespace

func (c *Controller) UnmuteNamespace(namespace string) error

type DiskClient added in v1.43.1

type DiskClient struct{}

func NewDiskClient added in v1.43.1

func NewDiskClient() *DiskClient

func (*DiskClient) GetDiskStats added in v1.43.1

func (d *DiskClient) GetDiskStats(path string) (*disk.UsageStat, error)

func (*DiskClient) IOCounters added in v1.43.1

func (d *DiskClient) IOCounters() (map[string]disk.IOCountersStat, error)

func (*DiskClient) Partitions added in v1.43.1

func (d *DiskClient) Partitions(all bool) ([]disk.PartitionStat, error)

type DiskInterface added in v1.43.1

type DiskInterface interface {
	IOCounters() (map[string]disk.IOCountersStat, error)
	Partitions(all bool) ([]disk.PartitionStat, error)
	GetDiskStats(path string) (*disk.UsageStat, error)
}

type FilesystemMetric added in v1.43.1

type FilesystemMetric struct {
	Devices      []string  `avro:"devices"`
	NodeName     string    `avro:"node_name"`
	NodeTemplate *string   `avro:"node_template"`
	MountPoint   string    `avro:"mount_point"`
	TotalSize    *int64    `avro:"total_size"`
	UsedSpace    *int64    `avro:"used_space"`
	Timestamp    time.Time `avro:"ts"`
}

type FilesystemMetricsWriter added in v1.43.1

type FilesystemMetricsWriter interface {
	Write(metrics ...FilesystemMetric) error
}

func NewFilesystemMetricsWriter added in v1.43.1

func NewFilesystemMetricsWriter(metricsClient custommetrics.MetricClient) (FilesystemMetricsWriter, error)

type StorageInfoProvider added in v1.43.1

type StorageInfoProvider interface {
	BuildFilesystemMetrics(timestamp time.Time) ([]FilesystemMetric, error)
	BuildBlockDeviceMetrics(timestamp time.Time) ([]BlockDeviceMetric, error)
}

func NewStorageInfoProvider added in v1.43.1

func NewStorageInfoProvider(log *logging.Logger, kubeClient kubepb.KubeAPIClient) (StorageInfoProvider, error)

type SysfsStorageInfoProvider added in v1.43.1

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

func (*SysfsStorageInfoProvider) BuildBlockDeviceMetrics added in v1.43.1

func (s *SysfsStorageInfoProvider) BuildBlockDeviceMetrics(timestamp time.Time) ([]BlockDeviceMetric, error)

func (*SysfsStorageInfoProvider) BuildFilesystemMetrics added in v1.43.1

func (s *SysfsStorageInfoProvider) BuildFilesystemMetrics(timestamp time.Time) ([]FilesystemMetric, error)

Jump to

Keyboard shortcuts

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