metadata

package
v0.99.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MetricsStability = component.StabilityLevelBeta
)

Variables

View Source
var ContainerCPUMetrics = CPUMetrics{
	Time:               (*MetricsBuilder).RecordContainerCPUTimeDataPoint,
	Usage:              (*MetricsBuilder).RecordContainerCPUUsageDataPoint,
	Utilization:        (*MetricsBuilder).RecordContainerCPUUtilizationDataPoint,
	LimitUtilization:   (*MetricsBuilder).RecordK8sContainerCPULimitUtilizationDataPoint,
	RequestUtilization: (*MetricsBuilder).RecordK8sContainerCPURequestUtilizationDataPoint,
}
View Source
var ContainerFilesystemMetrics = FilesystemMetrics{
	Available: (*MetricsBuilder).RecordContainerFilesystemAvailableDataPoint,
	Capacity:  (*MetricsBuilder).RecordContainerFilesystemCapacityDataPoint,
	Usage:     (*MetricsBuilder).RecordContainerFilesystemUsageDataPoint,
}
View Source
var ContainerMemoryMetrics = MemoryMetrics{
	Available:          (*MetricsBuilder).RecordContainerMemoryAvailableDataPoint,
	Usage:              (*MetricsBuilder).RecordContainerMemoryUsageDataPoint,
	LimitUtilization:   (*MetricsBuilder).RecordK8sContainerMemoryLimitUtilizationDataPoint,
	RequestUtilization: (*MetricsBuilder).RecordK8sContainerMemoryRequestUtilizationDataPoint,
	Rss:                (*MetricsBuilder).RecordContainerMemoryRssDataPoint,
	WorkingSet:         (*MetricsBuilder).RecordContainerMemoryWorkingSetDataPoint,
	PageFaults:         (*MetricsBuilder).RecordContainerMemoryPageFaultsDataPoint,
	MajorPageFaults:    (*MetricsBuilder).RecordContainerMemoryMajorPageFaultsDataPoint,
}
View Source
var ContainerUptimeMetrics = UptimeMetrics{
	Uptime: (*MetricsBuilder).RecordContainerUptimeDataPoint,
}
View Source
var K8sVolumeMetrics = VolumeMetrics{
	Available:  (*MetricsBuilder).RecordK8sVolumeAvailableDataPoint,
	Capacity:   (*MetricsBuilder).RecordK8sVolumeCapacityDataPoint,
	Inodes:     (*MetricsBuilder).RecordK8sVolumeInodesDataPoint,
	InodesFree: (*MetricsBuilder).RecordK8sVolumeInodesFreeDataPoint,
	InodesUsed: (*MetricsBuilder).RecordK8sVolumeInodesUsedDataPoint,
}
View Source
var MapAttributeDirection = map[string]AttributeDirection{
	"receive":  AttributeDirectionReceive,
	"transmit": AttributeDirectionTransmit,
}

MapAttributeDirection is a helper map of string to AttributeDirection attribute value.

