stanley-00 commited on
Commit
6194b3e
·
1 Parent(s): 7faa506

DIAG: env diff + delayed listener re-dump

Browse files
Files changed (1) hide show
  1. app.py +43 -16
app.py CHANGED
@@ -69,22 +69,23 @@ def _dump_env(pid):
69
  print(f"DIAGENV{pid} " + " ".join(f"{k}={v}" for k, v in picks.items()))
70
 
71
 
72
- def _dump():
73
- print("DIAGENV " + " ".join(
74
- f"{k}={os.environ.get(k)}" for k in (
75
- "GRADIO_SSR_MODE", "PORT", "GRADIO_SERVER_PORT",
76
- "GRADIO_SERVER_NAME", "GRADIO_NODE_PATH", "SPACES_ZERO_GPU",
77
- "SPACES_ZERO_DEVICE_API_URL", "ZEROGPU_V2",
78
- "GRADIO_NUM_WORKERS", "NODE_PATH", "HOME",
79
- )
80
- ))
81
- print("DIAGPROC " + " | ".join(x for x in (
82
- _procinfo(p) for p in ("1", "2", "224", "239", "7860")
83
- ) if x))
84
- _dump_env("1")
85
- _dump_env("224")
86
  ino = _fmt_ino()
87
  import socket as sk
 
88
  for proto in ("/proc/net/tcp", "/proc/net/tcp6"):
89
  try:
90
  with open(proto) as f:
@@ -97,15 +98,41 @@ def _dump():
97
  af = sk.AF_INET6 if proto.endswith("6") else sk.AF_INET
98
  ip = sk.inet_ntop(af, bytes.fromhex(ip_hex))
99
  port = int(port_hex, 16)
100
- owner = ino.get(p[9], "?")
101
- print(f"DIAGL {ip}:{port} pid={owner}")
102
  except OSError:
103
  continue
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
 
105
 
106
  demo.launch(server_name="0.0.0.0", prevent_thread_lock=True)
107
 
108
  _dump()
 
109
 
110
  import time
 
 
 
 
 
 
 
 
111
  time.sleep(3600)
 
69
  print(f"DIAGENV{pid} " + " ".join(f"{k}={v}" for k, v in picks.items()))
70
 
71
 
72
+ def _dump_env_diff():
73
+ try:
74
+ e1 = open("/proc/1/environ").read().replace("\x00", "\n").splitlines()
75
+ e2 = open("/proc/224/environ").read().replace("\x00", "\n").splitlines()
76
+ d1, d2 = dict(l.split("=", 1) for l in e1 if "=" in l), dict(l.split("=", 1) for l in e2 if "=" in l)
77
+ only1 = sorted(set(d1) - set(d2))
78
+ only2 = sorted(set(d2) - set(d1))
79
+ print("DIAGDIFF only1=" + ",".join(only1) if only1 else "DIAGDIFF only1=none")
80
+ print("DIAGDIFF only2=" + ",".join(only2) if only2 else "DIAGDIFF only2=none")
81
+ except OSError:
82
+ pass
83
+
84
+
85
+ def _listeners():
86
  ino = _fmt_ino()
87
  import socket as sk
88
+ out = []
89
  for proto in ("/proc/net/tcp", "/proc/net/tcp6"):
90
  try:
91
  with open(proto) as f:
 
98
  af = sk.AF_INET6 if proto.endswith("6") else sk.AF_INET
99
  ip = sk.inet_ntop(af, bytes.fromhex(ip_hex))
100
  port = int(port_hex, 16)
101
+ out.append((ip, port, ino.get(p[9], "?")))
 
102
  except OSError:
103
  continue
104
+ return out
105
+
106
+
107
+ def _dump():
108
+ print("DIAGENV " + " ".join(
109
+ f"{k}={os.environ.get(k)}" for k in (
110
+ "GRADIO_SSR_MODE", "PORT", "GRADIO_SERVER_PORT",
111
+ "GRADIO_SERVER_NAME", "GRADIO_NODE_PATH", "SPACES_ZERO_GPU",
112
+ "SPACES_ZERO_DEVICE_API_URL", "ZEROGPU_V2",
113
+ "GRADIO_NUM_WORKERS", "NODE_PATH", "HOME",
114
+ )
115
+ ))
116
+ print("DIAGPROC " + " | ".join(x for x in (
117
+ _procinfo(p) for p in ("1", "2", "224", "239", "7860")
118
+ ) if x))
119
+ _dump_env("1")
120
+ _dump_env("224")
121
+ print("DIAGL " + " | ".join(f"{ip}:{port}={owner}" for ip, port, owner in _listeners()))
122
 
123
 
124
  demo.launch(server_name="0.0.0.0", prevent_thread_lock=True)
125
 
126
  _dump()
127
+ _dump_env_diff()
128
 
129
  import time
130
+ time.sleep(20)
131
+ print("DIAGL2 " + " | ".join(
132
+ f"{ip}:{port}={owner}" for ip, port, owner in _listeners()
133
+ ))
134
+ if os.path.exists("/proc/224"):
135
+ print("DIAG224 alive after 20s")
136
+ else:
137
+ print("DIAG224 EXITED")
138
  time.sleep(3600)