mirror of
https://github.com/prometheus/node_exporter
synced 2024-12-29 09:32:10 +00:00
Merge pull request #432 from joehandzik/wip-zfs-zfetchstats
Update ZFS Collector with most non-zpool metrics
This commit is contained in:
commit
71362d45eb
@ -39,7 +39,7 @@ textfile | Exposes statistics read from local disk. The `--collector.textfile.di
|
||||
time | Exposes the current system time. | _any_
|
||||
uname | Exposes system information as provided by the uname system call. | Linux
|
||||
vmstat | Exposes statistics from `/proc/vmstat`. | Linux
|
||||
zfs | Exposes [ZFS](http://open-zfs.org/) performance statistics.<br/> Linux (ARC) | [Linux](http://zfsonlinux.org/)
|
||||
zfs | Exposes [ZFS](http://open-zfs.org/) performance statistics. | [Linux](http://zfsonlinux.org/)
|
||||
|
||||
### Disabled by default
|
||||
|
||||
|
@ -2077,279 +2077,423 @@ node_wifi_station_transmit_failed_total{device="wlan0"} 2
|
||||
# HELP node_wifi_station_transmit_retries_total The total number of times a station has had to retry while sending a packet.
|
||||
# TYPE node_wifi_station_transmit_retries_total counter
|
||||
node_wifi_station_transmit_retries_total{device="wlan0"} 10
|
||||
# HELP node_zfsArc_anon_evictable_data kstat.zfs.misc.arcstats.anon_evictable_data
|
||||
# TYPE node_zfsArc_anon_evictable_data untyped
|
||||
node_zfsArc_anon_evictable_data 0
|
||||
# HELP node_zfsArc_anon_evictable_metadata kstat.zfs.misc.arcstats.anon_evictable_metadata
|
||||
# TYPE node_zfsArc_anon_evictable_metadata untyped
|
||||
node_zfsArc_anon_evictable_metadata 0
|
||||
# HELP node_zfsArc_anon_size kstat.zfs.misc.arcstats.anon_size
|
||||
# TYPE node_zfsArc_anon_size untyped
|
||||
node_zfsArc_anon_size 1.91744e+06
|
||||
# HELP node_zfsArc_arc_loaned_bytes kstat.zfs.misc.arcstats.arc_loaned_bytes
|
||||
# TYPE node_zfsArc_arc_loaned_bytes untyped
|
||||
node_zfsArc_arc_loaned_bytes 0
|
||||
# HELP node_zfsArc_arc_meta_limit kstat.zfs.misc.arcstats.arc_meta_limit
|
||||
# TYPE node_zfsArc_arc_meta_limit untyped
|
||||
node_zfsArc_arc_meta_limit 6.275982336e+09
|
||||
# HELP node_zfsArc_arc_meta_max kstat.zfs.misc.arcstats.arc_meta_max
|
||||
# TYPE node_zfsArc_arc_meta_max untyped
|
||||
node_zfsArc_arc_meta_max 4.49286096e+08
|
||||
# HELP node_zfsArc_arc_meta_min kstat.zfs.misc.arcstats.arc_meta_min
|
||||
# TYPE node_zfsArc_arc_meta_min untyped
|
||||
node_zfsArc_arc_meta_min 1.6777216e+07
|
||||
# HELP node_zfsArc_arc_meta_used kstat.zfs.misc.arcstats.arc_meta_used
|
||||
# TYPE node_zfsArc_arc_meta_used untyped
|
||||
node_zfsArc_arc_meta_used 3.08103632e+08
|
||||
# HELP node_zfsArc_arc_need_free kstat.zfs.misc.arcstats.arc_need_free
|
||||
# TYPE node_zfsArc_arc_need_free untyped
|
||||
node_zfsArc_arc_need_free 0
|
||||
# HELP node_zfsArc_arc_no_grow kstat.zfs.misc.arcstats.arc_no_grow
|
||||
# TYPE node_zfsArc_arc_no_grow untyped
|
||||
node_zfsArc_arc_no_grow 0
|
||||
# HELP node_zfsArc_arc_prune kstat.zfs.misc.arcstats.arc_prune
|
||||
# TYPE node_zfsArc_arc_prune untyped
|
||||
node_zfsArc_arc_prune 0
|
||||
# HELP node_zfsArc_arc_sys_free kstat.zfs.misc.arcstats.arc_sys_free
|
||||
# TYPE node_zfsArc_arc_sys_free untyped
|
||||
node_zfsArc_arc_sys_free 2.61496832e+08
|
||||
# HELP node_zfsArc_arc_tempreserve kstat.zfs.misc.arcstats.arc_tempreserve
|
||||
# TYPE node_zfsArc_arc_tempreserve untyped
|
||||
node_zfsArc_arc_tempreserve 0
|
||||
# HELP node_zfsArc_c kstat.zfs.misc.arcstats.c
|
||||
# TYPE node_zfsArc_c untyped
|
||||
node_zfsArc_c 1.643208777e+09
|
||||
# HELP node_zfsArc_c_max kstat.zfs.misc.arcstats.c_max
|
||||
# TYPE node_zfsArc_c_max untyped
|
||||
node_zfsArc_c_max 8.367976448e+09
|
||||
# HELP node_zfsArc_c_min kstat.zfs.misc.arcstats.c_min
|
||||
# TYPE node_zfsArc_c_min untyped
|
||||
node_zfsArc_c_min 3.3554432e+07
|
||||
# HELP node_zfsArc_data_size kstat.zfs.misc.arcstats.data_size
|
||||
# TYPE node_zfsArc_data_size untyped
|
||||
node_zfsArc_data_size 1.29583616e+09
|
||||
# HELP node_zfsArc_deleted kstat.zfs.misc.arcstats.deleted
|
||||
# TYPE node_zfsArc_deleted untyped
|
||||
node_zfsArc_deleted 60403
|
||||
# HELP node_zfsArc_demand_data_hits kstat.zfs.misc.arcstats.demand_data_hits
|
||||
# TYPE node_zfsArc_demand_data_hits untyped
|
||||
node_zfsArc_demand_data_hits 7.221032e+06
|
||||
# HELP node_zfsArc_demand_data_misses kstat.zfs.misc.arcstats.demand_data_misses
|
||||
# TYPE node_zfsArc_demand_data_misses untyped
|
||||
node_zfsArc_demand_data_misses 73300
|
||||
# HELP node_zfsArc_demand_metadata_hits kstat.zfs.misc.arcstats.demand_metadata_hits
|
||||
# TYPE node_zfsArc_demand_metadata_hits untyped
|
||||
node_zfsArc_demand_metadata_hits 1.464353e+06
|
||||
# HELP node_zfsArc_demand_metadata_misses kstat.zfs.misc.arcstats.demand_metadata_misses
|
||||
# TYPE node_zfsArc_demand_metadata_misses untyped
|
||||
node_zfsArc_demand_metadata_misses 498170
|
||||
# HELP node_zfsArc_duplicate_buffers kstat.zfs.misc.arcstats.duplicate_buffers
|
||||
# TYPE node_zfsArc_duplicate_buffers untyped
|
||||
node_zfsArc_duplicate_buffers 0
|
||||
# HELP node_zfsArc_duplicate_buffers_size kstat.zfs.misc.arcstats.duplicate_buffers_size
|
||||
# TYPE node_zfsArc_duplicate_buffers_size untyped
|
||||
node_zfsArc_duplicate_buffers_size 0
|
||||
# HELP node_zfsArc_duplicate_reads kstat.zfs.misc.arcstats.duplicate_reads
|
||||
# TYPE node_zfsArc_duplicate_reads untyped
|
||||
node_zfsArc_duplicate_reads 0
|
||||
# HELP node_zfsArc_evict_l2_cached kstat.zfs.misc.arcstats.evict_l2_cached
|
||||
# TYPE node_zfsArc_evict_l2_cached untyped
|
||||
node_zfsArc_evict_l2_cached 0
|
||||
# HELP node_zfsArc_evict_l2_eligible kstat.zfs.misc.arcstats.evict_l2_eligible
|
||||
# TYPE node_zfsArc_evict_l2_eligible untyped
|
||||
node_zfsArc_evict_l2_eligible 8.99251456e+09
|
||||
# HELP node_zfsArc_evict_l2_ineligible kstat.zfs.misc.arcstats.evict_l2_ineligible
|
||||
# TYPE node_zfsArc_evict_l2_ineligible untyped
|
||||
node_zfsArc_evict_l2_ineligible 9.92552448e+08
|
||||
# HELP node_zfsArc_evict_l2_skip kstat.zfs.misc.arcstats.evict_l2_skip
|
||||
# TYPE node_zfsArc_evict_l2_skip untyped
|
||||
node_zfsArc_evict_l2_skip 0
|
||||
# HELP node_zfsArc_evict_not_enough kstat.zfs.misc.arcstats.evict_not_enough
|
||||
# TYPE node_zfsArc_evict_not_enough untyped
|
||||
node_zfsArc_evict_not_enough 680
|
||||
# HELP node_zfsArc_evict_skip kstat.zfs.misc.arcstats.evict_skip
|
||||
# TYPE node_zfsArc_evict_skip untyped
|
||||
node_zfsArc_evict_skip 2.265729e+06
|
||||
# HELP node_zfsArc_hash_chain_max kstat.zfs.misc.arcstats.hash_chain_max
|
||||
# TYPE node_zfsArc_hash_chain_max untyped
|
||||
node_zfsArc_hash_chain_max 3
|
||||
# HELP node_zfsArc_hash_chains kstat.zfs.misc.arcstats.hash_chains
|
||||
# TYPE node_zfsArc_hash_chains untyped
|
||||
node_zfsArc_hash_chains 412
|
||||
# HELP node_zfsArc_hash_collisions kstat.zfs.misc.arcstats.hash_collisions
|
||||
# TYPE node_zfsArc_hash_collisions untyped
|
||||
node_zfsArc_hash_collisions 50564
|
||||
# HELP node_zfsArc_hash_elements kstat.zfs.misc.arcstats.hash_elements
|
||||
# TYPE node_zfsArc_hash_elements untyped
|
||||
node_zfsArc_hash_elements 42359
|
||||
# HELP node_zfsArc_hash_elements_max kstat.zfs.misc.arcstats.hash_elements_max
|
||||
# TYPE node_zfsArc_hash_elements_max untyped
|
||||
node_zfsArc_hash_elements_max 88245
|
||||
# HELP node_zfsArc_hdr_size kstat.zfs.misc.arcstats.hdr_size
|
||||
# TYPE node_zfsArc_hdr_size untyped
|
||||
node_zfsArc_hdr_size 1.636108e+07
|
||||
# HELP node_zfsArc_hits kstat.zfs.misc.arcstats.hits
|
||||
# TYPE node_zfsArc_hits untyped
|
||||
node_zfsArc_hits 8.772612e+06
|
||||
# HELP node_zfsArc_l2_abort_lowmem kstat.zfs.misc.arcstats.l2_abort_lowmem
|
||||
# TYPE node_zfsArc_l2_abort_lowmem untyped
|
||||
node_zfsArc_l2_abort_lowmem 0
|
||||
# HELP node_zfsArc_l2_asize kstat.zfs.misc.arcstats.l2_asize
|
||||
# TYPE node_zfsArc_l2_asize untyped
|
||||
node_zfsArc_l2_asize 0
|
||||
# HELP node_zfsArc_l2_cdata_free_on_write kstat.zfs.misc.arcstats.l2_cdata_free_on_write
|
||||
# TYPE node_zfsArc_l2_cdata_free_on_write untyped
|
||||
node_zfsArc_l2_cdata_free_on_write 0
|
||||
# HELP node_zfsArc_l2_cksum_bad kstat.zfs.misc.arcstats.l2_cksum_bad
|
||||
# TYPE node_zfsArc_l2_cksum_bad untyped
|
||||
node_zfsArc_l2_cksum_bad 0
|
||||
# HELP node_zfsArc_l2_compress_failures kstat.zfs.misc.arcstats.l2_compress_failures
|
||||
# TYPE node_zfsArc_l2_compress_failures untyped
|
||||
node_zfsArc_l2_compress_failures 0
|
||||
# HELP node_zfsArc_l2_compress_successes kstat.zfs.misc.arcstats.l2_compress_successes
|
||||
# TYPE node_zfsArc_l2_compress_successes untyped
|
||||
node_zfsArc_l2_compress_successes 0
|
||||
# HELP node_zfsArc_l2_compress_zeros kstat.zfs.misc.arcstats.l2_compress_zeros
|
||||
# TYPE node_zfsArc_l2_compress_zeros untyped
|
||||
node_zfsArc_l2_compress_zeros 0
|
||||
# HELP node_zfsArc_l2_evict_l1cached kstat.zfs.misc.arcstats.l2_evict_l1cached
|
||||
# TYPE node_zfsArc_l2_evict_l1cached untyped
|
||||
node_zfsArc_l2_evict_l1cached 0
|
||||
# HELP node_zfsArc_l2_evict_lock_retry kstat.zfs.misc.arcstats.l2_evict_lock_retry
|
||||
# TYPE node_zfsArc_l2_evict_lock_retry untyped
|
||||
node_zfsArc_l2_evict_lock_retry 0
|
||||
# HELP node_zfsArc_l2_evict_reading kstat.zfs.misc.arcstats.l2_evict_reading
|
||||
# TYPE node_zfsArc_l2_evict_reading untyped
|
||||
node_zfsArc_l2_evict_reading 0
|
||||
# HELP node_zfsArc_l2_feeds kstat.zfs.misc.arcstats.l2_feeds
|
||||
# TYPE node_zfsArc_l2_feeds untyped
|
||||
node_zfsArc_l2_feeds 0
|
||||
# HELP node_zfsArc_l2_free_on_write kstat.zfs.misc.arcstats.l2_free_on_write
|
||||
# TYPE node_zfsArc_l2_free_on_write untyped
|
||||
node_zfsArc_l2_free_on_write 0
|
||||
# HELP node_zfsArc_l2_hdr_size kstat.zfs.misc.arcstats.l2_hdr_size
|
||||
# TYPE node_zfsArc_l2_hdr_size untyped
|
||||
node_zfsArc_l2_hdr_size 0
|
||||
# HELP node_zfsArc_l2_hits kstat.zfs.misc.arcstats.l2_hits
|
||||
# TYPE node_zfsArc_l2_hits untyped
|
||||
node_zfsArc_l2_hits 0
|
||||
# HELP node_zfsArc_l2_io_error kstat.zfs.misc.arcstats.l2_io_error
|
||||
# TYPE node_zfsArc_l2_io_error untyped
|
||||
node_zfsArc_l2_io_error 0
|
||||
# HELP node_zfsArc_l2_misses kstat.zfs.misc.arcstats.l2_misses
|
||||
# TYPE node_zfsArc_l2_misses untyped
|
||||
node_zfsArc_l2_misses 0
|
||||
# HELP node_zfsArc_l2_read_bytes kstat.zfs.misc.arcstats.l2_read_bytes
|
||||
# TYPE node_zfsArc_l2_read_bytes untyped
|
||||
node_zfsArc_l2_read_bytes 0
|
||||
# HELP node_zfsArc_l2_rw_clash kstat.zfs.misc.arcstats.l2_rw_clash
|
||||
# TYPE node_zfsArc_l2_rw_clash untyped
|
||||
node_zfsArc_l2_rw_clash 0
|
||||
# HELP node_zfsArc_l2_size kstat.zfs.misc.arcstats.l2_size
|
||||
# TYPE node_zfsArc_l2_size untyped
|
||||
node_zfsArc_l2_size 0
|
||||
# HELP node_zfsArc_l2_write_bytes kstat.zfs.misc.arcstats.l2_write_bytes
|
||||
# TYPE node_zfsArc_l2_write_bytes untyped
|
||||
node_zfsArc_l2_write_bytes 0
|
||||
# HELP node_zfsArc_l2_writes_done kstat.zfs.misc.arcstats.l2_writes_done
|
||||
# TYPE node_zfsArc_l2_writes_done untyped
|
||||
node_zfsArc_l2_writes_done 0
|
||||
# HELP node_zfsArc_l2_writes_error kstat.zfs.misc.arcstats.l2_writes_error
|
||||
# TYPE node_zfsArc_l2_writes_error untyped
|
||||
node_zfsArc_l2_writes_error 0
|
||||
# HELP node_zfsArc_l2_writes_lock_retry kstat.zfs.misc.arcstats.l2_writes_lock_retry
|
||||
# TYPE node_zfsArc_l2_writes_lock_retry untyped
|
||||
node_zfsArc_l2_writes_lock_retry 0
|
||||
# HELP node_zfsArc_l2_writes_sent kstat.zfs.misc.arcstats.l2_writes_sent
|
||||
# TYPE node_zfsArc_l2_writes_sent untyped
|
||||
node_zfsArc_l2_writes_sent 0
|
||||
# HELP node_zfsArc_memory_direct_count kstat.zfs.misc.arcstats.memory_direct_count
|
||||
# TYPE node_zfsArc_memory_direct_count untyped
|
||||
node_zfsArc_memory_direct_count 542
|
||||
# HELP node_zfsArc_memory_indirect_count kstat.zfs.misc.arcstats.memory_indirect_count
|
||||
# TYPE node_zfsArc_memory_indirect_count untyped
|
||||
node_zfsArc_memory_indirect_count 3006
|
||||
# HELP node_zfsArc_memory_throttle_count kstat.zfs.misc.arcstats.memory_throttle_count
|
||||
# TYPE node_zfsArc_memory_throttle_count untyped
|
||||
node_zfsArc_memory_throttle_count 0
|
||||
# HELP node_zfsArc_metadata_size kstat.zfs.misc.arcstats.metadata_size
|
||||
# TYPE node_zfsArc_metadata_size untyped
|
||||
node_zfsArc_metadata_size 1.7529856e+08
|
||||
# HELP node_zfsArc_mfu_evictable_data kstat.zfs.misc.arcstats.mfu_evictable_data
|
||||
# TYPE node_zfsArc_mfu_evictable_data untyped
|
||||
node_zfsArc_mfu_evictable_data 1.017613824e+09
|
||||
# HELP node_zfsArc_mfu_evictable_metadata kstat.zfs.misc.arcstats.mfu_evictable_metadata
|
||||
# TYPE node_zfsArc_mfu_evictable_metadata untyped
|
||||
node_zfsArc_mfu_evictable_metadata 9.163776e+06
|
||||
# HELP node_zfsArc_mfu_ghost_evictable_data kstat.zfs.misc.arcstats.mfu_ghost_evictable_data
|
||||
# TYPE node_zfsArc_mfu_ghost_evictable_data untyped
|
||||
node_zfsArc_mfu_ghost_evictable_data 9.6731136e+07
|
||||
# HELP node_zfsArc_mfu_ghost_evictable_metadata kstat.zfs.misc.arcstats.mfu_ghost_evictable_metadata
|
||||
# TYPE node_zfsArc_mfu_ghost_evictable_metadata untyped
|
||||
node_zfsArc_mfu_ghost_evictable_metadata 8.205312e+06
|
||||
# HELP node_zfsArc_mfu_ghost_hits kstat.zfs.misc.arcstats.mfu_ghost_hits
|
||||
# TYPE node_zfsArc_mfu_ghost_hits untyped
|
||||
node_zfsArc_mfu_ghost_hits 821
|
||||
# HELP node_zfsArc_mfu_ghost_size kstat.zfs.misc.arcstats.mfu_ghost_size
|
||||
# TYPE node_zfsArc_mfu_ghost_size untyped
|
||||
node_zfsArc_mfu_ghost_size 1.04936448e+08
|
||||
# HELP node_zfsArc_mfu_hits kstat.zfs.misc.arcstats.mfu_hits
|
||||
# TYPE node_zfsArc_mfu_hits untyped
|
||||
node_zfsArc_mfu_hits 7.829854e+06
|
||||
# HELP node_zfsArc_mfu_size kstat.zfs.misc.arcstats.mfu_size
|
||||
# TYPE node_zfsArc_mfu_size untyped
|
||||
node_zfsArc_mfu_size 1.066623488e+09
|
||||
# HELP node_zfsArc_misses kstat.zfs.misc.arcstats.misses
|
||||
# TYPE node_zfsArc_misses untyped
|
||||
node_zfsArc_misses 604635
|
||||
# HELP node_zfsArc_mru_evictable_data kstat.zfs.misc.arcstats.mru_evictable_data
|
||||
# TYPE node_zfsArc_mru_evictable_data untyped
|
||||
node_zfsArc_mru_evictable_data 2.78091264e+08
|
||||
# HELP node_zfsArc_mru_evictable_metadata kstat.zfs.misc.arcstats.mru_evictable_metadata
|
||||
# TYPE node_zfsArc_mru_evictable_metadata untyped
|
||||
node_zfsArc_mru_evictable_metadata 1.8606592e+07
|
||||
# HELP node_zfsArc_mru_ghost_evictable_data kstat.zfs.misc.arcstats.mru_ghost_evictable_data
|
||||
# TYPE node_zfsArc_mru_ghost_evictable_data untyped
|
||||
node_zfsArc_mru_ghost_evictable_data 8.83765248e+08
|
||||
# HELP node_zfsArc_mru_ghost_evictable_metadata kstat.zfs.misc.arcstats.mru_ghost_evictable_metadata
|
||||
# TYPE node_zfsArc_mru_ghost_evictable_metadata untyped
|
||||
node_zfsArc_mru_ghost_evictable_metadata 1.1596288e+08
|
||||
# HELP node_zfsArc_mru_ghost_hits kstat.zfs.misc.arcstats.mru_ghost_hits
|
||||
# TYPE node_zfsArc_mru_ghost_hits untyped
|
||||
node_zfsArc_mru_ghost_hits 21100
|
||||
# HELP node_zfsArc_mru_ghost_size kstat.zfs.misc.arcstats.mru_ghost_size
|
||||
# TYPE node_zfsArc_mru_ghost_size untyped
|
||||
node_zfsArc_mru_ghost_size 9.99728128e+08
|
||||
# HELP node_zfsArc_mru_hits kstat.zfs.misc.arcstats.mru_hits
|
||||
# TYPE node_zfsArc_mru_hits untyped
|
||||
node_zfsArc_mru_hits 855535
|
||||
# HELP node_zfsArc_mru_size kstat.zfs.misc.arcstats.mru_size
|
||||
# TYPE node_zfsArc_mru_size untyped
|
||||
node_zfsArc_mru_size 4.02593792e+08
|
||||
# HELP node_zfsArc_mutex_miss kstat.zfs.misc.arcstats.mutex_miss
|
||||
# TYPE node_zfsArc_mutex_miss untyped
|
||||
node_zfsArc_mutex_miss 2
|
||||
# HELP node_zfsArc_other_size kstat.zfs.misc.arcstats.other_size
|
||||
# TYPE node_zfsArc_other_size untyped
|
||||
node_zfsArc_other_size 1.16443992e+08
|
||||
# HELP node_zfsArc_p kstat.zfs.misc.arcstats.p
|
||||
# TYPE node_zfsArc_p untyped
|
||||
node_zfsArc_p 5.16395305e+08
|
||||
# HELP node_zfsArc_prefetch_data_hits kstat.zfs.misc.arcstats.prefetch_data_hits
|
||||
# TYPE node_zfsArc_prefetch_data_hits untyped
|
||||
node_zfsArc_prefetch_data_hits 3615
|
||||
# HELP node_zfsArc_prefetch_data_misses kstat.zfs.misc.arcstats.prefetch_data_misses
|
||||
# TYPE node_zfsArc_prefetch_data_misses untyped
|
||||
node_zfsArc_prefetch_data_misses 17094
|
||||
# HELP node_zfsArc_prefetch_metadata_hits kstat.zfs.misc.arcstats.prefetch_metadata_hits
|
||||
# TYPE node_zfsArc_prefetch_metadata_hits untyped
|
||||
node_zfsArc_prefetch_metadata_hits 83612
|
||||
# HELP node_zfsArc_prefetch_metadata_misses kstat.zfs.misc.arcstats.prefetch_metadata_misses
|
||||
# TYPE node_zfsArc_prefetch_metadata_misses untyped
|
||||
node_zfsArc_prefetch_metadata_misses 16071
|
||||
# HELP node_zfsArc_size kstat.zfs.misc.arcstats.size
|
||||
# TYPE node_zfsArc_size untyped
|
||||
node_zfsArc_size 1.603939792e+09
|
||||
# HELP node_zfs_arc_anon_evictable_data kstat.zfs.misc.arcstats.anon_evictable_data
|
||||
# TYPE node_zfs_arc_anon_evictable_data untyped
|
||||
node_zfs_arc_anon_evictable_data 0
|
||||
# HELP node_zfs_arc_anon_evictable_metadata kstat.zfs.misc.arcstats.anon_evictable_metadata
|
||||
# TYPE node_zfs_arc_anon_evictable_metadata untyped
|
||||
node_zfs_arc_anon_evictable_metadata 0
|
||||
# HELP node_zfs_arc_anon_size kstat.zfs.misc.arcstats.anon_size
|
||||
# TYPE node_zfs_arc_anon_size untyped
|
||||
node_zfs_arc_anon_size 1.91744e+06
|
||||
# HELP node_zfs_arc_arc_loaned_bytes kstat.zfs.misc.arcstats.arc_loaned_bytes
|
||||
# TYPE node_zfs_arc_arc_loaned_bytes untyped
|
||||
node_zfs_arc_arc_loaned_bytes 0
|
||||
# HELP node_zfs_arc_arc_meta_limit kstat.zfs.misc.arcstats.arc_meta_limit
|
||||
# TYPE node_zfs_arc_arc_meta_limit untyped
|
||||
node_zfs_arc_arc_meta_limit 6.275982336e+09
|
||||
# HELP node_zfs_arc_arc_meta_max kstat.zfs.misc.arcstats.arc_meta_max
|
||||
# TYPE node_zfs_arc_arc_meta_max untyped
|
||||
node_zfs_arc_arc_meta_max 4.49286096e+08
|
||||
# HELP node_zfs_arc_arc_meta_min kstat.zfs.misc.arcstats.arc_meta_min
|
||||
# TYPE node_zfs_arc_arc_meta_min untyped
|
||||
node_zfs_arc_arc_meta_min 1.6777216e+07
|
||||
# HELP node_zfs_arc_arc_meta_used kstat.zfs.misc.arcstats.arc_meta_used
|
||||
# TYPE node_zfs_arc_arc_meta_used untyped
|
||||
node_zfs_arc_arc_meta_used 3.08103632e+08
|
||||
# HELP node_zfs_arc_arc_need_free kstat.zfs.misc.arcstats.arc_need_free
|
||||
# TYPE node_zfs_arc_arc_need_free untyped
|
||||
node_zfs_arc_arc_need_free 0
|
||||
# HELP node_zfs_arc_arc_no_grow kstat.zfs.misc.arcstats.arc_no_grow
|
||||
# TYPE node_zfs_arc_arc_no_grow untyped
|
||||
node_zfs_arc_arc_no_grow 0
|
||||
# HELP node_zfs_arc_arc_prune kstat.zfs.misc.arcstats.arc_prune
|
||||
# TYPE node_zfs_arc_arc_prune untyped
|
||||
node_zfs_arc_arc_prune 0
|
||||
# HELP node_zfs_arc_arc_sys_free kstat.zfs.misc.arcstats.arc_sys_free
|
||||
# TYPE node_zfs_arc_arc_sys_free untyped
|
||||
node_zfs_arc_arc_sys_free 2.61496832e+08
|
||||
# HELP node_zfs_arc_arc_tempreserve kstat.zfs.misc.arcstats.arc_tempreserve
|
||||
# TYPE node_zfs_arc_arc_tempreserve untyped
|
||||
node_zfs_arc_arc_tempreserve 0
|
||||
# HELP node_zfs_arc_c kstat.zfs.misc.arcstats.c
|
||||
# TYPE node_zfs_arc_c untyped
|
||||
node_zfs_arc_c 1.643208777e+09
|
||||
# HELP node_zfs_arc_c_max kstat.zfs.misc.arcstats.c_max
|
||||
# TYPE node_zfs_arc_c_max untyped
|
||||
node_zfs_arc_c_max 8.367976448e+09
|
||||
# HELP node_zfs_arc_c_min kstat.zfs.misc.arcstats.c_min
|
||||
# TYPE node_zfs_arc_c_min untyped
|
||||
node_zfs_arc_c_min 3.3554432e+07
|
||||
# HELP node_zfs_arc_data_size kstat.zfs.misc.arcstats.data_size
|
||||
# TYPE node_zfs_arc_data_size untyped
|
||||
node_zfs_arc_data_size 1.29583616e+09
|
||||
# HELP node_zfs_arc_deleted kstat.zfs.misc.arcstats.deleted
|
||||
# TYPE node_zfs_arc_deleted untyped
|
||||
node_zfs_arc_deleted 60403
|
||||
# HELP node_zfs_arc_demand_data_hits kstat.zfs.misc.arcstats.demand_data_hits
|
||||
# TYPE node_zfs_arc_demand_data_hits untyped
|
||||
node_zfs_arc_demand_data_hits 7.221032e+06
|
||||
# HELP node_zfs_arc_demand_data_misses kstat.zfs.misc.arcstats.demand_data_misses
|
||||
# TYPE node_zfs_arc_demand_data_misses untyped
|
||||
node_zfs_arc_demand_data_misses 73300
|
||||
# HELP node_zfs_arc_demand_metadata_hits kstat.zfs.misc.arcstats.demand_metadata_hits
|
||||
# TYPE node_zfs_arc_demand_metadata_hits untyped
|
||||
node_zfs_arc_demand_metadata_hits 1.464353e+06
|
||||
# HELP node_zfs_arc_demand_metadata_misses kstat.zfs.misc.arcstats.demand_metadata_misses
|
||||
# TYPE node_zfs_arc_demand_metadata_misses untyped
|
||||
node_zfs_arc_demand_metadata_misses 498170
|
||||
# HELP node_zfs_arc_duplicate_buffers kstat.zfs.misc.arcstats.duplicate_buffers
|
||||
# TYPE node_zfs_arc_duplicate_buffers untyped
|
||||
node_zfs_arc_duplicate_buffers 0
|
||||
# HELP node_zfs_arc_duplicate_buffers_size kstat.zfs.misc.arcstats.duplicate_buffers_size
|
||||
# TYPE node_zfs_arc_duplicate_buffers_size untyped
|
||||
node_zfs_arc_duplicate_buffers_size 0
|
||||
# HELP node_zfs_arc_duplicate_reads kstat.zfs.misc.arcstats.duplicate_reads
|
||||
# TYPE node_zfs_arc_duplicate_reads untyped
|
||||
node_zfs_arc_duplicate_reads 0
|
||||
# HELP node_zfs_arc_evict_l2_cached kstat.zfs.misc.arcstats.evict_l2_cached
|
||||
# TYPE node_zfs_arc_evict_l2_cached untyped
|
||||
node_zfs_arc_evict_l2_cached 0
|
||||
# HELP node_zfs_arc_evict_l2_eligible kstat.zfs.misc.arcstats.evict_l2_eligible
|
||||
# TYPE node_zfs_arc_evict_l2_eligible untyped
|
||||
node_zfs_arc_evict_l2_eligible 8.99251456e+09
|
||||
# HELP node_zfs_arc_evict_l2_ineligible kstat.zfs.misc.arcstats.evict_l2_ineligible
|
||||
# TYPE node_zfs_arc_evict_l2_ineligible untyped
|
||||
node_zfs_arc_evict_l2_ineligible 9.92552448e+08
|
||||
# HELP node_zfs_arc_evict_l2_skip kstat.zfs.misc.arcstats.evict_l2_skip
|
||||
# TYPE node_zfs_arc_evict_l2_skip untyped
|
||||
node_zfs_arc_evict_l2_skip 0
|
||||
# HELP node_zfs_arc_evict_not_enough kstat.zfs.misc.arcstats.evict_not_enough
|
||||
# TYPE node_zfs_arc_evict_not_enough untyped
|
||||
node_zfs_arc_evict_not_enough 680
|
||||
# HELP node_zfs_arc_evict_skip kstat.zfs.misc.arcstats.evict_skip
|
||||
# TYPE node_zfs_arc_evict_skip untyped
|
||||
node_zfs_arc_evict_skip 2.265729e+06
|
||||
# HELP node_zfs_arc_hash_chain_max kstat.zfs.misc.arcstats.hash_chain_max
|
||||
# TYPE node_zfs_arc_hash_chain_max untyped
|
||||
node_zfs_arc_hash_chain_max 3
|
||||
# HELP node_zfs_arc_hash_chains kstat.zfs.misc.arcstats.hash_chains
|
||||
# TYPE node_zfs_arc_hash_chains untyped
|
||||
node_zfs_arc_hash_chains 412
|
||||
# HELP node_zfs_arc_hash_collisions kstat.zfs.misc.arcstats.hash_collisions
|
||||
# TYPE node_zfs_arc_hash_collisions untyped
|
||||
node_zfs_arc_hash_collisions 50564
|
||||
# HELP node_zfs_arc_hash_elements kstat.zfs.misc.arcstats.hash_elements
|
||||
# TYPE node_zfs_arc_hash_elements untyped
|
||||
node_zfs_arc_hash_elements 42359
|
||||
# HELP node_zfs_arc_hash_elements_max kstat.zfs.misc.arcstats.hash_elements_max
|
||||
# TYPE node_zfs_arc_hash_elements_max untyped
|
||||
node_zfs_arc_hash_elements_max 88245
|
||||
# HELP node_zfs_arc_hdr_size kstat.zfs.misc.arcstats.hdr_size
|
||||
# TYPE node_zfs_arc_hdr_size untyped
|
||||
node_zfs_arc_hdr_size 1.636108e+07
|
||||
# HELP node_zfs_arc_hits kstat.zfs.misc.arcstats.hits
|
||||
# TYPE node_zfs_arc_hits untyped
|
||||
node_zfs_arc_hits 8.772612e+06
|
||||
# HELP node_zfs_arc_l2_abort_lowmem kstat.zfs.misc.arcstats.l2_abort_lowmem
|
||||
# TYPE node_zfs_arc_l2_abort_lowmem untyped
|
||||
node_zfs_arc_l2_abort_lowmem 0
|
||||
# HELP node_zfs_arc_l2_asize kstat.zfs.misc.arcstats.l2_asize
|
||||
# TYPE node_zfs_arc_l2_asize untyped
|
||||
node_zfs_arc_l2_asize 0
|
||||
# HELP node_zfs_arc_l2_cdata_free_on_write kstat.zfs.misc.arcstats.l2_cdata_free_on_write
|
||||
# TYPE node_zfs_arc_l2_cdata_free_on_write untyped
|
||||
node_zfs_arc_l2_cdata_free_on_write 0
|
||||
# HELP node_zfs_arc_l2_cksum_bad kstat.zfs.misc.arcstats.l2_cksum_bad
|
||||
# TYPE node_zfs_arc_l2_cksum_bad untyped
|
||||
node_zfs_arc_l2_cksum_bad 0
|
||||
# HELP node_zfs_arc_l2_compress_failures kstat.zfs.misc.arcstats.l2_compress_failures
|
||||
# TYPE node_zfs_arc_l2_compress_failures untyped
|
||||
node_zfs_arc_l2_compress_failures 0
|
||||
# HELP node_zfs_arc_l2_compress_successes kstat.zfs.misc.arcstats.l2_compress_successes
|
||||
# TYPE node_zfs_arc_l2_compress_successes untyped
|
||||
node_zfs_arc_l2_compress_successes 0
|
||||
# HELP node_zfs_arc_l2_compress_zeros kstat.zfs.misc.arcstats.l2_compress_zeros
|
||||
# TYPE node_zfs_arc_l2_compress_zeros untyped
|
||||
node_zfs_arc_l2_compress_zeros 0
|
||||
# HELP node_zfs_arc_l2_evict_l1cached kstat.zfs.misc.arcstats.l2_evict_l1cached
|
||||
# TYPE node_zfs_arc_l2_evict_l1cached untyped
|
||||
node_zfs_arc_l2_evict_l1cached 0
|
||||
# HELP node_zfs_arc_l2_evict_lock_retry kstat.zfs.misc.arcstats.l2_evict_lock_retry
|
||||
# TYPE node_zfs_arc_l2_evict_lock_retry untyped
|
||||
node_zfs_arc_l2_evict_lock_retry 0
|
||||
# HELP node_zfs_arc_l2_evict_reading kstat.zfs.misc.arcstats.l2_evict_reading
|
||||
# TYPE node_zfs_arc_l2_evict_reading untyped
|
||||
node_zfs_arc_l2_evict_reading 0
|
||||
# HELP node_zfs_arc_l2_feeds kstat.zfs.misc.arcstats.l2_feeds
|
||||
# TYPE node_zfs_arc_l2_feeds untyped
|
||||
node_zfs_arc_l2_feeds 0
|
||||
# HELP node_zfs_arc_l2_free_on_write kstat.zfs.misc.arcstats.l2_free_on_write
|
||||
# TYPE node_zfs_arc_l2_free_on_write untyped
|
||||
node_zfs_arc_l2_free_on_write 0
|
||||
# HELP node_zfs_arc_l2_hdr_size kstat.zfs.misc.arcstats.l2_hdr_size
|
||||
# TYPE node_zfs_arc_l2_hdr_size untyped
|
||||
node_zfs_arc_l2_hdr_size 0
|
||||
# HELP node_zfs_arc_l2_hits kstat.zfs.misc.arcstats.l2_hits
|
||||
# TYPE node_zfs_arc_l2_hits untyped
|
||||
node_zfs_arc_l2_hits 0
|
||||
# HELP node_zfs_arc_l2_io_error kstat.zfs.misc.arcstats.l2_io_error
|
||||
# TYPE node_zfs_arc_l2_io_error untyped
|
||||
node_zfs_arc_l2_io_error 0
|
||||
# HELP node_zfs_arc_l2_misses kstat.zfs.misc.arcstats.l2_misses
|
||||
# TYPE node_zfs_arc_l2_misses untyped
|
||||
node_zfs_arc_l2_misses 0
|
||||
# HELP node_zfs_arc_l2_read_bytes kstat.zfs.misc.arcstats.l2_read_bytes
|
||||
# TYPE node_zfs_arc_l2_read_bytes untyped
|
||||
node_zfs_arc_l2_read_bytes 0
|
||||
# HELP node_zfs_arc_l2_rw_clash kstat.zfs.misc.arcstats.l2_rw_clash
|
||||
# TYPE node_zfs_arc_l2_rw_clash untyped
|
||||
node_zfs_arc_l2_rw_clash 0
|
||||
# HELP node_zfs_arc_l2_size kstat.zfs.misc.arcstats.l2_size
|
||||
# TYPE node_zfs_arc_l2_size untyped
|
||||
node_zfs_arc_l2_size 0
|
||||
# HELP node_zfs_arc_l2_write_bytes kstat.zfs.misc.arcstats.l2_write_bytes
|
||||
# TYPE node_zfs_arc_l2_write_bytes untyped
|
||||
node_zfs_arc_l2_write_bytes 0
|
||||
# HELP node_zfs_arc_l2_writes_done kstat.zfs.misc.arcstats.l2_writes_done
|
||||
# TYPE node_zfs_arc_l2_writes_done untyped
|
||||
node_zfs_arc_l2_writes_done 0
|
||||
# HELP node_zfs_arc_l2_writes_error kstat.zfs.misc.arcstats.l2_writes_error
|
||||
# TYPE node_zfs_arc_l2_writes_error untyped
|
||||
node_zfs_arc_l2_writes_error 0
|
||||
# HELP node_zfs_arc_l2_writes_lock_retry kstat.zfs.misc.arcstats.l2_writes_lock_retry
|
||||
# TYPE node_zfs_arc_l2_writes_lock_retry untyped
|
||||
node_zfs_arc_l2_writes_lock_retry 0
|
||||
# HELP node_zfs_arc_l2_writes_sent kstat.zfs.misc.arcstats.l2_writes_sent
|
||||
# TYPE node_zfs_arc_l2_writes_sent untyped
|
||||
node_zfs_arc_l2_writes_sent 0
|
||||
# HELP node_zfs_arc_memory_direct_count kstat.zfs.misc.arcstats.memory_direct_count
|
||||
# TYPE node_zfs_arc_memory_direct_count untyped
|
||||
node_zfs_arc_memory_direct_count 542
|
||||
# HELP node_zfs_arc_memory_indirect_count kstat.zfs.misc.arcstats.memory_indirect_count
|
||||
# TYPE node_zfs_arc_memory_indirect_count untyped
|
||||
node_zfs_arc_memory_indirect_count 3006
|
||||
# HELP node_zfs_arc_memory_throttle_count kstat.zfs.misc.arcstats.memory_throttle_count
|
||||
# TYPE node_zfs_arc_memory_throttle_count untyped
|
||||
node_zfs_arc_memory_throttle_count 0
|
||||
# HELP node_zfs_arc_metadata_size kstat.zfs.misc.arcstats.metadata_size
|
||||
# TYPE node_zfs_arc_metadata_size untyped
|
||||
node_zfs_arc_metadata_size 1.7529856e+08
|
||||
# HELP node_zfs_arc_mfu_evictable_data kstat.zfs.misc.arcstats.mfu_evictable_data
|
||||
# TYPE node_zfs_arc_mfu_evictable_data untyped
|
||||
node_zfs_arc_mfu_evictable_data 1.017613824e+09
|
||||
# HELP node_zfs_arc_mfu_evictable_metadata kstat.zfs.misc.arcstats.mfu_evictable_metadata
|
||||
# TYPE node_zfs_arc_mfu_evictable_metadata untyped
|
||||
node_zfs_arc_mfu_evictable_metadata 9.163776e+06
|
||||
# HELP node_zfs_arc_mfu_ghost_evictable_data kstat.zfs.misc.arcstats.mfu_ghost_evictable_data
|
||||
# TYPE node_zfs_arc_mfu_ghost_evictable_data untyped
|
||||
node_zfs_arc_mfu_ghost_evictable_data 9.6731136e+07
|
||||
# HELP node_zfs_arc_mfu_ghost_evictable_metadata kstat.zfs.misc.arcstats.mfu_ghost_evictable_metadata
|
||||
# TYPE node_zfs_arc_mfu_ghost_evictable_metadata untyped
|
||||
node_zfs_arc_mfu_ghost_evictable_metadata 8.205312e+06
|
||||
# HELP node_zfs_arc_mfu_ghost_hits kstat.zfs.misc.arcstats.mfu_ghost_hits
|
||||
# TYPE node_zfs_arc_mfu_ghost_hits untyped
|
||||
node_zfs_arc_mfu_ghost_hits 821
|
||||
# HELP node_zfs_arc_mfu_ghost_size kstat.zfs.misc.arcstats.mfu_ghost_size
|
||||
# TYPE node_zfs_arc_mfu_ghost_size untyped
|
||||
node_zfs_arc_mfu_ghost_size 1.04936448e+08
|
||||
# HELP node_zfs_arc_mfu_hits kstat.zfs.misc.arcstats.mfu_hits
|
||||
# TYPE node_zfs_arc_mfu_hits untyped
|
||||
node_zfs_arc_mfu_hits 7.829854e+06
|
||||
# HELP node_zfs_arc_mfu_size kstat.zfs.misc.arcstats.mfu_size
|
||||
# TYPE node_zfs_arc_mfu_size untyped
|
||||
node_zfs_arc_mfu_size 1.066623488e+09
|
||||
# HELP node_zfs_arc_misses kstat.zfs.misc.arcstats.misses
|
||||
# TYPE node_zfs_arc_misses untyped
|
||||
node_zfs_arc_misses 604635
|
||||
# HELP node_zfs_arc_mru_evictable_data kstat.zfs.misc.arcstats.mru_evictable_data
|
||||
# TYPE node_zfs_arc_mru_evictable_data untyped
|
||||
node_zfs_arc_mru_evictable_data 2.78091264e+08
|
||||
# HELP node_zfs_arc_mru_evictable_metadata kstat.zfs.misc.arcstats.mru_evictable_metadata
|
||||
# TYPE node_zfs_arc_mru_evictable_metadata untyped
|
||||
node_zfs_arc_mru_evictable_metadata 1.8606592e+07
|
||||
# HELP node_zfs_arc_mru_ghost_evictable_data kstat.zfs.misc.arcstats.mru_ghost_evictable_data
|
||||
# TYPE node_zfs_arc_mru_ghost_evictable_data untyped
|
||||
node_zfs_arc_mru_ghost_evictable_data 8.83765248e+08
|
||||
# HELP node_zfs_arc_mru_ghost_evictable_metadata kstat.zfs.misc.arcstats.mru_ghost_evictable_metadata
|
||||
# TYPE node_zfs_arc_mru_ghost_evictable_metadata untyped
|
||||
node_zfs_arc_mru_ghost_evictable_metadata 1.1596288e+08
|
||||
# HELP node_zfs_arc_mru_ghost_hits kstat.zfs.misc.arcstats.mru_ghost_hits
|
||||
# TYPE node_zfs_arc_mru_ghost_hits untyped
|
||||
node_zfs_arc_mru_ghost_hits 21100
|
||||
# HELP node_zfs_arc_mru_ghost_size kstat.zfs.misc.arcstats.mru_ghost_size
|
||||
# TYPE node_zfs_arc_mru_ghost_size untyped
|
||||
node_zfs_arc_mru_ghost_size 9.99728128e+08
|
||||
# HELP node_zfs_arc_mru_hits kstat.zfs.misc.arcstats.mru_hits
|
||||
# TYPE node_zfs_arc_mru_hits untyped
|
||||
node_zfs_arc_mru_hits 855535
|
||||
# HELP node_zfs_arc_mru_size kstat.zfs.misc.arcstats.mru_size
|
||||
# TYPE node_zfs_arc_mru_size untyped
|
||||
node_zfs_arc_mru_size 4.02593792e+08
|
||||
# HELP node_zfs_arc_mutex_miss kstat.zfs.misc.arcstats.mutex_miss
|
||||
# TYPE node_zfs_arc_mutex_miss untyped
|
||||
node_zfs_arc_mutex_miss 2
|
||||
# HELP node_zfs_arc_other_size kstat.zfs.misc.arcstats.other_size
|
||||
# TYPE node_zfs_arc_other_size untyped
|
||||
node_zfs_arc_other_size 1.16443992e+08
|
||||
# HELP node_zfs_arc_p kstat.zfs.misc.arcstats.p
|
||||
# TYPE node_zfs_arc_p untyped
|
||||
node_zfs_arc_p 5.16395305e+08
|
||||
# HELP node_zfs_arc_prefetch_data_hits kstat.zfs.misc.arcstats.prefetch_data_hits
|
||||
# TYPE node_zfs_arc_prefetch_data_hits untyped
|
||||
node_zfs_arc_prefetch_data_hits 3615
|
||||
# HELP node_zfs_arc_prefetch_data_misses kstat.zfs.misc.arcstats.prefetch_data_misses
|
||||
# TYPE node_zfs_arc_prefetch_data_misses untyped
|
||||
node_zfs_arc_prefetch_data_misses 17094
|
||||
# HELP node_zfs_arc_prefetch_metadata_hits kstat.zfs.misc.arcstats.prefetch_metadata_hits
|
||||
# TYPE node_zfs_arc_prefetch_metadata_hits untyped
|
||||
node_zfs_arc_prefetch_metadata_hits 83612
|
||||
# HELP node_zfs_arc_prefetch_metadata_misses kstat.zfs.misc.arcstats.prefetch_metadata_misses
|
||||
# TYPE node_zfs_arc_prefetch_metadata_misses untyped
|
||||
node_zfs_arc_prefetch_metadata_misses 16071
|
||||
# HELP node_zfs_arc_size kstat.zfs.misc.arcstats.size
|
||||
# TYPE node_zfs_arc_size untyped
|
||||
node_zfs_arc_size 1.603939792e+09
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_assigned kstat.zfs.misc.dmu_tx.dmu_tx_assigned
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_assigned untyped
|
||||
node_zfs_dmu_tx_dmu_tx_assigned 3.532844e+06
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_delay kstat.zfs.misc.dmu_tx.dmu_tx_delay
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_delay untyped
|
||||
node_zfs_dmu_tx_dmu_tx_delay 0
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_dirty_delay kstat.zfs.misc.dmu_tx.dmu_tx_dirty_delay
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_dirty_delay untyped
|
||||
node_zfs_dmu_tx_dmu_tx_dirty_delay 0
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_dirty_over_max kstat.zfs.misc.dmu_tx.dmu_tx_dirty_over_max
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_dirty_over_max untyped
|
||||
node_zfs_dmu_tx_dmu_tx_dirty_over_max 0
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_dirty_throttle kstat.zfs.misc.dmu_tx.dmu_tx_dirty_throttle
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_dirty_throttle untyped
|
||||
node_zfs_dmu_tx_dmu_tx_dirty_throttle 0
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_error kstat.zfs.misc.dmu_tx.dmu_tx_error
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_error untyped
|
||||
node_zfs_dmu_tx_dmu_tx_error 0
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_group kstat.zfs.misc.dmu_tx.dmu_tx_group
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_group untyped
|
||||
node_zfs_dmu_tx_dmu_tx_group 0
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_memory_reclaim kstat.zfs.misc.dmu_tx.dmu_tx_memory_reclaim
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_memory_reclaim untyped
|
||||
node_zfs_dmu_tx_dmu_tx_memory_reclaim 0
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_memory_reserve kstat.zfs.misc.dmu_tx.dmu_tx_memory_reserve
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_memory_reserve untyped
|
||||
node_zfs_dmu_tx_dmu_tx_memory_reserve 0
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_quota kstat.zfs.misc.dmu_tx.dmu_tx_quota
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_quota untyped
|
||||
node_zfs_dmu_tx_dmu_tx_quota 0
|
||||
# HELP node_zfs_dmu_tx_dmu_tx_suspended kstat.zfs.misc.dmu_tx.dmu_tx_suspended
|
||||
# TYPE node_zfs_dmu_tx_dmu_tx_suspended untyped
|
||||
node_zfs_dmu_tx_dmu_tx_suspended 0
|
||||
# HELP node_zfs_fm_erpt-dropped kstat.zfs.misc.fm.erpt-dropped
|
||||
# TYPE node_zfs_fm_erpt-dropped untyped
|
||||
node_zfs_fm_erpt-dropped 18
|
||||
# HELP node_zfs_fm_erpt-set-failed kstat.zfs.misc.fm.erpt-set-failed
|
||||
# TYPE node_zfs_fm_erpt-set-failed untyped
|
||||
node_zfs_fm_erpt-set-failed 0
|
||||
# HELP node_zfs_fm_fmri-set-failed kstat.zfs.misc.fm.fmri-set-failed
|
||||
# TYPE node_zfs_fm_fmri-set-failed untyped
|
||||
node_zfs_fm_fmri-set-failed 0
|
||||
# HELP node_zfs_fm_payload-set-failed kstat.zfs.misc.fm.payload-set-failed
|
||||
# TYPE node_zfs_fm_payload-set-failed untyped
|
||||
node_zfs_fm_payload-set-failed 0
|
||||
# HELP node_zfs_vdev_cache_delegations kstat.zfs.misc.vdev_cache_stats.delegations
|
||||
# TYPE node_zfs_vdev_cache_delegations untyped
|
||||
node_zfs_vdev_cache_delegations 40
|
||||
# HELP node_zfs_vdev_cache_hits kstat.zfs.misc.vdev_cache_stats.hits
|
||||
# TYPE node_zfs_vdev_cache_hits untyped
|
||||
node_zfs_vdev_cache_hits 0
|
||||
# HELP node_zfs_vdev_cache_misses kstat.zfs.misc.vdev_cache_stats.misses
|
||||
# TYPE node_zfs_vdev_cache_misses untyped
|
||||
node_zfs_vdev_cache_misses 0
|
||||
# HELP node_zfs_xuio_onloan_read_buf kstat.zfs.misc.xuio_stats.onloan_read_buf
|
||||
# TYPE node_zfs_xuio_onloan_read_buf untyped
|
||||
node_zfs_xuio_onloan_read_buf 32
|
||||
# HELP node_zfs_xuio_onloan_write_buf kstat.zfs.misc.xuio_stats.onloan_write_buf
|
||||
# TYPE node_zfs_xuio_onloan_write_buf untyped
|
||||
node_zfs_xuio_onloan_write_buf 0
|
||||
# HELP node_zfs_xuio_read_buf_copied kstat.zfs.misc.xuio_stats.read_buf_copied
|
||||
# TYPE node_zfs_xuio_read_buf_copied untyped
|
||||
node_zfs_xuio_read_buf_copied 0
|
||||
# HELP node_zfs_xuio_read_buf_nocopy kstat.zfs.misc.xuio_stats.read_buf_nocopy
|
||||
# TYPE node_zfs_xuio_read_buf_nocopy untyped
|
||||
node_zfs_xuio_read_buf_nocopy 0
|
||||
# HELP node_zfs_xuio_write_buf_copied kstat.zfs.misc.xuio_stats.write_buf_copied
|
||||
# TYPE node_zfs_xuio_write_buf_copied untyped
|
||||
node_zfs_xuio_write_buf_copied 0
|
||||
# HELP node_zfs_xuio_write_buf_nocopy kstat.zfs.misc.xuio_stats.write_buf_nocopy
|
||||
# TYPE node_zfs_xuio_write_buf_nocopy untyped
|
||||
node_zfs_xuio_write_buf_nocopy 0
|
||||
# HELP node_zfs_zfetch_bogus_streams kstat.zfs.misc.zfetchstats.bogus_streams
|
||||
# TYPE node_zfs_zfetch_bogus_streams untyped
|
||||
node_zfs_zfetch_bogus_streams 0
|
||||
# HELP node_zfs_zfetch_colinear_hits kstat.zfs.misc.zfetchstats.colinear_hits
|
||||
# TYPE node_zfs_zfetch_colinear_hits untyped
|
||||
node_zfs_zfetch_colinear_hits 0
|
||||
# HELP node_zfs_zfetch_colinear_misses kstat.zfs.misc.zfetchstats.colinear_misses
|
||||
# TYPE node_zfs_zfetch_colinear_misses untyped
|
||||
node_zfs_zfetch_colinear_misses 11
|
||||
# HELP node_zfs_zfetch_hits kstat.zfs.misc.zfetchstats.hits
|
||||
# TYPE node_zfs_zfetch_hits untyped
|
||||
node_zfs_zfetch_hits 7.067992e+06
|
||||
# HELP node_zfs_zfetch_misses kstat.zfs.misc.zfetchstats.misses
|
||||
# TYPE node_zfs_zfetch_misses untyped
|
||||
node_zfs_zfetch_misses 11
|
||||
# HELP node_zfs_zfetch_reclaim_failures kstat.zfs.misc.zfetchstats.reclaim_failures
|
||||
# TYPE node_zfs_zfetch_reclaim_failures untyped
|
||||
node_zfs_zfetch_reclaim_failures 11
|
||||
# HELP node_zfs_zfetch_reclaim_successes kstat.zfs.misc.zfetchstats.reclaim_successes
|
||||
# TYPE node_zfs_zfetch_reclaim_successes untyped
|
||||
node_zfs_zfetch_reclaim_successes 0
|
||||
# HELP node_zfs_zfetch_streams_noresets kstat.zfs.misc.zfetchstats.streams_noresets
|
||||
# TYPE node_zfs_zfetch_streams_noresets untyped
|
||||
node_zfs_zfetch_streams_noresets 2
|
||||
# HELP node_zfs_zfetch_streams_resets kstat.zfs.misc.zfetchstats.streams_resets
|
||||
# TYPE node_zfs_zfetch_streams_resets untyped
|
||||
node_zfs_zfetch_streams_resets 0
|
||||
# HELP node_zfs_zfetch_stride_hits kstat.zfs.misc.zfetchstats.stride_hits
|
||||
# TYPE node_zfs_zfetch_stride_hits untyped
|
||||
node_zfs_zfetch_stride_hits 7.06799e+06
|
||||
# HELP node_zfs_zfetch_stride_misses kstat.zfs.misc.zfetchstats.stride_misses
|
||||
# TYPE node_zfs_zfetch_stride_misses untyped
|
||||
node_zfs_zfetch_stride_misses 0
|
||||
# HELP node_zfs_zil_zil_commit_count kstat.zfs.misc.zil.zil_commit_count
|
||||
# TYPE node_zfs_zil_zil_commit_count untyped
|
||||
node_zfs_zil_zil_commit_count 10
|
||||
# HELP node_zfs_zil_zil_commit_writer_count kstat.zfs.misc.zil.zil_commit_writer_count
|
||||
# TYPE node_zfs_zil_zil_commit_writer_count untyped
|
||||
node_zfs_zil_zil_commit_writer_count 0
|
||||
# HELP node_zfs_zil_zil_itx_copied_bytes kstat.zfs.misc.zil.zil_itx_copied_bytes
|
||||
# TYPE node_zfs_zil_zil_itx_copied_bytes untyped
|
||||
node_zfs_zil_zil_itx_copied_bytes 0
|
||||
# HELP node_zfs_zil_zil_itx_copied_count kstat.zfs.misc.zil.zil_itx_copied_count
|
||||
# TYPE node_zfs_zil_zil_itx_copied_count untyped
|
||||
node_zfs_zil_zil_itx_copied_count 0
|
||||
# HELP node_zfs_zil_zil_itx_count kstat.zfs.misc.zil.zil_itx_count
|
||||
# TYPE node_zfs_zil_zil_itx_count untyped
|
||||
node_zfs_zil_zil_itx_count 0
|
||||
# HELP node_zfs_zil_zil_itx_indirect_bytes kstat.zfs.misc.zil.zil_itx_indirect_bytes
|
||||
# TYPE node_zfs_zil_zil_itx_indirect_bytes untyped
|
||||
node_zfs_zil_zil_itx_indirect_bytes 0
|
||||
# HELP node_zfs_zil_zil_itx_indirect_count kstat.zfs.misc.zil.zil_itx_indirect_count
|
||||
# TYPE node_zfs_zil_zil_itx_indirect_count untyped
|
||||
node_zfs_zil_zil_itx_indirect_count 0
|
||||
# HELP node_zfs_zil_zil_itx_metaslab_normal_bytes kstat.zfs.misc.zil.zil_itx_metaslab_normal_bytes
|
||||
# TYPE node_zfs_zil_zil_itx_metaslab_normal_bytes untyped
|
||||
node_zfs_zil_zil_itx_metaslab_normal_bytes 0
|
||||
# HELP node_zfs_zil_zil_itx_metaslab_normal_count kstat.zfs.misc.zil.zil_itx_metaslab_normal_count
|
||||
# TYPE node_zfs_zil_zil_itx_metaslab_normal_count untyped
|
||||
node_zfs_zil_zil_itx_metaslab_normal_count 0
|
||||
# HELP node_zfs_zil_zil_itx_metaslab_slog_bytes kstat.zfs.misc.zil.zil_itx_metaslab_slog_bytes
|
||||
# TYPE node_zfs_zil_zil_itx_metaslab_slog_bytes untyped
|
||||
node_zfs_zil_zil_itx_metaslab_slog_bytes 0
|
||||
# HELP node_zfs_zil_zil_itx_metaslab_slog_count kstat.zfs.misc.zil.zil_itx_metaslab_slog_count
|
||||
# TYPE node_zfs_zil_zil_itx_metaslab_slog_count untyped
|
||||
node_zfs_zil_zil_itx_metaslab_slog_count 0
|
||||
# HELP node_zfs_zil_zil_itx_needcopy_bytes kstat.zfs.misc.zil.zil_itx_needcopy_bytes
|
||||
# TYPE node_zfs_zil_zil_itx_needcopy_bytes untyped
|
||||
node_zfs_zil_zil_itx_needcopy_bytes 0
|
||||
# HELP node_zfs_zil_zil_itx_needcopy_count kstat.zfs.misc.zil.zil_itx_needcopy_count
|
||||
# TYPE node_zfs_zil_zil_itx_needcopy_count untyped
|
||||
node_zfs_zil_zil_itx_needcopy_count 0
|
||||
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
|
||||
# TYPE process_cpu_seconds_total counter
|
||||
# HELP process_max_fds Maximum number of open file descriptors.
|
||||
|
13
collector/fixtures/proc/spl/kstat/zfs/dmu_tx
Normal file
13
collector/fixtures/proc/spl/kstat/zfs/dmu_tx
Normal file
@ -0,0 +1,13 @@
|
||||
5 1 0x01 11 528 8010436841 354962070418194
|
||||
name type data
|
||||
dmu_tx_assigned 4 3532844
|
||||
dmu_tx_delay 4 0
|
||||
dmu_tx_error 4 0
|
||||
dmu_tx_suspended 4 0
|
||||
dmu_tx_group 4 0
|
||||
dmu_tx_memory_reserve 4 0
|
||||
dmu_tx_memory_reclaim 4 0
|
||||
dmu_tx_dirty_throttle 4 0
|
||||
dmu_tx_dirty_delay 4 0
|
||||
dmu_tx_dirty_over_max 4 0
|
||||
dmu_tx_quota 4 0
|
6
collector/fixtures/proc/spl/kstat/zfs/fm
Normal file
6
collector/fixtures/proc/spl/kstat/zfs/fm
Normal file
@ -0,0 +1,6 @@
|
||||
0 1 0x01 4 192 8007255140 354329591145385
|
||||
name type data
|
||||
erpt-dropped 4 18
|
||||
erpt-set-failed 4 0
|
||||
fmri-set-failed 4 0
|
||||
payload-set-failed 4 0
|
5
collector/fixtures/proc/spl/kstat/zfs/vdev_cache_stats
Normal file
5
collector/fixtures/proc/spl/kstat/zfs/vdev_cache_stats
Normal file
@ -0,0 +1,5 @@
|
||||
8 1 0x01 3 144 8012540758 352116106118781
|
||||
name type data
|
||||
delegations 4 40
|
||||
hits 4 0
|
||||
misses 4 0
|
8
collector/fixtures/proc/spl/kstat/zfs/xuio_stats
Normal file
8
collector/fixtures/proc/spl/kstat/zfs/xuio_stats
Normal file
@ -0,0 +1,8 @@
|
||||
2 1 0x01 6 288 8009100742 353415816865654
|
||||
name type data
|
||||
onloan_read_buf 4 32
|
||||
onloan_write_buf 4 0
|
||||
read_buf_copied 4 0
|
||||
read_buf_nocopy 4 0
|
||||
write_buf_copied 4 0
|
||||
write_buf_nocopy 4 0
|
13
collector/fixtures/proc/spl/kstat/zfs/zfetchstats
Normal file
13
collector/fixtures/proc/spl/kstat/zfs/zfetchstats
Normal file
@ -0,0 +1,13 @@
|
||||
4 1 0x01 11 528 8010434610 345692669858836
|
||||
name type data
|
||||
hits 4 7067992
|
||||
misses 4 11
|
||||
colinear_hits 4 0
|
||||
colinear_misses 4 11
|
||||
stride_hits 4 7067990
|
||||
stride_misses 4 0
|
||||
reclaim_successes 4 0
|
||||
reclaim_failures 4 11
|
||||
streams_resets 4 0
|
||||
streams_noresets 4 2
|
||||
bogus_streams 4 0
|
15
collector/fixtures/proc/spl/kstat/zfs/zil
Normal file
15
collector/fixtures/proc/spl/kstat/zfs/zil
Normal file
@ -0,0 +1,15 @@
|
||||
7 1 0x01 13 624 8012538347 351689526932992
|
||||
name type data
|
||||
zil_commit_count 4 10
|
||||
zil_commit_writer_count 4 0
|
||||
zil_itx_count 4 0
|
||||
zil_itx_indirect_count 4 0
|
||||
zil_itx_indirect_bytes 4 0
|
||||
zil_itx_copied_count 4 0
|
||||
zil_itx_copied_bytes 4 0
|
||||
zil_itx_needcopy_count 4 0
|
||||
zil_itx_needcopy_bytes 4 0
|
||||
zil_itx_metaslab_normal_count 4 0
|
||||
zil_itx_metaslab_normal_bytes 4 0
|
||||
zil_itx_metaslab_slog_count 4 0
|
||||
zil_itx_metaslab_slog_bytes 4 0
|
@ -24,26 +24,16 @@ import (
|
||||
"github.com/prometheus/common/log"
|
||||
)
|
||||
|
||||
type zfsMetricValue int
|
||||
|
||||
const zfsErrorValue = zfsMetricValue(-1)
|
||||
|
||||
var zfsNotAvailableError = errors.New("ZFS / ZFS statistics are not available")
|
||||
|
||||
type zfsSysctl string
|
||||
type zfsSubsystemName string
|
||||
|
||||
const (
|
||||
arc = zfsSubsystemName("zfsArc")
|
||||
zpoolSubsystem = zfsSubsystemName("zfsPool")
|
||||
)
|
||||
|
||||
// Metrics
|
||||
|
||||
type zfsMetric struct {
|
||||
subsystem zfsSubsystemName // The Prometheus subsystem name.
|
||||
name string // The Prometheus name of the metric.
|
||||
sysctl zfsSysctl // The sysctl of the ZFS metric.
|
||||
subsystem string // The Prometheus subsystem name.
|
||||
name string // The Prometheus name of the metric.
|
||||
sysctl zfsSysctl // The sysctl of the ZFS metric.
|
||||
}
|
||||
|
||||
// Collector
|
||||
@ -53,22 +43,36 @@ func init() {
|
||||
}
|
||||
|
||||
type zfsCollector struct {
|
||||
zfsMetrics []zfsMetric
|
||||
zfsMetrics []zfsMetric
|
||||
linuxProcpathBase string
|
||||
linuxPathMap map[string]string
|
||||
}
|
||||
|
||||
func NewZFSCollector() (Collector, error) {
|
||||
return &zfsCollector{}, nil
|
||||
var z zfsCollector
|
||||
z.linuxProcpathBase = "spl/kstat/zfs"
|
||||
z.linuxPathMap = map[string]string{
|
||||
"zfs_arc": "arcstats",
|
||||
"zfs_dmu_tx": "dmu_tx",
|
||||
"zfs_fm": "fm",
|
||||
"zfs_zfetch": "zfetchstats",
|
||||
"zfs_vdev_cache": "vdev_cache_stats",
|
||||
"zfs_xuio": "xuio_stats",
|
||||
"zfs_zil": "zil",
|
||||
}
|
||||
return &z, nil
|
||||
}
|
||||
|
||||
func (c *zfsCollector) Update(ch chan<- prometheus.Metric) (err error) {
|
||||
// Arcstats
|
||||
err = c.updateArcstats(ch)
|
||||
switch {
|
||||
case err == zfsNotAvailableError:
|
||||
log.Debug(err)
|
||||
return nil
|
||||
case err != nil:
|
||||
return err
|
||||
for subsystem := range c.linuxPathMap {
|
||||
err = c.updateZfsStats(subsystem, ch)
|
||||
switch {
|
||||
case err == zfsNotAvailableError:
|
||||
log.Debug(err)
|
||||
return nil
|
||||
case err != nil:
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Pool stats
|
||||
@ -80,7 +84,7 @@ func (s zfsSysctl) metricName() string {
|
||||
return parts[len(parts)-1]
|
||||
}
|
||||
|
||||
func (c *zfsCollector) constSysctlMetric(subsystem zfsSubsystemName, sysctl zfsSysctl, value zfsMetricValue) prometheus.Metric {
|
||||
func (c *zfsCollector) constSysctlMetric(subsystem string, sysctl zfsSysctl, value int) prometheus.Metric {
|
||||
metricName := sysctl.metricName()
|
||||
|
||||
return prometheus.MustNewConstMetric(
|
||||
|
@ -15,10 +15,10 @@ package collector
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
@ -26,32 +26,28 @@ import (
|
||||
"github.com/prometheus/common/log"
|
||||
)
|
||||
|
||||
const (
|
||||
zfsArcstatsProcpath = "spl/kstat/zfs/arcstats"
|
||||
)
|
||||
|
||||
func (c *zfsCollector) openArcstatsFile() (file *os.File, err error) {
|
||||
file, err = os.Open(procFilePath(zfsArcstatsProcpath))
|
||||
func (c *zfsCollector) openProcFile(path string) (file *os.File, err error) {
|
||||
file, err = os.Open(procFilePath(path))
|
||||
if err != nil {
|
||||
log.Debugf("Cannot open %q for reading. Is the kernel module loaded?", procFilePath(zfsArcstatsProcpath))
|
||||
log.Debugf("Cannot open %q for reading. Is the kernel module loaded?", procFilePath(path))
|
||||
err = zfsNotAvailableError
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (c *zfsCollector) updateArcstats(ch chan<- prometheus.Metric) (err error) {
|
||||
file, err := c.openArcstatsFile()
|
||||
func (c *zfsCollector) updateZfsStats(subsystem string, ch chan<- prometheus.Metric) (err error) {
|
||||
file, err := c.openProcFile(filepath.Join(c.linuxProcpathBase, c.linuxPathMap[subsystem]))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
return c.parseArcstatsProcfsFile(file, func(s zfsSysctl, v zfsMetricValue) {
|
||||
ch <- c.constSysctlMetric(arc, s, v)
|
||||
return c.parseProcfsFile(file, c.linuxPathMap[subsystem], func(s zfsSysctl, v int) {
|
||||
ch <- c.constSysctlMetric(subsystem, s, v)
|
||||
})
|
||||
}
|
||||
|
||||
func (c *zfsCollector) parseArcstatsProcfsFile(reader io.Reader, handler func(zfsSysctl, zfsMetricValue)) (err error) {
|
||||
func (c *zfsCollector) parseProcfsFile(reader io.Reader, fmtExt string, handler func(zfsSysctl, int)) (err error) {
|
||||
scanner := bufio.NewScanner(reader)
|
||||
|
||||
parseLine := false
|
||||
@ -69,17 +65,17 @@ func (c *zfsCollector) parseArcstatsProcfsFile(reader io.Reader, handler func(zf
|
||||
continue
|
||||
}
|
||||
|
||||
key := fmt.Sprintf("kstat.zfs.misc.arcstats.%s", parts[0])
|
||||
key := fmt.Sprintf("kstat.zfs.misc.%s.%s", fmtExt, parts[0])
|
||||
|
||||
value, err := strconv.Atoi(parts[2])
|
||||
if err != nil {
|
||||
return fmt.Errorf("could not parse expected integer value for %q", key)
|
||||
}
|
||||
handler(zfsSysctl(key), zfsMetricValue(value))
|
||||
handler(zfsSysctl(key), value)
|
||||
|
||||
}
|
||||
if !parseLine {
|
||||
return errors.New("did not parse a single arcstat metric")
|
||||
return fmt.Errorf("did not parse a single %q metric", fmtExt)
|
||||
}
|
||||
|
||||
return scanner.Err()
|
||||
|
@ -31,7 +31,7 @@ func TestArcstatsParsing(t *testing.T) {
|
||||
}
|
||||
|
||||
handlerCalled := false
|
||||
err = c.parseArcstatsProcfsFile(arcstatsFile, func(s zfsSysctl, v zfsMetricValue) {
|
||||
err = c.parseProcfsFile(arcstatsFile, "arcstats", func(s zfsSysctl, v int) {
|
||||
|
||||
if s != zfsSysctl("kstat.zfs.misc.arcstats.hits") {
|
||||
return
|
||||
@ -39,7 +39,7 @@ func TestArcstatsParsing(t *testing.T) {
|
||||
|
||||
handlerCalled = true
|
||||
|
||||
if v != zfsMetricValue(8772612) {
|
||||
if v != int(8772612) {
|
||||
t.Fatalf("Incorrect value parsed from procfs data")
|
||||
}
|
||||
|
||||
@ -53,3 +53,219 @@ func TestArcstatsParsing(t *testing.T) {
|
||||
t.Fatal("Arcstats parsing handler was not called for some expected sysctls")
|
||||
}
|
||||
}
|
||||
|
||||
func TestZfetchstatsParsing(t *testing.T) {
|
||||
zfetchstatsFile, err := os.Open("fixtures/proc/spl/kstat/zfs/zfetchstats")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer zfetchstatsFile.Close()
|
||||
|
||||
c := zfsCollector{}
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
handlerCalled := false
|
||||
err = c.parseProcfsFile(zfetchstatsFile, "zfetchstats", func(s zfsSysctl, v int) {
|
||||
|
||||
if s != zfsSysctl("kstat.zfs.misc.zfetchstats.hits") {
|
||||
return
|
||||
}
|
||||
|
||||
handlerCalled = true
|
||||
|
||||
if v != int(7067992) {
|
||||
t.Fatalf("Incorrect value parsed from procfs data")
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !handlerCalled {
|
||||
t.Fatal("Zfetchstats parsing handler was not called for some expected sysctls")
|
||||
}
|
||||
}
|
||||
|
||||
func TestZilParsing(t *testing.T) {
|
||||
zilFile, err := os.Open("fixtures/proc/spl/kstat/zfs/zil")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer zilFile.Close()
|
||||
|
||||
c := zfsCollector{}
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
handlerCalled := false
|
||||
err = c.parseProcfsFile(zilFile, "zil", func(s zfsSysctl, v int) {
|
||||
|
||||
if s != zfsSysctl("kstat.zfs.misc.zil.zil_commit_count") {
|
||||
return
|
||||
}
|
||||
|
||||
handlerCalled = true
|
||||
|
||||
if v != int(10) {
|
||||
t.Fatalf("Incorrect value parsed from procfs data")
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !handlerCalled {
|
||||
t.Fatal("Zil parsing handler was not called for some expected sysctls")
|
||||
}
|
||||
}
|
||||
|
||||
func TestVdevCacheStatsParsing(t *testing.T) {
|
||||
vdevCacheStatsFile, err := os.Open("fixtures/proc/spl/kstat/zfs/vdev_cache_stats")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer vdevCacheStatsFile.Close()
|
||||
|
||||
c := zfsCollector{}
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
handlerCalled := false
|
||||
err = c.parseProcfsFile(vdevCacheStatsFile, "vdev_cache_stats", func(s zfsSysctl, v int) {
|
||||
|
||||
if s != zfsSysctl("kstat.zfs.misc.vdev_cache_stats.delegations") {
|
||||
return
|
||||
}
|
||||
|
||||
handlerCalled = true
|
||||
|
||||
if v != int(40) {
|
||||
t.Fatalf("Incorrect value parsed from procfs data")
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !handlerCalled {
|
||||
t.Fatal("VdevCacheStats parsing handler was not called for some expected sysctls")
|
||||
}
|
||||
}
|
||||
|
||||
func TestXuioStatsParsing(t *testing.T) {
|
||||
xuioStatsFile, err := os.Open("fixtures/proc/spl/kstat/zfs/xuio_stats")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer xuioStatsFile.Close()
|
||||
|
||||
c := zfsCollector{}
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
handlerCalled := false
|
||||
err = c.parseProcfsFile(xuioStatsFile, "xuio_stats", func(s zfsSysctl, v int) {
|
||||
|
||||
if s != zfsSysctl("kstat.zfs.misc.xuio_stats.onloan_read_buf") {
|
||||
return
|
||||
}
|
||||
|
||||
handlerCalled = true
|
||||
|
||||
if v != int(32) {
|
||||
t.Fatalf("Incorrect value parsed from procfs data")
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !handlerCalled {
|
||||
t.Fatal("XuioStats parsing handler was not called for some expected sysctls")
|
||||
}
|
||||
}
|
||||
|
||||
func TestFmParsing(t *testing.T) {
|
||||
fmFile, err := os.Open("fixtures/proc/spl/kstat/zfs/fm")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer fmFile.Close()
|
||||
|
||||
c := zfsCollector{}
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
handlerCalled := false
|
||||
err = c.parseProcfsFile(fmFile, "fm", func(s zfsSysctl, v int) {
|
||||
|
||||
if s != zfsSysctl("kstat.zfs.misc.fm.erpt-dropped") {
|
||||
return
|
||||
}
|
||||
|
||||
handlerCalled = true
|
||||
|
||||
if v != int(18) {
|
||||
t.Fatalf("Incorrect value parsed from procfs data")
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !handlerCalled {
|
||||
t.Fatal("Fm parsing handler was not called for some expected sysctls")
|
||||
}
|
||||
}
|
||||
|
||||
func TestDmuTxParsing(t *testing.T) {
|
||||
dmuTxFile, err := os.Open("fixtures/proc/spl/kstat/zfs/dmu_tx")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer dmuTxFile.Close()
|
||||
|
||||
c := zfsCollector{}
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
handlerCalled := false
|
||||
err = c.parseProcfsFile(dmuTxFile, "dmu_tx", func(s zfsSysctl, v int) {
|
||||
|
||||
if s != zfsSysctl("kstat.zfs.misc.dmu_tx.dmu_tx_assigned") {
|
||||
return
|
||||
}
|
||||
|
||||
handlerCalled = true
|
||||
|
||||
if v != int(3532844) {
|
||||
t.Fatalf("Incorrect value parsed from procfs data")
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !handlerCalled {
|
||||
t.Fatal("DmuTx parsing handler was not called for some expected sysctls")
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user