View Source
var NodeCPUMetrics = CPUMetrics{
	Time:        (*MetricsBuilder).RecordK8sNodeCPUTimeDataPoint,
	Usage:       (*MetricsBuilder).RecordK8sNodeCPUUsageDataPoint,
	Utilization: (*MetricsBuilder).RecordK8sNodeCPUUtilizationDataPoint,
}
View Source
var NodeFilesystemMetrics = FilesystemMetrics{
	Available: (*MetricsBuilder).RecordK8sNodeFilesystemAvailableDataPoint,
	Capacity:  (*MetricsBuilder).RecordK8sNodeFilesystemCapacityDataPoint,
	Usage:     (*MetricsBuilder).RecordK8sNodeFilesystemUsageDataPoint,
}
View Source
var NodeMemoryMetrics = MemoryMetrics{
	Available:       (*MetricsBuilder).RecordK8sNodeMemoryAvailableDataPoint,
	Usage:           (*MetricsBuilder).RecordK8sNodeMemoryUsageDataPoint,
	Rss:             (*MetricsBuilder).RecordK8sNodeMemoryRssDataPoint,
	WorkingSet:      (*MetricsBuilder).RecordK8sNodeMemoryWorkingSetDataPoint,
	PageFaults:      (*MetricsBuilder).RecordK8sNodeMemoryPageFaultsDataPoint,
	MajorPageFaults: (*MetricsBuilder).RecordK8sNodeMemoryMajorPageFaultsDataPoint,
}
View Source
var NodeNetworkMetrics = NetworkMetrics{
	IO:     (*MetricsBuilder).RecordK8sNodeNetworkIoDataPoint,
	Errors: (*MetricsBuilder).RecordK8sNodeNetworkErrorsDataPoint,
}
View Source
var NodeUptimeMetrics = UptimeMetrics{
	Uptime: (*MetricsBuilder).RecordK8sNodeUptimeDataPoint,
}
View Source
var PodCPUMetrics = CPUMetrics{
	Time:               (*MetricsBuilder).RecordK8sPodCPUTimeDataPoint,
	Usage:              (*MetricsBuilder).RecordK8sPodCPUUsageDataPoint,
	Utilization:        (*MetricsBuilder).RecordK8sPodCPUUtilizationDataPoint,
	LimitUtilization:   (*MetricsBuilder).RecordK8sPodCPULimitUtilizationDataPoint,
	RequestUtilization: (*MetricsBuilder).RecordK8sPodCPURequestUtilizationDataPoint,
}
View Source
var PodFilesystemMetrics = FilesystemMetrics{
	Available: (*MetricsBuilder).RecordK8sPodFilesystemAvailableDataPoint,
	Capacity:  (*MetricsBuilder).RecordK8sPodFilesystemCapacityDataPoint,
	Usage:     (*MetricsBuilder).RecordK8sPodFilesystemUsageDataPoint,
}
View Source
var PodMemoryMetrics = MemoryMetrics{
	Available:          (*MetricsBuilder).RecordK8sPodMemoryAvailableDataPoint,
	Usage:              (*MetricsBuilder).RecordK8sPodMemoryUsageDataPoint,
	LimitUtilization:   (*MetricsBuilder).RecordK8sPodMemoryLimitUtilizationDataPoint,
	RequestUtilization: (*MetricsBuilder).RecordK8sPodMemoryRequestUtilizationDataPoint,
	Rss:                (*MetricsBuilder).RecordK8sPodMemoryRssDataPoint,
	WorkingSet:         (*MetricsBuilder).RecordK8sPodMemoryWorkingSetDataPoint,
	PageFaults:         (*MetricsBuilder).RecordK8sPodMemoryPageFaultsDataPoint,
	MajorPageFaults:    (*MetricsBuilder).RecordK8sPodMemoryMajorPageFaultsDataPoint,
}
View Source
var PodNetworkMetrics = NetworkMetrics{
	IO:     (*MetricsBuilder).RecordK8sPodNetworkIoDataPoint,
	Errors: (*MetricsBuilder).RecordK8sPodNetworkErrorsDataPoint,
}
View Source
var PodUptimeMetrics = UptimeMetrics{
	Uptime: (*MetricsBuilder).RecordK8sPodUptimeDataPoint,
}
View Source
var (
	Type = component.MustNewType("kubeletstats")
)

Functions

func Meter added in v0.92.0

func Meter(settings component.TelemetrySettings) metric.Meter

func Tracer added in v0.92.0

func Tracer(settings component.TelemetrySettings) trace.Tracer

func WithStartTime added in v0.52.0

func WithStartTime(startTime pcommon.Timestamp) metricBuilderOption

WithStartTime sets startTime on the metrics builder.

Types

type AttributeDirection added in v0.39.0

type AttributeDirection int

AttributeDirection specifies the a value direction attribute.

const (
	AttributeDirectionReceive AttributeDirection
	AttributeDirectionTransmit
)

func (AttributeDirection) String added in v0.52.0

func (av AttributeDirection) String() string

String returns the string representation of the AttributeDirection.

type CPUMetrics added in v0.51.0

type CPUMetrics struct {
	Time               RecordDoubleDataPointFunc
	Usage              RecordDoubleDataPointFunc
	Utilization        RecordDoubleDataPointFunc
	LimitUtilization   RecordDoubleDataPointFunc
	RequestUtilization RecordDoubleDataPointFunc
}

type FilesystemMetrics added in v0.51.0

type FilesystemMetrics struct {
	Available RecordIntDataPointFunc
	Capacity  RecordIntDataPointFunc
	Usage     RecordIntDataPointFunc
}

type MemoryMetrics added in v0.51.0

type MemoryMetrics struct {
	Available          RecordIntDataPointFunc
	Usage              RecordIntDataPointFunc
	LimitUtilization   RecordDoubleDataPointFunc
	RequestUtilization RecordDoubleDataPointFunc
	Rss                RecordIntDataPointFunc
	WorkingSet         RecordIntDataPointFunc
	PageFaults         RecordIntDataPointFunc
	MajorPageFaults    RecordIntDataPointFunc
}

type MetricConfig added in v0.77.0

type MetricConfig struct {
	Enabled bool `mapstructure:"enabled"`
	// contains filtered or unexported fields
}

MetricConfig provides common config for a particular metric.

func (*MetricConfig) Unmarshal added in v0.77.0

func (ms *MetricConfig) Unmarshal(parser *confmap.Conf) error

type MetricsBuilder added in v0.52.0

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

MetricsBuilder provides an interface for scrapers to report metrics while taking care of all the transformations required to produce metric representation defined in metadata and user config.

func NewMetricsBuilder added in v0.52.0

func NewMetricsBuilder(mbc MetricsBuilderConfig, settings receiver.CreateSettings, options ...metricBuilderOption) *MetricsBuilder

func (*MetricsBuilder) Emit added in v0.52.0

Emit returns all the metrics accumulated by the metrics builder and updates the internal state to be ready for recording another set of metrics. This function will be responsible for applying all the transformations required to produce metric representation defined in metadata and user config, e.g. delta or cumulative.

func (*MetricsBuilder) EmitForResource added in v0.52.0

func (mb *MetricsBuilder) EmitForResource(rmo ...ResourceMetricsOption)

EmitForResource saves all the generated metrics under a new resource and updates the internal state to be ready for recording another set of data points as part of another resource. This function can be helpful when one scraper needs to emit metrics from several resources. Otherwise calling this function is not required, just `Emit` function can be called instead. Resource attributes should be provided as ResourceMetricsOption arguments.

func (*MetricsBuilder) NewResourceBuilder added in v0.83.0

func (mb *MetricsBuilder) NewResourceBuilder() *ResourceBuilder

NewResourceBuilder returns a new resource builder that should be used to build a resource associated with for the emitted metrics.

func (*MetricsBuilder) RecordContainerCPUTimeDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerCPUTimeDataPoint(ts pcommon.Timestamp, val float64)

RecordContainerCPUTimeDataPoint adds a data point to container.cpu.time metric.

func (*MetricsBuilder) RecordContainerCPUUsageDataPoint added in v0.93.0

func (mb *MetricsBuilder) RecordContainerCPUUsageDataPoint(ts pcommon.Timestamp, val float64)

RecordContainerCPUUsageDataPoint adds a data point to container.cpu.usage metric.

func (*MetricsBuilder) RecordContainerCPUUtilizationDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerCPUUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordContainerCPUUtilizationDataPoint adds a data point to container.cpu.utilization metric.

func (*MetricsBuilder) RecordContainerFilesystemAvailableDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerFilesystemAvailableDataPoint(ts pcommon.Timestamp, val int64)

RecordContainerFilesystemAvailableDataPoint adds a data point to container.filesystem.available metric.

func (*MetricsBuilder) RecordContainerFilesystemCapacityDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerFilesystemCapacityDataPoint(ts pcommon.Timestamp, val int64)

RecordContainerFilesystemCapacityDataPoint adds a data point to container.filesystem.capacity metric.

func (*MetricsBuilder) RecordContainerFilesystemUsageDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerFilesystemUsageDataPoint(ts pcommon.Timestamp, val int64)

RecordContainerFilesystemUsageDataPoint adds a data point to container.filesystem.usage metric.

func (*MetricsBuilder) RecordContainerMemoryAvailableDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerMemoryAvailableDataPoint(ts pcommon.Timestamp, val int64)

RecordContainerMemoryAvailableDataPoint adds a data point to container.memory.available metric.

func (*MetricsBuilder) RecordContainerMemoryMajorPageFaultsDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerMemoryMajorPageFaultsDataPoint(ts pcommon.Timestamp, val int64)

RecordContainerMemoryMajorPageFaultsDataPoint adds a data point to container.memory.major_page_faults metric.

func (*MetricsBuilder) RecordContainerMemoryPageFaultsDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerMemoryPageFaultsDataPoint(ts pcommon.Timestamp, val int64)

RecordContainerMemoryPageFaultsDataPoint adds a data point to container.memory.page_faults metric.

func (*MetricsBuilder) RecordContainerMemoryRssDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerMemoryRssDataPoint(ts pcommon.Timestamp, val int64)

RecordContainerMemoryRssDataPoint adds a data point to container.memory.rss metric.

func (*MetricsBuilder) RecordContainerMemoryUsageDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerMemoryUsageDataPoint(ts pcommon.Timestamp, val int64)

RecordContainerMemoryUsageDataPoint adds a data point to container.memory.usage metric.

func (*MetricsBuilder) RecordContainerMemoryWorkingSetDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordContainerMemoryWorkingSetDataPoint(ts pcommon.Timestamp, val int64)

RecordContainerMemoryWorkingSetDataPoint adds a data point to container.memory.working_set metric.

func (*MetricsBuilder) RecordContainerUptimeDataPoint added in v0.84.0

func (mb *MetricsBuilder) RecordContainerUptimeDataPoint(ts pcommon.Timestamp, val int64)

RecordContainerUptimeDataPoint adds a data point to container.uptime metric.

func (*MetricsBuilder) RecordK8sContainerCPULimitUtilizationDataPoint added in v0.87.0

func (mb *MetricsBuilder) RecordK8sContainerCPULimitUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sContainerCPULimitUtilizationDataPoint adds a data point to k8s.container.cpu_limit_utilization metric.

func (*MetricsBuilder) RecordK8sContainerCPURequestUtilizationDataPoint added in v0.87.0

func (mb *MetricsBuilder) RecordK8sContainerCPURequestUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sContainerCPURequestUtilizationDataPoint adds a data point to k8s.container.cpu_request_utilization metric.

func (*MetricsBuilder) RecordK8sContainerMemoryLimitUtilizationDataPoint added in v0.87.0

func (mb *MetricsBuilder) RecordK8sContainerMemoryLimitUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sContainerMemoryLimitUtilizationDataPoint adds a data point to k8s.container.memory_limit_utilization metric.

func (*MetricsBuilder) RecordK8sContainerMemoryRequestUtilizationDataPoint added in v0.87.0

