CERN Accelerating science

Improvement of a Memory Profiling Tool, MALT

Date published: 
Friday, 26 August, 2016
Document type: 
Summer student report
Author(s): 
S.M.R. Jaffery
MALT is a memory profiling tool designed for profiling programs on the Linux platform. MALT generated profile data can be viewed in the MALT GUI which is a web-based program for visualizing data and exploring code. To further the development of MALT GUI, we improved its Source Code Viewer by redesigning the page and replacing the code editor. We compare several syntax highlighters and code editors and describe why we used Prism.js library for syntax highlighting plus its advantages such as being faster, leaner and easier to extend. We also discuss the performance gains and reduction in page load time gained by these changes. Also, we discuss the addition of a new feature to the MALT GUI called a Call Tree Viewer to generate and view Call Graphs with memory statistics. We compare several graphing libraries for their suitability to make a call graph and why we selected Graphviz for MALT GUI. We discuss the implementation of call tree for transforming and filtering the data before it is rendered and shown to the user.