| 1 | // SPDX-License-Identifier: GPL-3.0-or-later |
| 2 | |
| 3 | #ifndef NETDATA_ZFS_COMMON_H |
| 4 | #define NETDATA_ZFS_COMMON_H 1 |
| 5 | |
| 6 | #include "database/rrd.h" |
| 7 | |
| 8 | #define ZFS_FAMILY_SIZE "size" |
| 9 | #define ZFS_FAMILY_EFFICIENCY "efficiency" |
| 10 | #define ZFS_FAMILY_ACCESSES "accesses" |
| 11 | #define ZFS_FAMILY_OPERATIONS "operations" |
| 12 | #define ZFS_FAMILY_HASH "hashes" |
| 13 | |
| 14 | struct arcstats { |
| 15 | // values |
| 16 | unsigned long long hits; |
| 17 | unsigned long long misses; |
| 18 | unsigned long long demand_data_hits; |
| 19 | unsigned long long demand_data_misses; |
| 20 | unsigned long long demand_metadata_hits; |
| 21 | unsigned long long demand_metadata_misses; |
| 22 | unsigned long long prefetch_data_hits; |
| 23 | unsigned long long prefetch_data_misses; |
| 24 | unsigned long long prefetch_metadata_hits; |
| 25 | unsigned long long prefetch_metadata_misses; |
| 26 | unsigned long long mru_hits; |
| 27 | unsigned long long mru_ghost_hits; |
| 28 | unsigned long long mfu_hits; |
| 29 | unsigned long long mfu_ghost_hits; |
| 30 | unsigned long long deleted; |
| 31 | unsigned long long mutex_miss; |
| 32 | unsigned long long evict_skip; |
| 33 | unsigned long long evict_not_enough; |
| 34 | unsigned long long evict_l2_cached; |
| 35 | unsigned long long evict_l2_eligible; |
| 36 | unsigned long long evict_l2_ineligible; |
| 37 | unsigned long long evict_l2_skip; |
| 38 | unsigned long long hash_elements; |
| 39 | unsigned long long hash_elements_max; |
| 40 | unsigned long long hash_collisions; |
| 41 | unsigned long long hash_chains; |
| 42 | unsigned long long hash_chain_max; |
| 43 | unsigned long long p; |
| 44 | unsigned long long pd; |
| 45 | unsigned long long pm; |
| 46 | unsigned long long c; |
| 47 | unsigned long long c_min; |
| 48 | unsigned long long c_max; |
| 49 | unsigned long long size; |
| 50 | unsigned long long hdr_size; |
| 51 | unsigned long long data_size; |
| 52 | unsigned long long metadata_size; |
| 53 | unsigned long long other_size; |
| 54 | unsigned long long anon_size; |
| 55 | unsigned long long anon_evictable_data; |
| 56 | unsigned long long anon_evictable_metadata; |
| 57 | unsigned long long mru_size; |
| 58 | unsigned long long mru_evictable_data; |
| 59 | unsigned long long mru_evictable_metadata; |
| 60 | unsigned long long mru_ghost_size; |
| 61 | unsigned long long mru_ghost_evictable_data; |
| 62 | unsigned long long mru_ghost_evictable_metadata; |
| 63 | unsigned long long mfu_size; |
| 64 | unsigned long long mfu_evictable_data; |
| 65 | unsigned long long mfu_evictable_metadata; |
| 66 | unsigned long long mfu_ghost_size; |
| 67 | unsigned long long mfu_ghost_evictable_data; |
| 68 | unsigned long long mfu_ghost_evictable_metadata; |
| 69 | unsigned long long l2_hits; |
| 70 | unsigned long long l2_misses; |
| 71 | unsigned long long l2_feeds; |
| 72 | unsigned long long l2_rw_clash; |
| 73 | unsigned long long l2_read_bytes; |
| 74 | unsigned long long l2_write_bytes; |
| 75 | unsigned long long l2_writes_sent; |
| 76 | unsigned long long l2_writes_done; |
| 77 | unsigned long long l2_writes_error; |
| 78 | unsigned long long l2_writes_lock_retry; |
| 79 | unsigned long long l2_evict_lock_retry; |
| 80 | unsigned long long l2_evict_reading; |
| 81 | unsigned long long l2_evict_l1cached; |
| 82 | unsigned long long l2_free_on_write; |
| 83 | unsigned long long l2_cdata_free_on_write; |
| 84 | unsigned long long l2_abort_lowmem; |
| 85 | unsigned long long l2_cksum_bad; |
| 86 | unsigned long long l2_io_error; |
| 87 | unsigned long long l2_size; |
| 88 | unsigned long long l2_asize; |
| 89 | unsigned long long l2_hdr_size; |
| 90 | unsigned long long l2_compress_successes; |
| 91 | unsigned long long l2_compress_zeros; |
| 92 | unsigned long long l2_compress_failures; |
| 93 | unsigned long long memory_throttle_count; |
| 94 | unsigned long long duplicate_buffers; |
| 95 | unsigned long long duplicate_buffers_size; |
| 96 | unsigned long long duplicate_reads; |
| 97 | unsigned long long memory_direct_count; |
| 98 | unsigned long long memory_indirect_count; |
| 99 | unsigned long long arc_no_grow; |
| 100 | unsigned long long arc_tempreserve; |
| 101 | unsigned long long arc_loaned_bytes; |
| 102 | unsigned long long arc_prune; |
| 103 | unsigned long long arc_meta_used; |
| 104 | unsigned long long arc_meta_limit; |
| 105 | unsigned long long arc_meta_max; |
| 106 | unsigned long long arc_meta_min; |
| 107 | unsigned long long arc_need_free; |
| 108 | unsigned long long arc_sys_free; |
| 109 | |
| 110 | // flags |
| 111 | int l2exist; |
| 112 | }; |
| 113 | |
| 114 | void generate_charts_arcstats(const char *plugin, const char *module, int update_every); |
| 115 | void generate_charts_arc_summary(const char *plugin, const char *module, int update_every); |
| 116 | |
| 117 | #endif //NETDATA_ZFS_COMMON_H |