func (mb *MetricsBuilder) RecordK8sContainerMemoryRequestUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sContainerMemoryRequestUtilizationDataPoint adds a data point to k8s.container.memory_request_utilization metric.

func (*MetricsBuilder) RecordK8sNodeCPUTimeDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeCPUTimeDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sNodeCPUTimeDataPoint adds a data point to k8s.node.cpu.time metric.

func (*MetricsBuilder) RecordK8sNodeCPUUsageDataPoint added in v0.93.0

func (mb *MetricsBuilder) RecordK8sNodeCPUUsageDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sNodeCPUUsageDataPoint adds a data point to k8s.node.cpu.usage metric.

func (*MetricsBuilder) RecordK8sNodeCPUUtilizationDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeCPUUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sNodeCPUUtilizationDataPoint adds a data point to k8s.node.cpu.utilization metric.

func (*MetricsBuilder) RecordK8sNodeFilesystemAvailableDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeFilesystemAvailableDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sNodeFilesystemAvailableDataPoint adds a data point to k8s.node.filesystem.available metric.

func (*MetricsBuilder) RecordK8sNodeFilesystemCapacityDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeFilesystemCapacityDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sNodeFilesystemCapacityDataPoint adds a data point to k8s.node.filesystem.capacity metric.

func (*MetricsBuilder) RecordK8sNodeFilesystemUsageDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeFilesystemUsageDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sNodeFilesystemUsageDataPoint adds a data point to k8s.node.filesystem.usage metric.

func (*MetricsBuilder) RecordK8sNodeMemoryAvailableDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeMemoryAvailableDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sNodeMemoryAvailableDataPoint adds a data point to k8s.node.memory.available metric.

func (*MetricsBuilder) RecordK8sNodeMemoryMajorPageFaultsDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeMemoryMajorPageFaultsDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sNodeMemoryMajorPageFaultsDataPoint adds a data point to k8s.node.memory.major_page_faults metric.

func (*MetricsBuilder) RecordK8sNodeMemoryPageFaultsDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeMemoryPageFaultsDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sNodeMemoryPageFaultsDataPoint adds a data point to k8s.node.memory.page_faults metric.

func (*MetricsBuilder) RecordK8sNodeMemoryRssDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeMemoryRssDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sNodeMemoryRssDataPoint adds a data point to k8s.node.memory.rss metric.

func (*MetricsBuilder) RecordK8sNodeMemoryUsageDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeMemoryUsageDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sNodeMemoryUsageDataPoint adds a data point to k8s.node.memory.usage metric.

func (*MetricsBuilder) RecordK8sNodeMemoryWorkingSetDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeMemoryWorkingSetDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sNodeMemoryWorkingSetDataPoint adds a data point to k8s.node.memory.working_set metric.

func (*MetricsBuilder) RecordK8sNodeNetworkErrorsDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeNetworkErrorsDataPoint(ts pcommon.Timestamp, val int64, interfaceAttributeValue string, directionAttributeValue AttributeDirection)

RecordK8sNodeNetworkErrorsDataPoint adds a data point to k8s.node.network.errors metric.

func (*MetricsBuilder) RecordK8sNodeNetworkIoDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sNodeNetworkIoDataPoint(ts pcommon.Timestamp, val int64, interfaceAttributeValue string, directionAttributeValue AttributeDirection)

RecordK8sNodeNetworkIoDataPoint adds a data point to k8s.node.network.io metric.

func (*MetricsBuilder) RecordK8sNodeUptimeDataPoint added in v0.84.0

func (mb *MetricsBuilder) RecordK8sNodeUptimeDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sNodeUptimeDataPoint adds a data point to k8s.node.uptime metric.

func (*MetricsBuilder) RecordK8sPodCPULimitUtilizationDataPoint added in v0.87.0

func (mb *MetricsBuilder) RecordK8sPodCPULimitUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sPodCPULimitUtilizationDataPoint adds a data point to k8s.pod.cpu_limit_utilization metric.

func (*MetricsBuilder) RecordK8sPodCPURequestUtilizationDataPoint added in v0.87.0

func (mb *MetricsBuilder) RecordK8sPodCPURequestUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sPodCPURequestUtilizationDataPoint adds a data point to k8s.pod.cpu_request_utilization metric.

func (*MetricsBuilder) RecordK8sPodCPUTimeDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodCPUTimeDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sPodCPUTimeDataPoint adds a data point to k8s.pod.cpu.time metric.

func (*MetricsBuilder) RecordK8sPodCPUUsageDataPoint added in v0.93.0

func (mb *MetricsBuilder) RecordK8sPodCPUUsageDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sPodCPUUsageDataPoint adds a data point to k8s.pod.cpu.usage metric.

func (*MetricsBuilder) RecordK8sPodCPUUtilizationDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodCPUUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sPodCPUUtilizationDataPoint adds a data point to k8s.pod.cpu.utilization metric.

func (*MetricsBuilder) RecordK8sPodFilesystemAvailableDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodFilesystemAvailableDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sPodFilesystemAvailableDataPoint adds a data point to k8s.pod.filesystem.available metric.

func (*MetricsBuilder) RecordK8sPodFilesystemCapacityDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodFilesystemCapacityDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sPodFilesystemCapacityDataPoint adds a data point to k8s.pod.filesystem.capacity metric.

func (*MetricsBuilder) RecordK8sPodFilesystemUsageDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodFilesystemUsageDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sPodFilesystemUsageDataPoint adds a data point to k8s.pod.filesystem.usage metric.

func (*MetricsBuilder) RecordK8sPodMemoryAvailableDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodMemoryAvailableDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sPodMemoryAvailableDataPoint adds a data point to k8s.pod.memory.available metric.

func (*MetricsBuilder) RecordK8sPodMemoryLimitUtilizationDataPoint added in v0.87.0

func (mb *MetricsBuilder) RecordK8sPodMemoryLimitUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sPodMemoryLimitUtilizationDataPoint adds a data point to k8s.pod.memory_limit_utilization metric.

func (*MetricsBuilder) RecordK8sPodMemoryMajorPageFaultsDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodMemoryMajorPageFaultsDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sPodMemoryMajorPageFaultsDataPoint adds a data point to k8s.pod.memory.major_page_faults metric.

func (*MetricsBuilder) RecordK8sPodMemoryPageFaultsDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodMemoryPageFaultsDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sPodMemoryPageFaultsDataPoint adds a data point to k8s.pod.memory.page_faults metric.

func (*MetricsBuilder) RecordK8sPodMemoryRequestUtilizationDataPoint added in v0.87.0

func (mb *MetricsBuilder) RecordK8sPodMemoryRequestUtilizationDataPoint(ts pcommon.Timestamp, val float64)

RecordK8sPodMemoryRequestUtilizationDataPoint adds a data point to k8s.pod.memory_request_utilization metric.

func (*MetricsBuilder) RecordK8sPodMemoryRssDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodMemoryRssDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sPodMemoryRssDataPoint adds a data point to k8s.pod.memory.rss metric.

func (*MetricsBuilder) RecordK8sPodMemoryUsageDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodMemoryUsageDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sPodMemoryUsageDataPoint adds a data point to k8s.pod.memory.usage metric.

func (*MetricsBuilder) RecordK8sPodMemoryWorkingSetDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodMemoryWorkingSetDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sPodMemoryWorkingSetDataPoint adds a data point to k8s.pod.memory.working_set metric.

func (*MetricsBuilder) RecordK8sPodNetworkErrorsDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodNetworkErrorsDataPoint(ts pcommon.Timestamp, val int64, interfaceAttributeValue string, directionAttributeValue AttributeDirection)

RecordK8sPodNetworkErrorsDataPoint adds a data point to k8s.pod.network.errors metric.

func (*MetricsBuilder) RecordK8sPodNetworkIoDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sPodNetworkIoDataPoint(ts pcommon.Timestamp, val int64, interfaceAttributeValue string, directionAttributeValue AttributeDirection)

RecordK8sPodNetworkIoDataPoint adds a data point to k8s.pod.network.io metric.

func (*MetricsBuilder) RecordK8sPodUptimeDataPoint added in v0.84.0

func (mb *MetricsBuilder) RecordK8sPodUptimeDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sPodUptimeDataPoint adds a data point to k8s.pod.uptime metric.

func (*MetricsBuilder) RecordK8sVolumeAvailableDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sVolumeAvailableDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sVolumeAvailableDataPoint adds a data point to k8s.volume.available metric.

func (*MetricsBuilder) RecordK8sVolumeCapacityDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sVolumeCapacityDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sVolumeCapacityDataPoint adds a data point to k8s.volume.capacity metric.

func (*MetricsBuilder) RecordK8sVolumeInodesDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sVolumeInodesDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sVolumeInodesDataPoint adds a data point to k8s.volume.inodes metric.

func (*MetricsBuilder) RecordK8sVolumeInodesFreeDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sVolumeInodesFreeDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sVolumeInodesFreeDataPoint adds a data point to k8s.volume.inodes.free metric.

func (*MetricsBuilder) RecordK8sVolumeInodesUsedDataPoint added in v0.52.0

func (mb *MetricsBuilder) RecordK8sVolumeInodesUsedDataPoint(ts pcommon.Timestamp, val int64)

RecordK8sVolumeInodesUsedDataPoint adds a data point to k8s.volume.inodes.used metric.

func (*MetricsBuilder) Reset added in v0.52.0

func (mb *MetricsBuilder) Reset(options ...metricBuilderOption)

Reset resets metrics builder to its initial state. It should be used when external metrics source is restarted, and metrics builder should update its startTime and reset it's internal state accordingly.

type MetricsBuilderConfig added in v0.73.0

type MetricsBuilderConfig struct {
	Metrics            MetricsConfig            `mapstructure:"metrics"`
	ResourceAttributes ResourceAttributesConfig `mapstructure:"resource_attributes"`
}

MetricsBuilderConfig is a configuration for kubeletstats metrics builder.

func DefaultMetricsBuilderConfig added in v0.73.0

