Skip to content

wangvsa/recorder-viz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

recorder-viz

This is a python package which contains tools for processing Recorder traces.

Installation and Visualization

recorder-viz relies on Recorder and a few python libraries to run. Please see the document here.

Below are some example graphs generated from the FLASH traces. example graphs

Usage

recorder-report -i=path/to/trace -o=path/to/report

Advanced Usages

The RecorderReader class contains all infomration about the Recorder traces.

class RecorderReader:
    self.GM: instance of GlobalMetadata
    self.LMs: list of LocalMetadata objects, one for each rank
    self.records: self.records[i] is a list of Record objects of rank i.

GlobalMetadta, LocalMetadata and Record are three Python wrappers of C structures.

class LocalMetadata(Structure):
    self.total_records: int
    self.num_files: int
    self.filemap: set()
    self.function_count: []


class RecorderMetadata(Structure):
    _fields_ = [
            ("total_ranks", c_int),
            ("start_ts", c_double),
            ("time_resolution", c_double),
            ("ts_buffer_elements", c_int),
            ("ts_compression_algo", c_int),
    ]

class Record(Structure):
    _fields_ = [
            ("tstart", c_double),
            ("tend", c_double),
            ("level", c_ubyte),
            ("func_id", c_ubyte),
            ("tid", c_int),
            ("arg_count", c_ubyte),
            ("args", POINTER(c_char_p)),
    ]

Here's an example on how to use the provided classes.

from recorder_viz import RecorderReader

reader = RecorderReader("path/to/Recorder-traces-folder")

for rank in range(reader.GM.total_ranks):
    LM = reader.LMs[rank]
    print("Rank: %d, Number of trace records: %d" %(rank, LM.total_records))

About

A set of tools for processing Recorder traces.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages