SaulLu commited on
Commit
3c445df
·
1 Parent(s): d9b2598

remove default spinner for function cache

Browse files
Files changed (1) hide show
  1. dashboard_utils/bubbles.py +24 -15
dashboard_utils/bubbles.py CHANGED
@@ -13,9 +13,10 @@ from dashboard_utils.time_tracker import _log, simple_time_tracker
13
  URL_QUICKSEARCH = "https://huggingface.co/api/quicksearch?"
14
  WANDB_REPO = "learning-at-home/Worker_logs"
15
  CACHE_TTL = 100
 
16
 
17
 
18
- @st.cache(ttl=CACHE_TTL)
19
  @simple_time_tracker(_log)
20
  def get_new_bubble_data():
21
  serialized_data_points, latest_timestamp = get_serialized_data_points()
@@ -30,7 +31,7 @@ def get_new_bubble_data():
30
  return serialized_data, profiles
31
 
32
 
33
- @st.cache(ttl=CACHE_TTL)
34
  @simple_time_tracker(_log)
35
  def get_profiles(usernames):
36
  profiles = []
@@ -62,7 +63,7 @@ def get_profiles(usernames):
62
  return profiles
63
 
64
 
65
- @st.cache(ttl=CACHE_TTL)
66
  @simple_time_tracker(_log)
67
  def get_serialized_data_points():
68
 
@@ -110,7 +111,7 @@ def get_serialized_data_points():
110
  return serialized_data_points, latest_timestamp
111
 
112
 
113
- @st.cache(ttl=CACHE_TTL)
114
  @simple_time_tracker(_log)
115
  def get_serialized_data(serialized_data_points, latest_timestamp):
116
  serialized_data_points_v2 = []
@@ -141,16 +142,14 @@ def get_serialized_data(serialized_data_points, latest_timestamp):
141
  serialized_data = {"points": [serialized_data_points_v2], "maxVelocity": max_velocity}
142
  return serialized_data
143
 
 
144
  def get_leaderboard(serialized_data):
145
- data_leaderboard = {
146
- "user": [],
147
- "runtime": []
148
- }
149
 
150
  for user_item in serialized_data["points"][0]:
151
  data_leaderboard["user"].append(user_item["profileId"])
152
  data_leaderboard["runtime"].append(user_item["runtime"])
153
-
154
  df = pd.DataFrame(data_leaderboard)
155
  df = df.sort_values("runtime", ascending=False)
156
  df["runtime"] = df["runtime"].apply(lambda x: datetime.timedelta(seconds=x))
@@ -159,19 +158,29 @@ def get_leaderboard(serialized_data):
159
  df.reset_index(drop=True, inplace=True)
160
  df.rename(columns={"user": "User", "runtime": "Total time contributed"}, inplace=True)
161
  df["Rank"] = df.index + 1
162
- df = df.set_index('Rank')
163
  return df
164
 
 
165
  def get_global_metrics(serialized_data):
 
166
  num_contributing_users = len(serialized_data["points"][0])
167
  num_active_users = 0
168
  total_runtime = 0
169
 
170
  for user_item in serialized_data["points"][0]:
171
- if user_item["activeRuns"] != []:
172
- num_active_users += 1
 
 
 
 
 
173
  total_runtime += user_item["runtime"]
174
-
175
  total_runtime = datetime.timedelta(seconds=total_runtime)
176
- return {"num_contributing_users": num_contributing_users, "num_active_users": num_active_users, "total_runtime": total_runtime}
177
-
 
 
 
 
13
  URL_QUICKSEARCH = "https://huggingface.co/api/quicksearch?"
14
  WANDB_REPO = "learning-at-home/Worker_logs"
15
  CACHE_TTL = 100
16
+ MAX_DELTA_ACTIVE_RUN_SEC = 60 * 5
17
 
18
 
19
+ @st.cache(ttl=CACHE_TTL, show_spinner=False)
20
  @simple_time_tracker(_log)
21
  def get_new_bubble_data():
22
  serialized_data_points, latest_timestamp = get_serialized_data_points()
 
31
  return serialized_data, profiles
32
 
33
 
34
+ @st.cache(ttl=CACHE_TTL, show_spinner=False)
35
  @simple_time_tracker(_log)
36
  def get_profiles(usernames):
37
  profiles = []
 
63
  return profiles
64
 
65
 
66
+ @st.cache(ttl=CACHE_TTL, show_spinner=False)
67
  @simple_time_tracker(_log)
68
  def get_serialized_data_points():
69
 
 
111
  return serialized_data_points, latest_timestamp
112
 
113
 
114
+ @st.cache(ttl=CACHE_TTL, show_spinner=False)
115
  @simple_time_tracker(_log)
116
  def get_serialized_data(serialized_data_points, latest_timestamp):
117
  serialized_data_points_v2 = []
 
142
  serialized_data = {"points": [serialized_data_points_v2], "maxVelocity": max_velocity}
143
  return serialized_data
144
 
145
+
146
  def get_leaderboard(serialized_data):
147
+ data_leaderboard = {"user": [], "runtime": []}
 
 
 
148
 
149
  for user_item in serialized_data["points"][0]:
150
  data_leaderboard["user"].append(user_item["profileId"])
151
  data_leaderboard["runtime"].append(user_item["runtime"])
152
+
153
  df = pd.DataFrame(data_leaderboard)
154
  df = df.sort_values("runtime", ascending=False)
155
  df["runtime"] = df["runtime"].apply(lambda x: datetime.timedelta(seconds=x))
 
158
  df.reset_index(drop=True, inplace=True)
159
  df.rename(columns={"user": "User", "runtime": "Total time contributed"}, inplace=True)
160
  df["Rank"] = df.index + 1
161
+ df = df.set_index("Rank")
162
  return df
163
 
164
+
165
  def get_global_metrics(serialized_data):
166
+ current_time = datetime.datetime.utcnow()
167
  num_contributing_users = len(serialized_data["points"][0])
168
  num_active_users = 0
169
  total_runtime = 0
170
 
171
  for user_item in serialized_data["points"][0]:
172
+ for run in user_item["activeRuns"]:
173
+ date_run = datetime.datetime.fromisoformat(run["date"])
174
+ delta_time_sec = (current_time - date_run).total_seconds()
175
+ if delta_time_sec < MAX_DELTA_ACTIVE_RUN_SEC:
176
+ num_active_users += 1
177
+ break
178
+
179
  total_runtime += user_item["runtime"]
180
+
181
  total_runtime = datetime.timedelta(seconds=total_runtime)
182
+ return {
183
+ "num_contributing_users": num_contributing_users,
184
+ "num_active_users": num_active_users,
185
+ "total_runtime": total_runtime,
186
+ }