memtab_visualizers package¶
Submodules¶
- memtab_visualizers.category_memmap_report module
- memtab_visualizers.excel_report module
- memtab_visualizers.memmap_report module
- memtab_visualizers.memory_profiler_report module
- memtab_visualizers.ram_treemap_report module
- memtab_visualizers.summary_report module
- memtab_visualizers.treemap_report module
Module contents¶
Memtab Visualizers - A collection of report generators for memory analysis.
- class memtab_visualizers.CategoryMemmapReport¶
Bases:
MemmapReportCategory Memory Map Report.
This class extends
MemmapReportto provide a category-based memory map visualization, where memory regions are grouped by category.The report shows memory usage organized by memory region categories, helping users understand how memory is allocated across different types of regions.
See Also¶
MemmapReport: Base class that provides memory map reporting functionality.- report_name = 'categorymemmap'¶
- class memtab_visualizers.ExcelReport¶
Bases:
objectAn Excel report generator for Memtab data.
This class creates Excel workbooks from memory table data, with separate worksheets for symbols and regions.
Note
The output Excel file will be named after the input ELF file, with the extension changed from .elf to .xlsx, and will be saved in the current working directory.
Output Format¶
The generated Excel file contains:
A “Symbols” worksheet containing all symbol information from the Memtab
A “Regions” worksheet containing all memory region information from the Memtab
Example¶
>>> report = ExcelReport() >>> report.generate_report(memtab, "output.xlsx") # Creates an Excel file in the current directory with the Memtab data
- generate_report(memtab, filename)¶
creates an excel workbook from the symbols and regions dataframes
- Return type:
None
- Args:
memtab (Memtab): the memory table to write to excel excel (str): the excel filename
- report_name = 'excel'¶
- class memtab_visualizers.MemmapReport¶
Bases:
object
A class that generates memory map visualizations based on analysis results.
The
MemmapReportclass creates interactive memory map visualizations using the Plotly library, showing the memory layout of code from a Memtab object. It can display memory maps based on either categories or ELF sections.- generate_report(memtab, filename)¶
This function generates a memory map visualization based on the analysis results. It uses the Plotly library to create the memory map and saves it as an HTML file. The memory map provides a visual representation of the memory layout of the code. The function first determines whether to use category-based or section-based memory mapping. It then iterates through the unique categories or sections and creates scatter plots for each region. The scatter plots represent the memory regions, symbols, and extra space between symbols.
- Return type:
None
- Args:
response (DataFrame): _description_ html (str): the html filename. this gets prepended with category_memmap_ or section_memmap_ depending on the category_based flag. category_based (bool, optional): _description_. Defaults to False. If True, the memory map is based on categories. If False, it is based on sections.
- report_name = 'memmap'¶
- class memtab_visualizers.MemoryProfilerReport¶
Bases:
objectA memory profiler report class for memtab visualizers.
- generate_report(memtab, filename)¶
Generate a text based memory profile, showing overall RAM and ROM, and then the different categories as a total in KB, and then % of RAM/ROM total
- Return type:
None
- report_name = 'memoryprofiler'¶
- class memtab_visualizers.RAMTreemapReport¶
Bases:
TreemapReportRAM Treemap Report.
This class extends
TreemapReportto provide a RAM-specific treemap visualization, focusing on RAM memory usage by category, subcategory, and filename.The report shows RAM memory usage organized by memory region categories, helping users understand how RAM is allocated across different types of regions.
See Also¶
TreemapReport: Base class that provides treemap reporting functionality.- report_name = 'ramtreemap'¶
- class memtab_visualizers.SummaryReport¶
Bases:
objectA command line summary
- generate_report(memtab, filename)¶
Write a simple, couple-line summary out to stdout. This should be similar to the gnu binutils size command.
- Return type:
None
- Args:
memtab (Any): the memory table to summarize
- report_name = 'summary'¶
- class memtab_visualizers.TreemapReport¶
Bases:
objectA Treemap Report
- generate_report(memtab, filename)¶
This function generates a treemap visualization of the RAM/ROM items by category, subcategory, and filename. It uses the Plotly library to create the treemap and saves it as an HTML file. The treemap provides a visual representation of the memory usage by different categories and subcategories. The function first filters the data to include only items with “region”: “ROM” or “RAM” based on self.ram_based. It then groups the data by category, subcategory, and filename or symbol, and calculates the size of each item.
- Return type:
None
- Args:
memtab (Memtab): the Memtab instance containing memory items filename (str): the filename to save the report to
- report_name = 'treemap'¶