Skip to content

Generate image plots of processes' memory usage very quickly, within a single binary.

License

Notifications You must be signed in to change notification settings

0x0f0f0f/memplot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

memplot

A small utility written in golang to quickly plot memory usage of processes. memplot constantly samples memory usage of a process, for a given amount of time and then outputs an image file. Painless and straightforward. Supported image extensions are: .eps, .jpg, .jpeg, .pdf, .png, .svg, .tex, .tif and .tiff

Installation

Binaries for Linux and MacOS are available in the releases page

go get -u -v github.com/0x0f0f0f/memplot/cmd/memplot

Usage

Usage of memplot:
Arguments following options will be interpreted as the command to spawn and sample
  -dur duration
    	total profiling time. a value of 0 means that the program
    	will be sampled until it is no longer running
  -height string
    	plot image height (can be cm or in) (default "12cm")
  -o string
    	output image file name. supported extensions are:
    	.eps, .jpg, .jpeg, .pdf, .png, .svg, .tex, .tif and .tiff
    	(default "output-plot.png")
  -pid int
    	pid of the process to analyze (default -1)
  -sd duration
    	sample size in time (default 5ms)
  -vsz
    	plot virtual size
  -width string
    	plot image width (can be cm or in) (default "16cm")

Example Plot

memplot -pid 25273 -width 8in -height 8in -dur 60s -sd 50ms -o plot.png

or

memplot -width 8in -height 8in -dur 60s -sd 50ms -o plot.png firefox

Roadmap

  • Plot other useful values
  • Colors
  • Option to change the font
  • Memory autoscaling
  • Spawn child processes to sample

About

Generate image plots of processes' memory usage very quickly, within a single binary.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages