GithubHelp home page GithubHelp logo

ahall-g1 / node Goto Github PK

View Code? Open in Web Editor NEW

This project forked from miniprofiler/node

0.0 1.0 0.0 717 KB

A simple but effective mini-profiler for Node.js websites

Home Page: https://npmjs.org/package/miniprofiler

JavaScript 99.90% HTML 0.10%

node's Introduction

MiniProfiler for Node.js

Node.js implementation of Stack Exchange's MiniProfiler

NPM Build Coverage Dependencies devDependencies

Demonstration

Visit http://miniprofiler-demo.herokuapp.com for a live demonstration.

Installation

$ npm install miniprofiler

You can hook up your application with any of the following packages are available on npm:

Name About Version
miniprofiler-http Profile http(s) requests NPM
miniprofiler-pg Profile pg queries NPM
miniprofiler-redis Profile redis calls NPM

Usage

Simple usage with express.js

server.js

var express = require('express')
  , miniprofiler = require('miniprofiler')
  , app = express();

app.set('view engine', 'pug');
app.use(miniprofiler.express());

app.get('/', function(req, res) {
  req.miniprofiler.step('Step 1', function() {
    req.miniprofiler.step('Step 2', function() {
      res.render('index');
    });
  });
});

app.listen(8080);

index.pug

doctype html
html
  head
    title MiniProfiler Node.js Example
  body
    h1 Home Page
    | !{miniprofiler.include()}

When visiting localhost:8080, you should see this.

API

miniprofiler.{framework}([options])

Replace {framework} with koa, express or hapi.

This function returns a framework specific middleware that is responsible for initializing MiniProfiler on each request.

options object properties

Property Default Description
enable Always returns true function(req, res) => boolean; this function is used to determine if the profiler should be enabled for the current request
authorize Always returns true function(req, res) => boolean; this function is used to determine if the current request should be able to see the profiling results

miniprofiler.{framework}.for([provider])

provider is a call for any of the supported providers listed here.

miniprofiler.configure([options])

options object properties

Property Default Description
storage InMemoryStorage({ max: 100, maxAge: 1000 * 60 * 60 }) InMemoryStorage or RedisStorage; used to store or fetch a string JSON blob of profiling information
ignoredPaths [ ] string array ; any request whose url property is in ignoredPaths will not be profiled
trivialDurationThresholdMilliseconds 2.5 double ; any step lasting longer than this will be considered trivial, and hidden by default
popupShowTimeWithChildren false boolean ; whether or not to include the "time with children" column
popupRenderPosition left 'left', 'right', 'bottomLeft' or 'bottomRight' ; which side of the screen to display timings on

options.storage examples

InMemoryStorage

miniprofiler.configure({
  storage: miniprofiler.storage.InMemoryStorage({ lruCacheOptions });
})

Refer to lru-cache documentation for lruCacheOptions.

RedisStorage

miniprofiler.configure({
  storage: miniprofiler.storage.RedisStorage(client);
})

Where client is an instance of redis.createClient.

node's People

Contributors

goenning avatar maddyblue avatar kevin-montrose avatar

Watchers

Aaron Hall 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.