Giter Club home page Giter Club logo

pry-stackprofiler's Introduction

Pry-Stackprofiler

Please read the stackprofiler gem README for background on Stackprofiler in general.

This is a Pry plugin that makes benchmarking of code using Stackprofiler a much more fluid experience and provide a quicker turn-around time. It does this by passing along Pry's linebuffer to the Stackprofiler server so that code needn't be stored in the file system for Stackprofiler to annotate.

Installation

$ gem install pry-stackprofiler

Once installed, Pry should autoload the plugin. No require necessary. There is some setup required on the plugin side; specifically, the plugin needs to be told where to send profile data. This can be done either by means of an environment variable or in ~/.pryrc.

# ~/.pryrc
Pry.config.pry_stackprofiler_ui_url = "http://localhost:9260/receive"

or

# ~/.bashrc
export PRY_STACKPROFILER_UI_URL=http://localhost:9260/receive

Usage

Start up Stackprofiler on the command line:

$ stackprofiler

In another tab, start up a Pry session:

$ pry
[1] pry(main)> Pry.profile do
[1] pry(main)*   sleep 0.3
[1] pry(main)*   sleep 0.4
[1] pry(main)*   sleep 0.1
[1] pry(main)* end

Now navigate to Stackprofiler (probably at http://localhost:9260/) and see which lines were slowest!

You can pass an options hash to Pry::profile if desired. The most useful key is interval and specifies how often the code should be sampled in microseconds. The default is 1000.

Contributing

  1. Fork it ( https://github.com/glassechidna/pry-stackprofiler/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

pry-stackprofiler's People

Contributors

aidansteele avatar

Stargazers

Caroline Artz avatar Angus H. avatar airy avatar Don Wei avatar

Watchers

 avatar Benjamin Dobell avatar James Cloos avatar Daniel Whyte avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.