All Projects → urjitbhatia → cozgo

urjitbhatia / cozgo

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

Programming Languages

go
31211 projects - #10 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to cozgo

Router.cr
Minimum High Performance Middleware for Crystal Web Server.
Stars: ✭ 231 (+133.33%)
Mutual labels:  profiler
VisualProfiler-Unity
The Visual Profiler provides a drop in solution for viewing your mixed reality Unity application's frame rate, scene complexity, and memory usage.
Stars: ✭ 120 (+21.21%)
Mutual labels:  profiler
jquery-profile
jQuery plugin to profile calls to jQuery selectors.
Stars: ✭ 39 (-60.61%)
Mutual labels:  profiler
Gecko-Profiler-Addon
(deprecated) Addon to control the Gecko Built-in Profiler
Stars: ✭ 20 (-79.8%)
Mutual labels:  profiler
wgpu-profiler
Simple profiler scopes for wgpu using timer queries
Stars: ✭ 45 (-54.55%)
Mutual labels:  profiler
django-profile-middleware
An easy to use customizable django profiling middleware to profile and find bottlenecks in your code and custom middlewares
Stars: ✭ 36 (-63.64%)
Mutual labels:  profiler
Liveprof
A performance monitoring system for running on live sites
Stars: ✭ 206 (+108.08%)
Mutual labels:  profiler
spyder-line-profiler
This is a plugin to run the python line profiler from within the spyder editor.
Stars: ✭ 30 (-69.7%)
Mutual labels:  profiler
EasyProfiler
This repo, provides query profiler for .Net
Stars: ✭ 99 (+0%)
Mutual labels:  profiler
goref
golang simple, thread-safe invocation tracker
Stars: ✭ 27 (-72.73%)
Mutual labels:  profiler
tensorflow profiling
Scripts with example usage of tensorflow profiler
Stars: ✭ 85 (-14.14%)
Mutual labels:  profiler
IYFThreading
A C++11 thread pool and profiler
Stars: ✭ 24 (-75.76%)
Mutual labels:  profiler
wsgi lineprof
WSGI middleware for line-by-line profiling
Stars: ✭ 47 (-52.53%)
Mutual labels:  profiler
Pyinstrument
🚴 Call stack profiler for Python. Shows you why your code is slow!
Stars: ✭ 3,870 (+3809.09%)
Mutual labels:  profiler
LazProfiler
One-Click-Profiler addon for Lazarus
Stars: ✭ 25 (-74.75%)
Mutual labels:  profiler
Androidgodeye
An app performance monitor(APM) , like "Android Studio profiler", you can easily monitor the performance of your app real time in browser
Stars: ✭ 2,430 (+2354.55%)
Mutual labels:  profiler
live-profiler
Header only library for real time performance analysis, supports c, c++, go, java, .net
Stars: ✭ 18 (-81.82%)
Mutual labels:  profiler
ofxTimeMeasurements
OpenFrameworks add-on to easily measure execution times on different parts of your code.
Stars: ✭ 90 (-9.09%)
Mutual labels:  profiler
BadCoderz
Find unoptimized gmod addons and KILL the devs who made them
Stars: ✭ 66 (-33.33%)
Mutual labels:  profiler
pylaprof
A Python sampling profiler for AWS Lambda functions (and not only).
Stars: ✭ 12 (-87.88%)
Mutual labels:  profiler

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.ProgressNamed("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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].