Lines Matching +full:keys +full:- +full:per +full:- +full:group
2 # SPDX-License-Identifier: CDDL-1.0
5 # For a definition of fields, or usage, use zarcstat -v
17 # but has since moved to the illumos-gate repository.
33 # or https://opensource.org/licenses/CDDL-1.0.
66 "time": [8, -1, "Time"],
67 "hits": [4, 1000, "ARC hits per second"],
68 "iohs": [4, 1000, "ARC I/O hits per second"],
69 "miss": [4, 1000, "ARC misses per second"],
70 "read": [4, 1000, "Total ARC accesses per second"],
74 "dhit": [4, 1000, "Demand hits per second"],
75 "dioh": [4, 1000, "Demand I/O hits per second"],
76 "dmis": [4, 1000, "Demand misses per second"],
80 "ddhit": [5, 1000, "Demand data hits per second"],
81 "ddioh": [5, 1000, "Demand data I/O hits per second"],
82 "ddmis": [5, 1000, "Demand data misses per second"],
86 "dmhit": [5, 1000, "Demand metadata hits per second"],
87 "dmioh": [5, 1000, "Demand metadata I/O hits per second"],
88 "dmmis": [5, 1000, "Demand metadata misses per second"],
92 "phit": [4, 1000, "Prefetch hits per second"],
93 "pioh": [4, 1000, "Prefetch I/O hits per second"],
94 "pmis": [4, 1000, "Prefetch misses per second"],
98 "pdhit": [5, 1000, "Prefetch data hits per second"],
99 "pdioh": [5, 1000, "Prefetch data I/O hits per second"],
100 "pdmis": [5, 1000, "Prefetch data misses per second"],
104 "pmhit": [5, 1000, "Prefetch metadata hits per second"],
105 "pmioh": [5, 1000, "Prefetch metadata I/O hits per second"],
106 "pmmis": [5, 1000, "Prefetch metadata misses per second"],
110 "mhit": [4, 1000, "Metadata hits per second"],
111 "mioh": [4, 1000, "Metadata I/O hits per second"],
112 "mmis": [4, 1000, "Metadata misses per second"],
113 "mread": [5, 1000, "Metadata accesses per second"],
120 "mfu": [4, 1000, "MFU list hits per second"],
121 "mru": [4, 1000, "MRU list hits per second"],
122 "mfug": [4, 1000, "MFU ghost list hits per second"],
123 "mrug": [4, 1000, "MRU ghost list hits per second"],
124 "unc": [4, 1000, "Uncached list hits per second"],
125 "eskip": [5, 1000, "evict_skip per second"],
126 "el2skip": [7, 1000, "evict skip, due to l2 writes, per second"],
127 "el2cach": [7, 1024, "Size of L2 cached evictions per second"],
128 "el2el": [5, 1024, "Size of L2 eligible evictions per second"],
129 "el2mfu": [6, 1024, "Size of L2 eligible MFU evictions per second"],
130 "el2mru": [6, 1024, "Size of L2 eligible MRU evictions per second"],
131 "el2inel": [7, 1024, "Size of L2 ineligible evictions per second"],
132 "mtxmis": [6, 1000, "mutex_miss per second"],
133 "dread": [5, 1000, "Demand accesses per second"],
134 "ddread": [6, 1000, "Demand data accesses per second"],
135 "dmread": [6, 1000, "Demand metadata accesses per second"],
136 "pread": [5, 1000, "Prefetch accesses per second"],
137 "pdread": [6, 1000, "Prefetch data accesses per second"],
138 "pmread": [6, 1000, "Prefetch metadata accesses per second"],
139 "l2hits": [6, 1000, "L2ARC hits per second"],
140 "l2miss": [6, 1000, "L2ARC misses per second"],
141 "l2read": [6, 1000, "Total L2ARC accesses per second"],
156 "l2bytes": [7, 1024, "Bytes read per second from the L2ARC"],
157 "l2wbytes": [8, 1024, "Bytes written per second to the L2ARC"],
163 "ztotal": [6, 1000, "zfetch total prefetcher calls per second"],
164 "zhits": [5, 1000, "zfetch stream hits per second"],
165 "zahead": [6, 1000, "zfetch hits ahead of streams per second"],
166 "zpast": [5, 1000, "zfetch hits behind streams per second"],
167 "zmisses": [7, 1000, "zfetch stream misses per second"],
168 "zmax": [4, 1000, "zfetch limit reached per second"],
169 "zfuture": [7, 1000, "zfetch stream future per second"],
170 "zstride": [7, 1000, "zfetch stream strides per second"],
171 "zissued": [7, 1000, "zfetch prefetches issued per second"],
172 "zactive": [7, 1000, "zfetch prefetches active per second"],
240 for group in stats:
241 for stat, statval in group.items():
243 ("fields" in group and field not in group["fields"]):
248 if "percent" in group:
265 cmd = ("Usage: zarcstat [-havxp] [-f fields] [-o file] [-s string] [interval "
275 # Requires py-sysctl on FreeBSD
340 sys.stderr.write("\t -h : Print this help message\n")
341 sys.stderr.write("\t -a : Print all possible stats\n")
342 sys.stderr.write("\t -v : List all possible field headers and definitions"
344 sys.stderr.write("\t -x : Print extended stats\n")
345 sys.stderr.write("\t -z : Print zfetch stats\n")
346 sys.stderr.write("\t -f : Specify specific fields to print (see -v)\n")
347 sys.stderr.write("\t -o : Redirect output to the specified file\n")
348 sys.stderr.write("\t -s : Override default field separator with custom "
350 sys.stderr.write("\t -p : Disable auto-scaling of numerical fields\n")
352 sys.stderr.write("\tzarcstat -o /tmp/a.log 2 10\n")
353 sys.stderr.write("\tzarcstat -s \",\" -o /tmp/a.log 2 10\n")
354 sys.stderr.write("\tzarcstat -v\n")
355 sys.stderr.write("\tzarcstat -f time,hit%,dh%,ph%,mh% 1\n")
378 v = (s-int(pd))*(s-int(meta))/s
380 v = (s-int(pm))*int(meta)/s
382 v = int(pd)*(s-int(meta))/s
396 d[key] = cur[key] - prev[key]
414 if scale == -1:
422 width = sz - (0 if index == 0 else 1)
478 hdr_intr = lines - 3
527 if opt in ('-a', '--all'):
529 if opt in ('-x', '--extended'):
531 if opt in ('-o', '--outfile'):
534 if opt in ('-h', '--help'):
536 if opt in ('-v', '--verbose'):
538 if opt in ('-s', '--separator'):
541 if opt in ('-f', '--columns'):
544 if opt in ('-p', '--parsable'):
546 if opt in ('-z', '--zfetch'):
587 sys.stderr.write("Invalid column definition! -- %s\n" % invalid)
591 sys.stderr.write("Incompatible field specified! -- %s\n" %
597 hdr = cols.keys()
599 hdr = [col for col in cols.keys() if not col.startswith("l2")]
624 v["miss%"] = 100 - v["hit%"] - v["ioh%"] if v["read"] > 0 else 0
633 v["dm%"] = 100 - v["dh%"] - v["di%"] if v["dread"] > 0 else 0
642 v["ddm%"] = 100 - v["ddh%"] - v["ddi%"] if v["ddread"] > 0 else 0
651 v["dmm%"] = 100 - v["dmh%"] - v["dmi%"] if v["dmread"] > 0 else 0
662 v["pm%"] = 100 - v["ph%"] - v["pi%"] if v["pread"] > 0 else 0
671 v["pdm%"] = 100 - v["pdh%"] - v["pdi%"] if v["pdread"] > 0 else 0
680 v["pmm%"] = 100 - v["pmh%"] - v["pmi%"] if v["pmread"] > 0 else 0
692 v["mm%"] = 100 - v["mh%"] - v["mi%"] if v["mread"] > 0 else 0
727 for group in stats:
728 for stat, statval in group.items():
730 ("fields" in group and field not in group["fields"]):
734 if "percent" in group:
736 v[group["percent"]] if v[group["percent"]] > 0 else 0
745 v["l2miss%"] = 100 - v["l2hit%"] if v["l2read"] > 0 else 0
795 count -= 1