Git Product home page Git Product logo

genet's Introduction

genet

Coverage Status Build Status Known Vulnerabilities dependencies Status

NPM

A Node.js application profiling tool.

Project Info
License: Apache-2.0
Build: make
Documentation: http://bucharest-gold.github.io/genet/
Issue tracker: https://github.com/bucharest-gold/genet/issues
Engines: Node.js 4.x, 6.x, 7.x

This is a simple Node.js profiling tool. Use it like this. First add it to your project.

Installation

$ npm install genet -S

Usage

Then start profiling. Put this somewhere in your app. Probably near the start.

const Genet = require('genet');
const profile = new Genet();
profile.start();

API

When requiring the genet module, the module exports the Genet object's constructor function.

// Genet is a constructor function
const Genet = require('genet');
var profile = new Genet();

new Genet(options)

Creates a new profiler. Several options are allowed.

  • options.profileName {string} - The profile name provided to v8-profiler. Defaults to 'genet'.
  • options.outputFile {string} - The output file name. Defaults to ./prof-${Date.now()}.cpuprofile.
  • options.duration {Number} - The number of milliseconds to run the profiler. Defaults to 5000.
  • options.verbose {boolean} - Determines how much log output you'll see. Defaults to false.
  • options.report {boolean} - Whether or not to generate report output. Defaults to true.
  • options.flamegraph {boolean} - Determines whether to generate a flamegraph .svg file. Defaults to false.
  • options.filter {RegExp|String} - An inclusive filter which determines what functions to include in the reports based on comparison with the path and filename for a given function.

profile.start()

Begins profiling the application. The profiler will run until options.duration milliseconds have elapsed, and then generate reports.

profile.stop()

Stops profiling the application. If the profiler has already been stopped, this function does nothing. If the profiler is still running, it cancels the timeout set by options.duration and then stops the profiler. This function returns a promise that resolves when the profiler has stopped.

Reporters

By default, genet will generate a report to the console, and to a file. Using the flamegraph option, you can also generate a flamegraph as an .svg file.

Console output will look something like this.

alt example

The flamegraph SVG might look something like this.

alt flamegraph

Contributing

Please read the contributing guide

genet's People

Contributors

felipewmartins avatar helio-frota avatar lance avatar lholmquist avatar

Watchers

 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.