class_docstr: Manage profile data for each run, each run may have multiple workers and spans.
  We should manage profile data of each (worker, span) unit.
  Besides, a special worker "all" is created to merge all profile data for distributed view.
class_docstr_tok: ["Manage","profile","data","for","each","run",",","each","run","may","have","multiple","workers","and","spans",".","We","should","manage","profile","data","of","each","(","worker",",","span",")","unit",".","Besides",",","a","special","worker","``","all","''","is","created","to","merge","all","profile","data","for","distributed","view","."]
code: def get_distributed_spans(self):
      spans = list(self.distributed_data.keys())
      spans = sorted([int(span) for span in spans])
      spans = [str(span) for span in spans]
      return spans
  
file_path: VisualDL/visualdl/component/profiler/run_manager.py
imports: from collections import defaultdict
  from threading import Thread
  from .profiler_data import DistributedProfilerData
  from .profiler_data import ProfilerData
label_desc: Use image node_id 7 for calling the RunManager obj's underlying member method code with example usage: obj.get_distributed_spans() and returns: spans