UTSASRG / Scaler

GNU General Public License v2.0
4 stars 0 forks source link

Build output analysis tools #18

Closed GammaPi closed 2 years ago

GammaPi commented 2 years ago

Support pie-chart view Support call graph view. Make sure the tool can work on Prof. Sandip's machine.

GammaPi commented 2 years ago

Plan:

Backup plan: Use QT/python to visualize .

GammaPi commented 2 years ago

UI components

General

Execution Info

Provide general info of the platform and target application

  • Hostname
  • Program path
  • Process number
  • Thread number
  • Total runtime
  • Memory consumption
  • /proc/self/maps of all processes

Config

Provide Scaler config

  • % of .plt symbols replaced
  • All configurations for this run

Time analysis

Call Graph

Print call graph of marked branches Show as a interaction graph

GammaPi commented 2 years ago

Technical stack:

WebVisualizer:

AnalyzerServ:

libHook:

GammaPi commented 2 years ago

How to correlate multi-process data?

  1. libHook.so request a unique id from the server
  2. Send other profiling data with this id
GammaPi commented 2 years ago

How to aggregate multi-thread data?

  1. Per-thread view
  2. Correlate execution time with concurrent thread number (Needs full-record)
  3. Lock view (Show lock relationship in a graph) (May not be scaler's current target)
GammaPi commented 2 years ago

Call graph does not have to be very specific. Show component-level information.

GammaPi commented 2 years ago

Finished. Closing