exporter

package
v0.0.0-...-3cab0da Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Getattr = iota
	Readlink
	Open
	Release
	Read
	Statfs
	Getxattr
	Listxattr
	Opendir
	Lookup
	Readdir
	Readdirplus
	Access
	Forget
	BatchForget

	MaxFops
)

Variables

View Source
var (
	// Counters
	ReadCount = ttl.NewGaugeVecWithTTL(
		prometheus.GaugeOpts{
			Name: "nydusd_read_count",
			Help: "Total number read of a nydus fs, in Byte.",
		},
		[]string{imageRefLabel},
		defaultTTL,
	)

	OpenFdCount = ttl.NewGaugeVecWithTTL(
		prometheus.GaugeOpts{
			Name: "nydusd_open_fd_count",
			Help: "Number of current open files.",
		},
		[]string{imageRefLabel},
		defaultTTL,
	)

	OpenFdMaxCount = ttl.NewGaugeVecWithTTL(
		prometheus.GaugeOpts{
			Name: "nydusd_open_fd_max_count",
			Help: "Number of max open files.",
		},
		[]string{imageRefLabel},
		defaultTTL,
	)

	LastFopTimestamp = ttl.NewGaugeVecWithTTL(
		prometheus.GaugeOpts{
			Name: "nydusd_last_fop_timestamp",
			Help: "Timestamp of last file operation.",
		},
		[]string{imageRefLabel},
		defaultTTL,
	)
)
View Source
var FsMetricHists = []*FsMetricHistogram{
	{
		Desc: prometheus.NewDesc(
			"nydusd_block_count_read_hist",
			"Read size histogram, in 1KB, 4KB, 16KB, 64KB, 128KB, 512K, 1024K.",
			[]string{imageRefLabel},
			prometheus.Labels{},
		),
		Buckets: []uint64{1, 4, 16, 64, 128, 512, 1024, 2048},
		GetCounters: func(m *model.FsMetric) []uint64 {
			return m.BlockCountRead
		},
	},

	{
		Desc: prometheus.NewDesc(
			"nydusd_fop_hit_hist",
			"File operations histogram",
			[]string{imageRefLabel},
			prometheus.Labels{},
		),
		Buckets: MakeFopBuckets(),
		GetCounters: func(m *model.FsMetric) []uint64 {
			return m.FopHits
		},
	},

	{
		Desc: prometheus.NewDesc(
			"nydusd_fop_errors_hist",
			"File operations' error histogram",
			[]string{imageRefLabel},
			prometheus.Labels{},
		),
		Buckets: MakeFopBuckets(),
		GetCounters: func(m *model.FsMetric) []uint64 {
			return m.FopErrors
		},
	},

	{
		Desc: prometheus.NewDesc(
			"nydusd_read_latency_hist",
			"Read latency histogram, in microseconds",
			[]string{imageRefLabel},
			prometheus.Labels{},
		),
		Buckets: []uint64{1, 20, 50, 100, 500, 1000, 2000, 4000},
		GetCounters: func(m *model.FsMetric) []uint64 {
			return m.ReadLatencyDist
		},
	},
}

Fs metric histograms

View Source
var (
	Registry = prometheus.NewRegistry()
)

Functions

func GetMaxFops

func GetMaxFops() uint

func MakeFopBuckets

func MakeFopBuckets() []uint64

Types

type Exporter

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

func NewExporter

func NewExporter(opts ...Opt) (*Exporter, error)

func (*Exporter) ExportFsMetrics

func (e *Exporter) ExportFsMetrics(m *model.FsMetric, imageRef string) error

type Fop

type Fop int

type FsMetricHistogram

type FsMetricHistogram struct {
	Desc        *prometheus.Desc
	Buckets     []uint64
	GetCounters GetCountersFn
	// contains filtered or unexported fields
}

func (*FsMetricHistogram) Collect

func (h *FsMetricHistogram) Collect(ch chan<- prometheus.Metric)

func (*FsMetricHistogram) Describe

func (h *FsMetricHistogram) Describe(ch chan<- *prometheus.Desc)

Implement prometheus.Collector interface

func (*FsMetricHistogram) Save

func (h *FsMetricHistogram) Save(m prometheus.Metric)

func (*FsMetricHistogram) ToConstHistogram

func (h *FsMetricHistogram) ToConstHistogram(m *model.FsMetric, imageRef string) (prometheus.Metric, error)

type GetCountersFn

type GetCountersFn func(*model.FsMetric) []uint64

type Opt

type Opt func(*Exporter) error

func WithOutputFile

func WithOutputFile(metricsFile string) Opt

Jump to

Keyboard shortcuts

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