AlexNijjar commited on
Commit
ecf13ce
β€’
1 Parent(s): 92f1024

Add vtrust and updated

Browse files
Files changed (1) hide show
  1. app.py +21 -4
app.py CHANGED
@@ -61,6 +61,8 @@ class State:
61
 
62
  data: dict[int, State] = {}
63
  validator_identities: dict[int, str] = {}
 
 
64
 
65
 
66
  def is_valid_run(run: Run):
@@ -83,7 +85,10 @@ def is_valid_run(run: Run):
83
 
84
 
85
  def fetch_wandb_data():
86
- noon = datetime.now(tz=ZoneInfo("America/New_York")).replace(hour=12, minute=0, second=0, microsecond=0)
 
 
 
87
  global data
88
  wandb_runs = wandb_api.runs(
89
  WANDB_RUN_PATH,
@@ -160,6 +165,15 @@ def fetch_identities():
160
  validator_identities[uid] = identity.value["name"]
161
 
162
 
 
 
 
 
 
 
 
 
 
163
  def get_validator_name(validator_uid: int) -> str:
164
  if validator_uid in validator_identities:
165
  return validator_identities[validator_uid]
@@ -180,6 +194,7 @@ def refresh():
180
  metagraph.sync(subtensor=subtensor)
181
  fetch_wandb_data()
182
  fetch_identities()
 
183
  demo.clear()
184
  now = datetime.now(tz=ZoneInfo("America/New_York"))
185
 
@@ -207,13 +222,15 @@ def refresh():
207
  state.invalid,
208
  f"<span style='color: {'orange' if state.average_benchmark_time > AVERAGE_BENCHMARK_TIME_WARNING_THRESHOLD else 'springgreen'}'>{average_time_text[0]}</span>",
209
  f"<span style='color: {'orange' if eta > ETA_WARNING_THRESHOLD else 'springgreen'}'>{eta_time}</span>",
210
- f"<span style='color: {'orange' if eta > ETA_WARNING_THRESHOLD else 'springgreen'}'>{time_left if eta > 0 and state.status == Status.IN_PROGRESS else state.status.get_alt_time_text()}</span>"
 
 
211
  ))
212
 
213
  gr.components.Dataframe(
214
  elements,
215
- headers=["UID", "Name", "Version", "Status", "Winner", "Tested", "Submissions", "Invalid", "Avg. Benchmark Time", "ETA (Eastern Time)", "ETA Remaining"],
216
- datatype=["number", "markdown", "markdown", "markdown", "markdown", "number", "number", "number", "markdown", "markdown", "markdown"],
217
  elem_id="state-table",
218
  )
219
 
 
61
 
62
  data: dict[int, State] = {}
63
  validator_identities: dict[int, str] = {}
64
+ validator_vtrust: dict[int, float] = {}
65
+ validator_updated: dict[int, int] = {}
66
 
67
 
68
  def is_valid_run(run: Run):
 
85
 
86
 
87
  def fetch_wandb_data():
88
+ now = datetime.now(tz=ZoneInfo("America/New_York"))
89
+ noon = now.replace(hour=12, minute=0, second=0, microsecond=0)
90
+ if now.hour < 12:
91
+ noon -= timedelta(days=1)
92
  global data
93
  wandb_runs = wandb_api.runs(
94
  WANDB_RUN_PATH,
 
165
  validator_identities[uid] = identity.value["name"]
166
 
167
 
168
+ def fetch_metagraph_data():
169
+ validator_vtrust.clear()
170
+ validator_updated.clear()
171
+ block = subtensor.get_current_block()
172
+ for uid in data.keys():
173
+ validator_vtrust[uid] = metagraph.validator_trust[uid]
174
+ validator_updated[uid] = block - metagraph.last_update[uid]
175
+
176
+
177
  def get_validator_name(validator_uid: int) -> str:
178
  if validator_uid in validator_identities:
179
  return validator_identities[validator_uid]
 
194
  metagraph.sync(subtensor=subtensor)
195
  fetch_wandb_data()
196
  fetch_identities()
197
+ fetch_metagraph_data()
198
  demo.clear()
199
  now = datetime.now(tz=ZoneInfo("America/New_York"))
200
 
 
222
  state.invalid,
223
  f"<span style='color: {'orange' if state.average_benchmark_time > AVERAGE_BENCHMARK_TIME_WARNING_THRESHOLD else 'springgreen'}'>{average_time_text[0]}</span>",
224
  f"<span style='color: {'orange' if eta > ETA_WARNING_THRESHOLD else 'springgreen'}'>{eta_time}</span>",
225
+ f"<span style='color: {'orange' if eta > ETA_WARNING_THRESHOLD else 'springgreen'}'>{time_left if eta > 0 and state.status == Status.IN_PROGRESS else state.status.get_alt_time_text()}</span>",
226
+ f"<span style='color: {'springgreen' if validator_vtrust[uid] > 0.75 else 'red'}'>{validator_vtrust[uid]:.4f}</span>",
227
+ f"<span style='color: {'springgreen' if validator_updated[uid] < 1000 else 'red'}'>{validator_updated[uid]}</span>",
228
  ))
229
 
230
  gr.components.Dataframe(
231
  elements,
232
+ headers=["UID", "Name", "Version", "Status", "Winner UID", "Tested", "Submissions", "Invalid", "Avg. Benchmark Time", "ETA (Eastern Time)", "ETA Remaining", "VTrust", "Updated"],
233
+ datatype=["number", "markdown", "markdown", "markdown", "markdown", "number", "number", "number", "markdown", "markdown", "markdown", "markdown", "markdown"],
234
  elem_id="state-table",
235
  )
236