func DefaultMetricsBuilderConfig() MetricsBuilderConfig

type MetricsBuilders added in v0.52.0

type MetricsBuilders struct {
	NodeMetricsBuilder      *MetricsBuilder
	PodMetricsBuilder       *MetricsBuilder
	ContainerMetricsBuilder *MetricsBuilder
	OtherMetricsBuilder     *MetricsBuilder
}

type MetricsConfig added in v0.77.0

type MetricsConfig struct {
	ContainerCPUTime                     MetricConfig `mapstructure:"container.cpu.time"`
	ContainerCPUUsage                    MetricConfig `mapstructure:"container.cpu.usage"`
	ContainerCPUUtilization              MetricConfig `mapstructure:"container.cpu.utilization"`
	ContainerFilesystemAvailable         MetricConfig `mapstructure:"container.filesystem.available"`
	ContainerFilesystemCapacity          MetricConfig `mapstructure:"container.filesystem.capacity"`
	ContainerFilesystemUsage             MetricConfig `mapstructure:"container.filesystem.usage"`
	ContainerMemoryAvailable             MetricConfig `mapstructure:"container.memory.available"`
	ContainerMemoryMajorPageFaults       MetricConfig `mapstructure:"container.memory.major_page_faults"`
	ContainerMemoryPageFaults            MetricConfig `mapstructure:"container.memory.page_faults"`
	ContainerMemoryRss                   MetricConfig `mapstructure:"container.memory.rss"`
	ContainerMemoryUsage                 MetricConfig `mapstructure:"container.memory.usage"`
	ContainerMemoryWorkingSet            MetricConfig `mapstructure:"container.memory.working_set"`
	ContainerUptime                      MetricConfig `mapstructure:"container.uptime"`
	K8sContainerCPULimitUtilization      MetricConfig `mapstructure:"k8s.container.cpu_limit_utilization"`
	K8sContainerCPURequestUtilization    MetricConfig `mapstructure:"k8s.container.cpu_request_utilization"`
	K8sContainerMemoryLimitUtilization   MetricConfig `mapstructure:"k8s.container.memory_limit_utilization"`
	K8sContainerMemoryRequestUtilization MetricConfig `mapstructure:"k8s.container.memory_request_utilization"`
	K8sNodeCPUTime                       MetricConfig `mapstructure:"k8s.node.cpu.time"`
	K8sNodeCPUUsage                      MetricConfig `mapstructure:"k8s.node.cpu.usage"`
	K8sNodeCPUUtilization                MetricConfig `mapstructure:"k8s.node.cpu.utilization"`
	K8sNodeFilesystemAvailable           MetricConfig `mapstructure:"k8s.node.filesystem.available"`
	K8sNodeFilesystemCapacity            MetricConfig `mapstructure:"k8s.node.filesystem.capacity"`
	K8sNodeFilesystemUsage               MetricConfig `mapstructure:"k8s.node.filesystem.usage"`
	K8sNodeMemoryAvailable               MetricConfig `mapstructure:"k8s.node.memory.available"`
	K8sNodeMemoryMajorPageFaults         MetricConfig `mapstructure:"k8s.node.memory.major_page_faults"`
	K8sNodeMemoryPageFaults              MetricConfig `mapstructure:"k8s.node.memory.page_faults"`
	K8sNodeMemoryRss                     MetricConfig `mapstructure:"k8s.node.memory.rss"`
	K8sNodeMemoryUsage                   MetricConfig `mapstructure:"k8s.node.memory.usage"`
	K8sNodeMemoryWorkingSet              MetricConfig `mapstructure:"k8s.node.memory.working_set"`
	K8sNodeNetworkErrors                 MetricConfig `mapstructure:"k8s.node.network.errors"`
	K8sNodeNetworkIo                     MetricConfig `mapstructure:"k8s.node.network.io"`
	K8sNodeUptime                        MetricConfig `mapstructure:"k8s.node.uptime"`
	K8sPodCPUTime                        MetricConfig `mapstructure:"k8s.pod.cpu.time"`
	K8sPodCPUUsage                       MetricConfig `mapstructure:"k8s.pod.cpu.usage"`
	K8sPodCPUUtilization                 MetricConfig `mapstructure:"k8s.pod.cpu.utilization"`
	K8sPodCPULimitUtilization            MetricConfig `mapstructure:"k8s.pod.cpu_limit_utilization"`
	K8sPodCPURequestUtilization          MetricConfig `mapstructure:"k8s.pod.cpu_request_utilization"`
	K8sPodFilesystemAvailable            MetricConfig `mapstructure:"k8s.pod.filesystem.available"`
	K8sPodFilesystemCapacity             MetricConfig `mapstructure:"k8s.pod.filesystem.capacity"`
	K8sPodFilesystemUsage                MetricConfig `mapstructure:"k8s.pod.filesystem.usage"`
	K8sPodMemoryAvailable                MetricConfig `mapstructure:"k8s.pod.memory.available"`
	K8sPodMemoryMajorPageFaults          MetricConfig `mapstructure:"k8s.pod.memory.major_page_faults"`
	K8sPodMemoryPageFaults               MetricConfig `mapstructure:"k8s.pod.memory.page_faults"`
	K8sPodMemoryRss                      MetricConfig `mapstructure:"k8s.pod.memory.rss"`
	K8sPodMemoryUsage                    MetricConfig `mapstructure:"k8s.pod.memory.usage"`
	K8sPodMemoryWorkingSet               MetricConfig `mapstructure:"k8s.pod.memory.working_set"`
	K8sPodMemoryLimitUtilization         MetricConfig `mapstructure:"k8s.pod.memory_limit_utilization"`
	K8sPodMemoryRequestUtilization       MetricConfig `mapstructure:"k8s.pod.memory_request_utilization"`
	K8sPodNetworkErrors                  MetricConfig `mapstructure:"k8s.pod.network.errors"`
	K8sPodNetworkIo                      MetricConfig `mapstructure:"k8s.pod.network.io"`
	K8sPodUptime                         MetricConfig `mapstructure:"k8s.pod.uptime"`
	K8sVolumeAvailable                   MetricConfig `mapstructure:"k8s.volume.available"`
	K8sVolumeCapacity                    MetricConfig `mapstructure:"k8s.volume.capacity"`
	K8sVolumeInodes                      MetricConfig `mapstructure:"k8s.volume.inodes"`
	K8sVolumeInodesFree                  MetricConfig `mapstructure:"k8s.volume.inodes.free"`
	K8sVolumeInodesUsed                  MetricConfig `mapstructure:"k8s.volume.inodes.used"`
}

