Skip to content

Coz profiler Golang wrapper - Coz employs a novel technique we call causal profiling that measures optimization potential.

License

Notifications You must be signed in to change notification settings

urjitbhatia/cozgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

coz-go

Coz profiler Golang wrapper.

This is a golang wrapper around the Coz profiler here: https://github.com/plasma-umass/coz

Code Usage {#code-usage}

Coz Call Equivalent CozGo Call Description
COZ_BEGIN("name") cozgo.Begin("name") Begin a latency profiling block identified by the name
COZ_END("name") cozgo.End("name") End a latency profiling block identified by the name
COZ_PROGRESS() cozgo.Progress() Specify a progress point within a block of work
COZ_PROGRESS() cozgo.NamedProgress("name") Specify a named progress point within a block of work

For background on causal profiling, see

Paper: http://www.sigops.org/s/conferences/sosp/2015/current/2015-Monterey/printable/090-curtsinger.pdf

Blog: https://morsmachine.dk/causalprof

Running/Usage

  • Install Coz: https://github.com/plasma-umass/coz
    • For OS X users, the easiest way is to run a docker image with linux and install Coz
    • 'apt update; apt install coz-profiler'
  • Import cozgo: import "github.com/urjitbhatia/cozgo"
  • Call the Coz wrappers in your application
  • Build your go binary with the flags: -ldflags=-compressdwarf=false -gcflags=all="-N -l" so that Coz can identify the debug symbols properly
  • Run your application with Coz: coz run --- yourGoBinary
  • Let the application run for a while (you might want to run some load test etc, so that the profiler can pick up usage data)
  • By default, Coz will create a file called profile.coz
  • Use the Coz viewer to analyze the profile

About

Coz profiler Golang wrapper - Coz employs a novel technique we call causal profiling that measures optimization potential.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •