Socket
Book a DemoInstallSign in
Socket

gestalt

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gestalt

0.0.11
bundlerRubygems
Version published
Maintainers
1
Created
Source

= gestalt

Simple Ruby profiling

== Getting started

Profiling with gestalt is easy to get started with and understand. Say for instance that you have this class:

class Slow

def method
  3.times { sleep(0.1) }
  'slow'
end

end

You have a feeling that it could do better with single, so check to see what happens when you call it:

Gestalt.trace do

slow = Slow.new
slow.method

end

This will give you output in the following format: percentage times method file percentage times method file

percentage is the percent of the parent that these calls account for times is how many times the thing was called method tells you what was called and file tells you where it was called from

Indents means nesting, durations for outer calls include inner calls and the times for inner calls happened for each of the outer calls.

You can also get a summary after the fact:

Gestalt.profile do

slow = Slow.new
slow.method

end

This will give you output in the following format:

+---+--------+----------+ | # | action | duration | +---+--------+----------+

The # column indicates how many times each occurred, action is the thing that occurred and duration is the total time taken for all occurrences.

== Copyright

(The MIT License)

Copyright (c) 2010 {geemus (Wesley Beary)}[http://github.com/geemus]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

FAQs

Package last updated on 13 May 2010

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.