package data

import "github.com/containerd/nydus-snapshotter/pkg/metrics/data"

Index

Variables

var (
	NydusdEventCount = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Name: "nydusd_lifetime_event_counts",
			Help: "The lifetime events of nydus daemon.",
		},
		[]string{nydusdEventLabel},
	)
	NydusdCount = prometheus.NewGaugeVec(
		prometheus.GaugeOpts{
			Name: "nydusd_counts",
			Help: "The counts of nydus daemon.",
		},
		[]string{nydusdVersionLabel},
	)
	NydusdRSS = ttl.NewGaugeVecWithTTL(
		prometheus.GaugeOpts{
			Name: "nydusd_rss_kilobytes",
			Help: "Memory usage (RSS) of nydus daemon.",
		},
		[]string{daemonIDLabel},
		ttl.DefaultTTL,
	)
)
var (
	FsTotalRead = ttl.NewGaugeVecWithTTL(
		prometheus.GaugeOpts{
			Name: "nydusd_total_read_bytes",
			Help: "Total bytes read against the nydus filesystem",
		},
		[]string{imageRefLabel},
		ttl.DefaultTTL,
	)

	FsReadHit = ttl.NewGaugeVecWithTTL(
		prometheus.GaugeOpts{
			Name: "nydusd_read_hits",
			Help: "Total number of successful read operations.",
		},
		[]string{imageRefLabel},
		ttl.DefaultTTL,
	)
	FsReadError = ttl.NewGaugeVecWithTTL(
		prometheus.GaugeOpts{
			Name: "nydusd_read_errors",
			Help: "Total number of failed read operations.",
		},
		[]string{imageRefLabel},
		ttl.DefaultTTL,
	)
	TotalHungIO = prometheus.NewGauge(
		prometheus.GaugeOpts{
			Name: "nydusd_hung_io_counts",
			Help: "Total number of hung IOs.",
		},
	)
)
var (
	SnapshotEventElapsedHists = prometheus.NewHistogramVec(
		prometheus.HistogramOpts{
			Name:    "snapshotter_snapshot_operation_elapsed_milliseconds",
			Help:    "The elapsed time for snapshot events.",
			Buckets: defaultDurationBuckets,
		},
		[]string{snapshotEventLabel},
	)

	CacheUsage = prometheus.NewGauge(
		prometheus.GaugeOpts{
			Name: "snapshotter_cache_usage_kilobytes",
			Help: "Disk usage of snapshotter local cache.",
		},
	)

	CPUUsage = prometheus.NewGauge(
		prometheus.GaugeOpts{
			Name: "snapshotter_cpu_usage_percentage",
			Help: "CPU usage percentage of snapshotter.",
		},
	)

	MemoryUsage = prometheus.NewGauge(
		prometheus.GaugeOpts{
			Name: "snapshotter_memory_usage_kilobytes",
			Help: "Memory usage (RSS) of snapshotter.",
		},
	)

	CPUSystem = prometheus.NewGauge(
		prometheus.GaugeOpts{
			Name: "snapshotter_cpu_system_time_seconds",
			Help: "CPU time of snapshotter in system.",
		},
	)

	CPUUser = prometheus.NewGauge(
		prometheus.GaugeOpts{
			Name: "snapshotter_cpu_user_time_seconds",
			Help: "CPU time of snapshotter in user.",
		},
	)

	Fds = prometheus.NewGauge(
		prometheus.GaugeOpts{
			Name: "snapshotter_fd_counts",
			Help: "Fd counts of snapshotter.",
		},
	)

	RunTime = prometheus.NewGauge(
		prometheus.GaugeOpts{
			Name: "snapshotter_run_time_seconds",
			Help: "Running time of snapshotter from starting.",
		},
	)

	Thread = prometheus.NewGauge(
		prometheus.GaugeOpts{
			Name: "snapshotter_thread_counts",
			Help: "Thread counts of snapshotter.",
		},
	)
)
var MetricHists = []*mtypes.MetricHistogram{
	{
		Desc: prometheus.NewDesc(
			"nydusd_cumulative_read_block_bytes",
			"Cumulative read size histogram for different block size, in bytes.",
			[]string{imageRefLabel},
			prometheus.Labels{},
		),
		Buckets: []uint64{1, 4, 16, 64, 128, 512, 1024, 2048},
		GetCounters: func(m *types.FsMetrics) []uint64 {
			return m.BlockCountRead
		},
	},
	{
		Desc: prometheus.NewDesc(
			"nydusd_read_latency_microseconds",
			"Read latency histogram, in microseconds",
			[]string{imageRefLabel},
			prometheus.Labels{},
		),
		Buckets: []uint64{1, 20, 50, 100, 500, 1000, 2000, 4000},
		GetCounters: func(m *types.FsMetrics) []uint64 {
			return m.ReadLatencyDist
		},
	},
}

Fs metric histograms

Source Files

daemon.go fs.go snapshotter.go

Version
v0.15.1 (latest)
Published
Jan 26, 2025
Platform
linux/amd64
Imports
4 packages
Last checked
3 days ago

Tools for package owners.