class_docstr: Profile reader to read paddle profile files, support for frontend api in lib.py.
      
class_docstr_tok: ["Profile","reader","to","read","paddle","profile","files",",","support","for","frontend","api","in","lib.py","."]
docstr: Get profile run files.
  
  Every dir(means `run` in vdl) has may have more than one profiler file.
  
  Returns:
      walks: A dict like {"exp1": ["1587375595_paddle_trace.json", "1587375685_paddle_trace.json"],
                          "exp2": ["1587375686_paddle_trace.json"]}
docstr_tok: ["Get","profile","run","files",".","Every","dir","(","means","`","run","`","in","vdl",")","has","may","have","more","than","one","profiler","file",".","Returns",":","walks",":","A","dict","like","{","``","exp1","''",":","[","``","1587375595_paddle_trace.json","''",",","``","1587375685_paddle_trace.json","''","]",",","``","exp2","''",":","[","``","1587375686_paddle_trace.json","''","]","}"]
code: def profile_runs(self, update=False):
      """Get profile run files.
  
      Every dir(means `run` in vdl) has may have more than one profiler file.
  
      Returns:
          walks: A dict like {"exp1": ["1587375595_paddle_trace.json", "1587375685_paddle_trace.json"],
                              "exp2": ["1587375686_paddle_trace.json"]}
      """
      if not self.walks or update is True:
          flush_walks = self.get_all_walk()
  
          walks_temp = {}
          for run, filenames in flush_walks.items():
              tags_temp = [
                  filename
                  for filename in filenames
                  if is_VDLProfiler_file(filename)
              ]
              if len(tags_temp) > 0:
                  walks_temp.update({run: tags_temp})
          self.walks = walks_temp
      return self.walks
  
imports: import os
  import re
  from multiprocessing import Process
  from multiprocessing import Queue
  from threading import Lock
  from threading import Thread
  import packaging.version
  from .parser.const_description import *
  from .parser.event_node import load_profiler_json
  from .parser.event_node import ProfilerResult
  from .parser.utils import RedirectStdStreams
  from .run_manager import RunManager
  from visualdl.io import bfile
label_desc: Use image node_id 6 for calling the ProfilerReader obj's underlying member method code with example usage: obj.profile_runs(update) and returns: self