[Dashboard] Logical View Actor Class Grouping Details (#10453)

* wip

* wip

* wip

* wip

* Need to track the timestamp actors are created for the dashboard. This adds that functionality back in and deletes unused code

* Add the materialui lab packages to get access to the Alert component and fix up some vulnerabilities with npm audit.

* Finish supporting information on a per-actor-class basis in the logical view, add bug fixes around timestamps and infeasible task names, and add a new warning popup that shows if there are infeasible actors around.

* lint and add seconds annotation to actor lifetime values

* real lint

* remove typo

* Somehow missed something last lint

* Add new comments for actor states

* Add underscores to some private functions

* Add tooltips to the actor states on the logical view

* change test metrics to be aligned with new changes.

* lint

* Remove some unnecessary log lines and catch error that happens when we try to decode data from an unexpected source

* Re-add a function I had removed. It is used in the Java codebase.

Co-authored-by: Max Fitton <max@semprehealth.com>
This commit is contained in:
Max Fitton
2020-09-09 10:34:54 -07:00
committed by GitHub
co-authored by Max Fitton
parent 799318d7d7
commit 3e8164ff8a
16 changed files with 2121 additions and 3293 deletions
+5 -9
View File
@@ -206,13 +206,10 @@ def test_raylet_info_endpoint(shutdown_only):
except Exception as ex:
print("failed response: {}".format(response.text))
raise ex
actors_info = raylet_info["result"]["actors"]
actor_groups = raylet_info["result"]["actorGroups"]
try:
assert len(actors_info) == 3
c_actor_info = [
actor for actor in actors_info.values()
if "ActorC" in actor["actorTitle"]
][0]
assert len(actor_groups.keys()) == 3
c_actor_info = actor_groups["ActorC"]["entries"][0]
assert c_actor_info["numObjectRefsInScope"] == 13
assert c_actor_info["numLocalObjects"] == 10
break
@@ -279,12 +276,11 @@ def test_raylet_infeasible_tasks(shutdown_only):
webui_url = ray_addresses["webui_url"].replace("127.0.0.1",
"http://127.0.0.1")
raylet_info = requests.get(webui_url + "/api/raylet_info").json()
actor_info = raylet_info["result"]["actors"]
actor_info = raylet_info["result"]["actorGroups"]
assert len(actor_info) == 1
_, infeasible_actor_info = actor_info.popitem()
assert infeasible_actor_info["state"] == -1
assert infeasible_actor_info["invalidStateType"] == "infeasibleActor"
assert infeasible_actor_info["entries"][0]["state"] == -2
assert (wait_until_succeeded_without_exception(
test_infeasible_actor,