Accéder aux résultats du Swarm

Une fois le swarm déployé et exécuté, vous pouvez obtenir les résultats et les logs en utilisant Cluster. Cela permet de suivre et gérér les swarms efficacement.

Results

Quand vous utiliser world.results.add(tag, data), vous pouvez obtenir les résultats en utilisant Cluster.select_results((swarm_id_1, [tag1, tag2, ...]), (swarm_id_2, [...])).

La sortie de select_results est un Dict[swarm_id, Results]Results est un objet qui se comporte comme un tableau tridimensionnel :

Swarm Swarm
  • une dimension pour les itérations

  • une dimension pour les ID des noeuds

  • une dimension pour la sélection des tâches

Une fois les résultats collectés, afin d’accéder à un tag spécifique, vous pouvez l’appeler pour le filtrer :

>>> results_per_swarm_ids = cluster.select_results((swarm_id, ["metrics"]))
>>> results = results_per_swarm_ids[swarm_id]
>>> results.schema.rows
["node_a", "node_b", ...]
>>> results.schema.columns
["metrics"]
>>> metrics = results("metrics")
[[b"...", ..., b"..."], ..., [b"...", ..., b"..."]]
# ^^^^^^^^^^^^^^^^^^^         ^^^^^^
# iteration 0                 node a

Activités d’un noeud

Cette méthode select_tasks(node_id) vous permet de savoir l’activité d’un noeud.

>>> for task_progression in cluster.select_tasks(node_id):
...     print(task_progression)
{"task_id": ..., "swarm_id": ..., ..., "status": 3}
{"task_id": ..., "swarm_id": ..., ..., "status": 2}
{"task_id": ..., "swarm_id": ..., ..., "status": 3}

Pour des détails sur les appels API et des options additionelles, veuillez vous référer à Cluster.

Avec ce guide, vous devriez être capable de connecter un cluster Manta, déployer des swarms et surveiller leur exécutions efficacement.