MetricsConfig provides config for kubeletstats metrics.

func DefaultMetricsConfig added in v0.77.0

func DefaultMetricsConfig() MetricsConfig

type NetworkMetrics added in v0.51.0

type RecordDoubleDataPointFunc added in v0.52.0

type RecordDoubleDataPointFunc func(*MetricsBuilder, pcommon.Timestamp, float64)

type RecordIntDataPointFunc added in v0.52.0

type RecordIntDataPointFunc func(*MetricsBuilder, pcommon.Timestamp, int64)

type RecordIntDataPointWithDirectionFunc added in v0.52.0

type RecordIntDataPointWithDirectionFunc func(*MetricsBuilder, pcommon.Timestamp, int64, string, AttributeDirection)

type ResourceAttributeConfig added in v0.77.0

type ResourceAttributeConfig struct {
	Enabled bool `mapstructure:"enabled"`
	// Experimental: MetricsInclude defines a list of filters for attribute values.
	// If the list is not empty, only metrics with matching resource attribute values will be emitted.
	MetricsInclude []filter.Config `mapstructure:"metrics_include"`
	// Experimental: MetricsExclude defines a list of filters for attribute values.
	// If the list is not empty, metrics with matching resource attribute values will not be emitted.
	// MetricsInclude has higher priority than MetricsExclude.
	MetricsExclude []filter.Config `mapstructure:"metrics_exclude"`
	// contains filtered or unexported fields
}

ResourceAttributeConfig provides common config for a particular resource attribute.

func (*ResourceAttributeConfig) Unmarshal added in v0.87.0

func (rac *ResourceAttributeConfig) Unmarshal(parser *confmap.Conf) error

type ResourceAttributesConfig added in v0.77.0

type ResourceAttributesConfig struct {
	AwsVolumeID                  ResourceAttributeConfig `mapstructure:"aws.volume.id"`
	ContainerID                  ResourceAttributeConfig `mapstructure:"container.id"`
	FsType                       ResourceAttributeConfig `mapstructure:"fs.type"`
	GcePdName                    ResourceAttributeConfig `mapstructure:"gce.pd.name"`
	GlusterfsEndpointsName       ResourceAttributeConfig `mapstructure:"glusterfs.endpoints.name"`
	GlusterfsPath                ResourceAttributeConfig `mapstructure:"glusterfs.path"`
	K8sContainerName             ResourceAttributeConfig `mapstructure:"k8s.container.name"`
	K8sNamespaceName             ResourceAttributeConfig `mapstructure:"k8s.namespace.name"`
	K8sNodeName                  ResourceAttributeConfig `mapstructure:"k8s.node.name"`
	K8sPersistentvolumeclaimName ResourceAttributeConfig `mapstructure:"k8s.persistentvolumeclaim.name"`
	K8sPodName                   ResourceAttributeConfig `mapstructure:"k8s.pod.name"`
	K8sPodUID                    ResourceAttributeConfig `mapstructure:"k8s.pod.uid"`
	K8sVolumeName                ResourceAttributeConfig `mapstructure:"k8s.volume.name"`
	K8sVolumeType                ResourceAttributeConfig `mapstructure:"k8s.volume.type"`
	Partition                    ResourceAttributeConfig `mapstructure:"partition"`
}

ResourceAttributesConfig provides config for kubeletstats resource attributes.

func DefaultResourceAttributesConfig added in v0.77.0

func DefaultResourceAttributesConfig() ResourceAttributesConfig

type ResourceBuilder added in v0.82.0

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

