mirror of
https://github.com/wassname/ray.git
synced 2026-06-27 17:49:47 +08:00
[Dashboard][Bugfix] Fix GPU List Bug (#12666)
* Fix bug where None was passed as the empty value for ActorInfo.gpu_stats instead of an empty list * lint * dashboard/modules/logical_view * fix test * trigger build
This commit is contained in:
@@ -238,7 +238,7 @@ class DataOrganizer:
|
||||
pid = core_worker_stats.get("pid")
|
||||
node_physical_stats = DataSource.node_physical_stats.get(node_id, {})
|
||||
actor_process_stats = None
|
||||
actor_process_gpu_stats = None
|
||||
actor_process_gpu_stats = []
|
||||
if pid:
|
||||
for process_stats in node_physical_stats.get("workers", []):
|
||||
if process_stats["pid"] == pid:
|
||||
@@ -248,14 +248,11 @@ class DataOrganizer:
|
||||
for gpu_stats in node_physical_stats.get("gpus", []):
|
||||
for process in gpu_stats.get("processes", []):
|
||||
if process["pid"] == pid:
|
||||
actor_process_gpu_stats = gpu_stats
|
||||
actor_process_gpu_stats.append(gpu_stats)
|
||||
break
|
||||
if actor_process_gpu_stats is not None:
|
||||
break
|
||||
|
||||
actor["gpus"] = actor_process_gpu_stats
|
||||
actor["processStats"] = actor_process_stats
|
||||
|
||||
return actor
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -54,6 +54,13 @@ def test_actor_groups(ray_start_with_dashboard):
|
||||
assert summary["stateToCount"]["ALIVE"] == 2
|
||||
|
||||
entries = actor_groups["Foo"]["entries"]
|
||||
foo_entry = entries[0]
|
||||
assert type(foo_entry["gpus"]) is list
|
||||
assert "timestamp" in foo_entry
|
||||
assert "actorConstructor" in foo_entry
|
||||
assert "actorClass" in foo_entry
|
||||
assert "actorId" in foo_entry
|
||||
assert "ipAddress" in foo_entry
|
||||
assert len(entries) == 2
|
||||
assert "InfeasibleActor" in actor_groups
|
||||
|
||||
|
||||
Reference in New Issue
Block a user