From 23bc1f91fc5694699750be6343070e0d16fbe4ea Mon Sep 17 00:00:00 2001 From: Matthew Thode Date: Fri, 8 Nov 2013 15:52:06 -0600 Subject: [PATCH] pep8 code readability changes Update the code to follow the pep8 style guide. References: http://www.python.org/dev/peps/pep-0008/ Signed-off-by: Matthew Thode Signed-off-by: Brian Behlendorf Issue #1838 --- cmd/arcstat/arcstat.py | 23 +++-- cmd/dbufstat/dbufstat.py | 188 ++++++++++++++++++++++++--------------- 2 files changed, 126 insertions(+), 85 deletions(-) diff --git a/cmd/arcstat/arcstat.py b/cmd/arcstat/arcstat.py index f703e33cd..24f4aa77e 100755 --- a/cmd/arcstat/arcstat.py +++ b/cmd/arcstat/arcstat.py @@ -96,9 +96,9 @@ cols = { v = {} hdr = ["time", "read", "miss", "miss%", "dmis", "dm%", "pmis", "pm%", "mmis", - "mm%", "arcsz", "c"] + "mm%", "arcsz", "c"] xhdr = ["time", "mfu", "mru", "mfug", "mrug", "eskip", "mtxmis", "rmis", - "dread", "pread", "read"] + "dread", "pread", "read"] sint = 1 # Default interval is 1 second count = 1 # Default count is 1 hdr_intr = 20 # Print header every 20 lines of output @@ -107,7 +107,7 @@ sep = " " # Default separator is 2 spaces version = "0.4" l2exist = False cmd = ("Usage: arcstat.py [-hvx] [-f fields] [-o file] [-s string] [interval " - "[count]]\n") + "[count]]\n") cur = {} d = {} out = None @@ -129,12 +129,12 @@ def usage(): sys.stderr.write("%s\n" % cmd) sys.stderr.write("\t -h : Print this help message\n") sys.stderr.write("\t -v : List all possible field headers and definitions" - "\n") + "\n") sys.stderr.write("\t -x : Print extended stats\n") sys.stderr.write("\t -f : Specify specific fields to print (see -v)\n") sys.stderr.write("\t -o : Redirect output to the specified file\n") sys.stderr.write("\t -s : Override default field separator with custom " - "character or string\n") + "character or string\n") sys.stderr.write("\nExamples:\n") sys.stderr.write("\tarcstat.py -o /tmp/a.log 2 10\n") sys.stderr.write("\tarcstat.py -s \",\" -o /tmp/a.log 2 10\n") @@ -217,7 +217,7 @@ def print_values(): sys.stdout.write("%s%s" % ( prettynum(cols[col][0], cols[col][1], v[col]), sep - )) + )) sys.stdout.write("\n") @@ -326,9 +326,8 @@ def init(): usage() if len(incompat) > 0: - sys.stderr.write("Incompatible field specified! -- %s\n" % ( - incompat, - )) + sys.stderr.write("Incompatible field specified! -- %s\n" % + incompat) usage() if opfile: @@ -363,16 +362,16 @@ def calculate(): v["phit"] = (d["prefetch_data_hits"] + d["prefetch_metadata_hits"]) / sint v["pmis"] = (d["prefetch_data_misses"] + - d["prefetch_metadata_misses"]) / sint + d["prefetch_metadata_misses"]) / sint v["pread"] = v["phit"] + v["pmis"] v["ph%"] = 100 * v["phit"] / v["pread"] if v["pread"] > 0 else 0 v["pm%"] = 100 - v["ph%"] if v["pread"] > 0 else 0 v["mhit"] = (d["prefetch_metadata_hits"] + - d["demand_metadata_hits"]) / sint + d["demand_metadata_hits"]) / sint v["mmis"] = (d["prefetch_metadata_misses"] + - d["demand_metadata_misses"]) / sint + d["demand_metadata_misses"]) / sint v["mread"] = v["mhit"] + v["mmis"] v["mh%"] = 100 * v["mhit"] / v["mread"] if v["mread"] > 0 else 0 diff --git a/cmd/dbufstat/dbufstat.py b/cmd/dbufstat/dbufstat.py index 80569b1d4..ebe034eed 100755 --- a/cmd/dbufstat/dbufstat.py +++ b/cmd/dbufstat/dbufstat.py @@ -32,30 +32,31 @@ import sys import getopt import errno -bhdr = ["pool", "objset", "object", "level", "blkid", "offset", "dbsize"] +bhdr = ["pool", "objset", "object", "level", "blkid", "offset", "dbsize"] bxhdr = ["pool", "objset", "object", "level", "blkid", "offset", "dbsize", - "meta", "state", "dbholds", "list", "atype", "index", "flags", "count", - "asize", "access", "mru", "gmru", "mfu", "gmfu", "l2", "l2_dattr", - "l2_asize", "l2_comp", "aholds", "dtype", "btype", "data_bs", "meta_bs", - "bsize", "lvls", "dholds", "blocks", "dsize"] + "meta", "state", "dbholds", "list", "atype", "index", "flags", + "count", "asize", "access", "mru", "gmru", "mfu", "gmfu", "l2", + "l2_dattr", "l2_asize", "l2_comp", "aholds", "dtype", "btype", + "data_bs", "meta_bs", "bsize", "lvls", "dholds", "blocks", "dsize"] bincompat = ["cached", "direct", "indirect", "bonus", "spill"] -dhdr = ["pool", "objset", "object", "dtype", "cached"] +dhdr = ["pool", "objset", "object", "dtype", "cached"] dxhdr = ["pool", "objset", "object", "dtype", "btype", "data_bs", "meta_bs", - "bsize", "lvls", "dholds", "blocks", "dsize", "cached", "direct", - "indirect", "bonus", "spill"] + "bsize", "lvls", "dholds", "blocks", "dsize", "cached", "direct", + "indirect", "bonus", "spill"] dincompat = ["level", "blkid", "offset", "dbsize", "meta", "state", "dbholds", - "list", "atype", "index", "flags", "count", "asize", "access", "mru", - "gmru", "mfu", "gmfu", "l2", "l2_dattr", "l2_asize", "l2_comp", "aholds"] + "list", "atype", "index", "flags", "count", "asize", "access", + "mru", "gmru", "mfu", "gmfu", "l2", "l2_dattr", "l2_asize", + "l2_comp", "aholds"] -thdr = ["pool", "objset", "dtype", "cached"] +thdr = ["pool", "objset", "dtype", "cached"] txhdr = ["pool", "objset", "dtype", "cached", "direct", "indirect", - "bonus", "spill"] + "bonus", "spill"] tincompat = ["object", "level", "blkid", "offset", "dbsize", "meta", "state", - "dbholds", "list", "atype", "index", "flags", "count", "asize", "access", - "mru", "gmru", "mfu", "gmfu", "l2", "l2_dattr", "l2_asize", "l2_comp", - "aholds", "btype", "data_bs", "meta_bs", "bsize", "lvls", "dholds", - "blocks", "dsize"] + "dbholds", "list", "atype", "index", "flags", "count", "asize", + "access", "mru", "gmru", "mfu", "gmfu", "l2", "l2_dattr", + "l2_asize", "l2_comp", "aholds", "btype", "data_bs", "meta_bs", + "bsize", "lvls", "dholds", "blocks", "dsize"] cols = { # hdr: [size, scale, description] @@ -101,13 +102,14 @@ cols = { "spill": [5, 1024, "bytes cached for spill block"], } -hdr = None +hdr = None xhdr = None -sep = " " # Default separator is 2 spaces +sep = " " # Default separator is 2 spaces cmd = ("Usage: dbufstat.py [-bdhrtvx] [-i file] [-f fields] [-o file] " - "[-s string]\n") + "[-s string]\n") raw = 0 + def print_incompat_helper(incompat): cnt = 0 for key in sorted(incompat): @@ -124,6 +126,7 @@ def print_incompat_helper(incompat): sys.stderr.write("\n\n") + def detailed_usage(): sys.stderr.write("%s\n" % cmd) @@ -143,21 +146,23 @@ def detailed_usage(): sys.exit(1) + def usage(): sys.stderr.write("%s\n" % cmd) sys.stderr.write("\t -b : Print table of information for each dbuf\n") sys.stderr.write("\t -d : Print table of information for each dnode\n") sys.stderr.write("\t -h : Print this help message\n") sys.stderr.write("\t -r : Print raw values\n") - sys.stderr.write("\t -t : Print table of information for each dnode type\n") + sys.stderr.write("\t -t : Print table of information for each dnode type" + "\n") sys.stderr.write("\t -v : List all possible field headers and definitions" - "\n") + "\n") sys.stderr.write("\t -x : Print extended stats\n") sys.stderr.write("\t -i : Redirect input from the specified file\n") sys.stderr.write("\t -f : Specify specific fields to print (see -v)\n") sys.stderr.write("\t -o : Redirect output to the specified file\n") sys.stderr.write("\t -s : Override default field separator with custom " - "character or string\n") + "character or string\n") sys.stderr.write("\nExamples:\n") sys.stderr.write("\tdbufstat.py -d -o /tmp/d.log\n") sys.stderr.write("\tdbufstat.py -t -s \",\" -o /tmp/t.log\n") @@ -167,6 +172,7 @@ def usage(): sys.exit(1) + def prettynum(sz, scale, num=0): global raw @@ -194,6 +200,7 @@ def prettynum(sz, scale, num=0): else: return "%*d%s" % (sz - 1, num, suffix[index]) + def print_values(v): global hdr global sep @@ -207,6 +214,7 @@ def print_values(v): if e.errno == errno.EPIPE: sys.exit(1) + def print_header(): global hdr global sep @@ -219,52 +227,82 @@ def print_header(): if e.errno == errno.EPIPE: sys.exit(1) + def get_typestring(t): type_strings = ["DMU_OT_NONE", - # general: - "DMU_OT_OBJECT_DIRECTORY", "DMU_OT_OBJECT_ARRAY", - "DMU_OT_PACKED_NVLIST", "DMU_OT_PACKED_NVLIST_SIZE", - "DMU_OT_BPOBJ", "DMU_OT_BPOBJ_HDR", - # spa: - "DMU_OT_SPACE_MAP_HEADER", "DMU_OT_SPACE_MAP", - # zil: - "DMU_OT_INTENT_LOG", - # dmu: - "DMU_OT_DNODE", "DMU_OT_OBJSET", - # dsl: - "DMU_OT_DSL_DIR", "DMU_OT_DSL_DIR_CHILD_MAP", - "DMU_OT_DSL_DS_SNAP_MAP", "DMU_OT_DSL_PROPS", - "DMU_OT_DSL_DATASET", - # zpl: - "DMU_OT_ZNODE", "DMU_OT_OLDACL", "DMU_OT_PLAIN_FILE_CONTENTS", - "DMU_OT_DIRECTORY_CONTENTS", "DMU_OT_MASTER_NODE", - "DMU_OT_UNLINKED_SET", - # zvol: - "DMU_OT_ZVOL", "DMU_OT_ZVOL_PROP", - # other; for testing only! - "DMU_OT_PLAIN_OTHER", "DMU_OT_UINT64_OTHER", "DMU_OT_ZAP_OTHER", - # new object types: - "DMU_OT_ERROR_LOG", "DMU_OT_SPA_HISTORY", - "DMU_OT_SPA_HISTORY_OFFSETS", "DMU_OT_POOL_PROPS", - "DMU_OT_DSL_PERMS", "DMU_OT_ACL", "DMU_OT_SYSACL", - "DMU_OT_FUID", "DMU_OT_FUID_SIZE", "DMU_OT_NEXT_CLONES", - "DMU_OT_SCAN_QUEUE", "DMU_OT_USERGROUP_USED", - "DMU_OT_USERGROUP_QUOTA", "DMU_OT_USERREFS", "DMU_OT_DDT_ZAP", - "DMU_OT_DDT_STATS", "DMU_OT_SA", "DMU_OT_SA_MASTER_NODE", - "DMU_OT_SA_ATTR_REGISTRATION", "DMU_OT_SA_ATTR_LAYOUTS", - "DMU_OT_SCAN_XLATE", "DMU_OT_DEDUP", "DMU_OT_DEADLIST", - "DMU_OT_DEADLIST_HDR", "DMU_OT_DSL_CLONES", - "DMU_OT_BPOBJ_SUBOBJ"] + # general: + "DMU_OT_OBJECT_DIRECTORY", + "DMU_OT_OBJECT_ARRAY", + "DMU_OT_PACKED_NVLIST", + "DMU_OT_PACKED_NVLIST_SIZE", + "DMU_OT_BPOBJ", + "DMU_OT_BPOBJ_HDR", + # spa: + "DMU_OT_SPACE_MAP_HEADER", + "DMU_OT_SPACE_MAP", + # zil: + "DMU_OT_INTENT_LOG", + # dmu: + "DMU_OT_DNODE", + "DMU_OT_OBJSET", + # dsl: + "DMU_OT_DSL_DIR", + "DMU_OT_DSL_DIR_CHILD_MAP", + "DMU_OT_DSL_DS_SNAP_MAP", + "DMU_OT_DSL_PROPS", + "DMU_OT_DSL_DATASET", + # zpl: + "DMU_OT_ZNODE", + "DMU_OT_OLDACL", + "DMU_OT_PLAIN_FILE_CONTENTS", + "DMU_OT_DIRECTORY_CONTENTS", + "DMU_OT_MASTER_NODE", + "DMU_OT_UNLINKED_SET", + # zvol: + "DMU_OT_ZVOL", + "DMU_OT_ZVOL_PROP", + # other; for testing only! + "DMU_OT_PLAIN_OTHER", + "DMU_OT_UINT64_OTHER", + "DMU_OT_ZAP_OTHER", + # new object types: + "DMU_OT_ERROR_LOG", + "DMU_OT_SPA_HISTORY", + "DMU_OT_SPA_HISTORY_OFFSETS", + "DMU_OT_POOL_PROPS", + "DMU_OT_DSL_PERMS", + "DMU_OT_ACL", + "DMU_OT_SYSACL", + "DMU_OT_FUID", + "DMU_OT_FUID_SIZE", + "DMU_OT_NEXT_CLONES", + "DMU_OT_SCAN_QUEUE", + "DMU_OT_USERGROUP_USED", + "DMU_OT_USERGROUP_QUOTA", + "DMU_OT_USERREFS", + "DMU_OT_DDT_ZAP", + "DMU_OT_DDT_STATS", + "DMU_OT_SA", + "DMU_OT_SA_MASTER_NODE", + "DMU_OT_SA_ATTR_REGISTRATION", + "DMU_OT_SA_ATTR_LAYOUTS", + "DMU_OT_SCAN_XLATE", + "DMU_OT_DEDUP", + "DMU_OT_DEADLIST", + "DMU_OT_DEADLIST_HDR", + "DMU_OT_DSL_CLONES", + "DMU_OT_BPOBJ_SUBOBJ"] # If "-rr" option is used, don't convert to string representation if raw > 1: return "%i" % t try: - return type_strings[t]; + return type_strings[t] except IndexError: return "%i" % t + def get_compstring(c): comp_strings = ["ZIO_COMPRESS_INHERIT", "ZIO_COMPRESS_ON", "ZIO_COMPRESS_OFF", "ZIO_COMPRESS_LZJB", @@ -281,10 +319,11 @@ def get_compstring(c): return "%i" % c try: - return comp_strings[c]; + return comp_strings[c] except IndexError: return "%i" % c + def parse_line(line, labels): global hdr @@ -307,14 +346,15 @@ def parse_line(line, labels): return new + def update_dict(d, k, line, labels): - pool = line[labels['pool']] + pool = line[labels['pool']] objset = line[labels['objset']] - key = line[labels[k]] + key = line[labels[k]] dbsize = int(line[labels['dbsize']]) - blkid = int(line[labels['blkid']]) - level = int(line[labels['level']]) + blkid = int(line[labels['blkid']]) + level = int(line[labels['level']]) if pool not in d: d[pool] = dict() @@ -323,12 +363,12 @@ def update_dict(d, k, line, labels): d[pool][objset] = dict() if key not in d[pool][objset]: - d[pool][objset][key] = parse_line(line, labels) - d[pool][objset][key]['bonus'] = 0 - d[pool][objset][key]['cached'] = 0 - d[pool][objset][key]['direct'] = 0 + d[pool][objset][key] = parse_line(line, labels) + d[pool][objset][key]['bonus'] = 0 + d[pool][objset][key]['cached'] = 0 + d[pool][objset][key]['direct'] = 0 d[pool][objset][key]['indirect'] = 0 - d[pool][objset][key]['spill'] = 0 + d[pool][objset][key]['spill'] = 0 d[pool][objset][key]['cached'] += dbsize @@ -404,6 +444,7 @@ def buffers_print_all(filehandle): for line in filehandle: print_values(parse_line(line.split(), labels)) + def main(): global hdr global sep @@ -474,10 +515,10 @@ def main(): usage() if bflag: - hdr = bxhdr if xflag else bhdr + hdr = bxhdr if xflag else bhdr elif tflag: - hdr = txhdr if xflag else thdr - else: # Even if dflag is False, it's the default if none set + hdr = txhdr if xflag else thdr + else: # Even if dflag is False, it's the default if none set dflag = True hdr = dxhdr if xflag else dhdr @@ -499,7 +540,8 @@ def main(): usage() if len(incompat) > 0: - sys.stderr.write("Incompatible field specified! -- %s\n" % incompat) + sys.stderr.write("Incompatible field specified! -- %s\n" % + incompat) usage() if ofile: @@ -507,8 +549,8 @@ def main(): tmp = open(ofile, "w") sys.stdout = tmp - except: - sys.stderr.write("Cannot open %s for writing\n", ofile) + except IOError: + sys.stderr.write("Cannot open %s for writing\n" % ofile) sys.exit(1) if not ifile: