Skip to content

Commit ea94b3a

Browse files
committed
fix examples with redis and better readme
1 parent 17edfe1 commit ea94b3a

File tree

13 files changed

+75
-39
lines changed

13 files changed

+75
-39
lines changed

.DS_Store

6 KB
Binary file not shown.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ npm-debug.log*
44
pids
55
*.pid
66
*.seed
7+
*.rdb
78
lib-cov
89
coverage
910
.nyc_output

README.md

Lines changed: 50 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,64 @@
22

33
Node.js implementation of Stack Exchange's MiniProfiler
44

5-
[![Build Status](https://travis-ci.org/goenning/miniprofiler-node.png)](https://travis-ci.org/goenning/miniprofiler-node)
6-
[![Coverage Status](https://coveralls.io/repos/github/goenning/miniprofiler-node/badge.svg?branch=master)](https://coveralls.io/github/goenning/miniprofiler-node?branch=master)
5+
[![Build](https://travis-ci.org/goenning/miniprofiler-node.svg)](https://travis-ci.org/goenning/miniprofiler-node)
6+
[![Coverage](https://coveralls.io/repos/github/goenning/miniprofiler-node/badge.svg?branch=master)](https://coveralls.io/github/goenning/miniprofiler-node?branch=master)
77
![Dependencies](https://david-dm.org/goenning/miniprofiler-node.svg)
8+
![devDependencies](https://david-dm.org/goenning/miniprofiler-node.svg#info=devDependencies)
9+
810
### This is working, but not yet considered production ready. Use with caution.
911

10-
# requirements
12+
## Installation (via [npm](https://npmjs.org/package/miniprofiler))
13+
14+
```bash
15+
$ npm install miniprofiler
16+
```
17+
18+
## Usage
19+
20+
### Simple usage using express.js
21+
22+
`server.js`
23+
24+
```javascript
25+
var express = require('express')
26+
, miniprofiler = require('miniprofiler')
27+
, app = express();
28+
29+
app.set('view engine', 'pug');
30+
app.use(miniprofiler.profile());
31+
32+
app.get('/', function(req, res) {
33+
req.miniprofiler.step('Step 1', function() {
34+
req.miniprofiler.step('Step 2', function() {
35+
res.render('home');
36+
});
37+
});
38+
});
39+
40+
app.listen(8080);
41+
```
42+
43+
`home.pug`
1144

12-
Currently requires express and connect to run, because it uses `res.on('header', f)` to trigger storing of data, which is a connect thing.
45+
```javascript
46+
doctype html
47+
html
48+
head
49+
title MiniProfiler Node.js Example
50+
body
51+
h1 Home Page
52+
| !{miniprofiler.include()}
53+
```
1354

14-
# usage
55+
When visiting `localhost:8080`, you should see this.
1556

16-
Clone this repo into your project's node_modules directory. You can also install from npm, but the package may be outdated: https://www.npmjs.org/package/miniprofiler.
57+
![](/examples/images/example0.png)
1758

18-
Then see [examples/express/server.js](/examples/express/server.js) for example use.
59+
See [examples/express.js](/examples/express.js) for more examples.
1960

20-
![](/examples/example1.png)
21-
![](/examples/example2.png)
61+
![](/examples/images/example1.png)
62+
![](/examples/images/example2.png)
2263

2364
# Want to help?
2465

@@ -29,6 +70,3 @@ Things to do:
2970
- storing of client timings on first result postback (there's a todo in the `results` function about where to do this)
3071
- document more things
3172
- add providers for pg, mongodb, mysql, redis and more
32-
- add coverage badge
33-
- add npm package version badge
34-
- add dependencies status badge

examples/example1.png

-67.3 KB
Binary file not shown.

examples/example2.png

-62.5 KB
Binary file not shown.
Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var miniprofiler = require('../../lib/miniprofiler.js');
1+
var miniprofiler = require('../lib/miniprofiler.js');
22
var pg = require('pg');
33
var redis = require('redis');
44

@@ -10,29 +10,28 @@ app.use(miniprofiler.profile());
1010
app.use(miniprofiler.for.pg(pg));
1111
app.use(miniprofiler.for.redis(redis));
1212

13+
var redisClient = redis.createClient();
14+
1315
app.set('view engine', 'pug');
1416
app.set('views', './examples/views');
1517

1618
app.get('/', function(req, res) {
17-
res.render('home');
19+
req.miniprofiler.step('Step 1', function() {
20+
req.miniprofiler.step('Step 2', function() {
21+
res.render('home');
22+
});
23+
});
1824
});
1925

2026
app.get('/js-sleep', function(req, res) {
21-
var waitBeforeRender = function(ms) {
22-
setTimeout(function() {
23-
res.render('home');
24-
}, ms());
25-
};
26-
27-
req.miniprofiler.timeQuery('custom', 'Sleeping...', waitBeforeRender, function() {
28-
return 300;
29-
});
27+
req.miniprofiler.timeQuery('custom', 'Sleeping...', setTimeout, function() {
28+
res.send();
29+
}, 300);
3030
});
3131

3232
app.get('/redis-set-get', function(req, res) {
33-
var redisClient = redis.createClient();
3433
redisClient.set('customer', '[email protected]', function() {
35-
redisClient.get('key', function(err, reply) {
34+
redisClient.get('customer', function(err, reply) {
3635
res.render('home');
3736
});
3837
});
@@ -48,7 +47,6 @@ app.get('/pg-sleep', function(req, res) {
4847
});
4948

5049
app.get('/all', function(req, res) {
51-
var redisClient = redis.createClient();
5250
req.miniprofiler.step('Waiting 1 second', function() {
5351

5452
pg.connect(connString, function(err, pgClient, done) {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var http = require('http');
2-
var miniprofiler = require('../../lib/miniprofiler.js');
2+
var miniprofiler = require('../lib/miniprofiler.js');
33

44
var profile = miniprofiler.profile();
55

examples/images/example0.png

52.5 KB
Loading

examples/images/example1.png

84 KB
Loading

examples/images/example2.png

211 KB
Loading

0 commit comments

Comments
 (0)