Browse Source

add --dump-sysinfo, a cmd arg to dump limited sysinfo file at startup

AUTOMATIC1111 2 years ago
parent
commit
d0026da483
3 changed files with 21 additions and 0 deletions
  1. 7 0
      launch.py
  2. 1 0
      modules/cmd_args.py
  3. 13 0
      modules/launch_utils.py

+ 7 - 0
launch.py

@@ -25,6 +25,13 @@ start = launch_utils.start
 
 
 def main():
+    if args.dump_sysinfo:
+        filename = launch_utils.dump_sysinfo()
+
+        print(f"Sysinfo saved as {filename}. Exiting...")
+
+        exit(0)
+
     launch_utils.startup_timer.record("initial startup")
 
     with launch_utils.startup_timer.subcategory("prepare environment"):

+ 1 - 0
modules/cmd_args.py

@@ -16,6 +16,7 @@ parser.add_argument("--test-server", action='store_true', help="launch.py argume
 parser.add_argument("--log-startup", action='store_true', help="launch.py argument: print a detailed log of what's happening at startup")
 parser.add_argument("--skip-prepare-environment", action='store_true', help="launch.py argument: skip all environment preparation")
 parser.add_argument("--skip-install", action='store_true', help="launch.py argument: skip installation of packages")
+parser.add_argument("--dump-sysinfo", action='store_true', help="launch.py argument: dump limited sysinfo file (without information about extensions, options) to disk and quit")
 parser.add_argument("--loglevel", type=str, help="log level; one of: CRITICAL, ERROR, WARNING, INFO, DEBUG", default=None)
 parser.add_argument("--do-not-download-clip", action='store_true', help="do not download CLIP model even if it's not included in the checkpoint")
 parser.add_argument("--data-dir", type=str, default=os.path.dirname(os.path.dirname(os.path.realpath(__file__))), help="base path where all user data is stored")

+ 13 - 0
modules/launch_utils.py

@@ -434,3 +434,16 @@ def start():
         webui.api_only()
     else:
         webui.webui()
+
+
+def dump_sysinfo():
+    from modules import sysinfo
+    import datetime
+
+    text = sysinfo.get()
+    filename = f"sysinfo-{datetime.datetime.utcnow().strftime('%Y-%m-%d-%H-%M')}.txt"
+
+    with open(filename, "w", encoding="utf8") as file:
+        file.write(text)
+
+    return filename