ResourceBuilder is a helper struct to build resources predefined in metadata.yaml. The ResourceBuilder is not thread-safe and must not to be used in multiple goroutines.

func NewResourceBuilder added in v0.82.0

func NewResourceBuilder(rac ResourceAttributesConfig) *ResourceBuilder

NewResourceBuilder creates a new ResourceBuilder. This method should be called on the start of the application.

func (*ResourceBuilder) Emit added in v0.82.0

func (rb *ResourceBuilder) Emit() pcommon.Resource

Emit returns the built resource and resets the internal builder state.

func (*ResourceBuilder) SetAwsVolumeID added in v0.82.0

func (rb *ResourceBuilder) SetAwsVolumeID(val string)

SetAwsVolumeID sets provided value as "aws.volume.id" attribute.

func (*ResourceBuilder) SetContainerID added in v0.82.0

func (rb *ResourceBuilder) SetContainerID(val string)

SetContainerID sets provided value as "container.id" attribute.

func (*ResourceBuilder) SetFsType added in v0.82.0

func (rb *ResourceBuilder) SetFsType(val string)

SetFsType sets provided value as "fs.type" attribute.

func (*ResourceBuilder) SetGcePdName added in v0.82.0

func (rb *ResourceBuilder) SetGcePdName(val string)

SetGcePdName sets provided value as "gce.pd.name" attribute.

func (*ResourceBuilder) SetGlusterfsEndpointsName added in v0.82.0

func (rb *ResourceBuilder) SetGlusterfsEndpointsName(val string)

SetGlusterfsEndpointsName sets provided value as "glusterfs.endpoints.name" attribute.

func (*ResourceBuilder) SetGlusterfsPath added in v0.82.0

func (rb *ResourceBuilder) SetGlusterfsPath(val string)

SetGlusterfsPath sets provided value as "glusterfs.path" attribute.

func (*ResourceBuilder) SetK8sContainerName added in v0.82.0

func (rb *ResourceBuilder) SetK8sContainerName(val string)

SetK8sContainerName sets provided value as "k8s.container.name" attribute.

func (*ResourceBuilder) SetK8sNamespaceName added in v0.82.0

func (rb *ResourceBuilder) SetK8sNamespaceName(val string)

SetK8sNamespaceName sets provided value as "k8s.namespace.name" attribute.

func (*ResourceBuilder) SetK8sNodeName added in v0.82.0

func (rb *ResourceBuilder) SetK8sNodeName(val string)

SetK8sNodeName sets provided value as "k8s.node.name" attribute.

func (*ResourceBuilder) SetK8sPersistentvolumeclaimName added in v0.82.0

func (rb *ResourceBuilder) SetK8sPersistentvolumeclaimName(val string)

SetK8sPersistentvolumeclaimName sets provided value as "k8s.persistentvolumeclaim.name" attribute.

func (*ResourceBuilder) SetK8sPodName added in v0.82.0

func (rb *ResourceBuilder) SetK8sPodName(val string)

SetK8sPodName sets provided value as "k8s.pod.name" attribute.

func (*ResourceBuilder) SetK8sPodUID added in v0.82.0

func (rb *ResourceBuilder) SetK8sPodUID(val string)

SetK8sPodUID sets provided value as "k8s.pod.uid" attribute.

func (*ResourceBuilder) SetK8sVolumeName added in v0.82.0

func (rb *ResourceBuilder) SetK8sVolumeName(val string)

SetK8sVolumeName sets provided value as "k8s.volume.name" attribute.

func (*ResourceBuilder) SetK8sVolumeType added in v0.82.0

func (rb *ResourceBuilder) SetK8sVolumeType(val string)

SetK8sVolumeType sets provided value as "k8s.volume.type" attribute.

func (*ResourceBuilder) SetPartition added in v0.82.0

func (rb *ResourceBuilder) SetPartition(val string)

SetPartition sets provided value as "partition" attribute.

type ResourceMetricsOption added in v0.52.0

type ResourceMetricsOption func(pmetric.ResourceMetrics)

ResourceMetricsOption applies changes to provided resource metrics.

func WithResource added in v0.82.0

func WithResource(res pcommon.Resource) ResourceMetricsOption

WithResource sets the provided resource on the emitted ResourceMetrics. It's recommended to use ResourceBuilder to create the resource.

func WithStartTimeOverride added in v0.52.0

func WithStartTimeOverride(start pcommon.Timestamp) ResourceMetricsOption

WithStartTimeOverride overrides start time for all the resource metrics data points. This option should be only used if different start time has to be set on metrics coming from different resources.

type UptimeMetrics added in v0.84.0

type UptimeMetrics struct {
	Uptime RecordIntDataPointFunc
}

type VolumeMetrics added in v0.51.0

type VolumeMetrics struct {
	Available  RecordIntDataPointFunc
	Capacity   RecordIntDataPointFunc
	Inodes     RecordIntDataPointFunc
	InodesFree RecordIntDataPointFunc
	InodesUsed RecordIntDataPointFunc
}

Jump to

Keyboard shortcuts

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