- arc_size = get_kstat_value(ksp, "size");
- l2_size = get_kstat_value(ksp, "l2_size");
-
- za_submit_gauge ("cache_size", "arc", arc_size);
- za_submit_gauge ("cache_size", "L2", l2_size);
-
- mutex_miss = get_kstat_value (ksp, "mutex_miss");
- za_submit_derive ("mutex_operation", "miss", mutex_miss);
-
- allocated = get_kstat_value(ksp, "allocated");
- deleted = get_kstat_value(ksp, "deleted");
- stolen = get_kstat_value(ksp, "stolen");
- za_submit_derive ("cache_operation", "allocated", allocated);
- za_submit_derive ("cache_operation", "deleted", deleted);
- za_submit_derive ("cache_operation", "stolen", stolen);
-
- hash_collisions = get_kstat_value(ksp, "hash_collisions");
- za_submit_derive ("hash_collisions", "", hash_collisions);
-
- evict_l2_cached = get_kstat_value(ksp, "evict_l2_cached");
- evict_l2_eligible = get_kstat_value(ksp, "evict_l2_eligible");
- evict_l2_ineligible = get_kstat_value(ksp, "evict_l2_ineligible");
-
- za_submit_derive ("cache_eviction", "cached", evict_l2_cached);
- za_submit_derive ("cache_eviction", "eligible", evict_l2_eligible);
- za_submit_derive ("cache_eviction", "ineligible", evict_l2_ineligible);
+ za_read_gauge (ksp, "size", "cache_size", "arc");
+ za_read_gauge (ksp, "l2_size", "cache_size", "L2");
+
+ /* Operations */
+ za_read_derive (ksp, "deleted", "cache_operation", "deleted");
+#if __FreeBSD__
+ za_read_derive (ksp, "allocated","cache_operation", "allocated");
+ za_read_derive (ksp, "stolen", "cache_operation", "stolen");
+#endif
+
+ /* Issue indicators */
+ za_read_derive (ksp, "mutex_miss", "mutex_operations", "miss");
+ za_read_derive (ksp, "hash_collisions", "hash_collisions", "");
+
+ /* Evictions */
+ za_read_derive (ksp, "evict_l2_cached", "cache_eviction", "cached");
+ za_read_derive (ksp, "evict_l2_eligible", "cache_eviction", "eligible");
+ za_read_derive (ksp, "evict_l2_ineligible", "cache_eviction", "ineligible");