An open API service indexing awesome lists of open source software.

https://github.com/marksoper/analog

Analytics for Node Logs
https://github.com/marksoper/analog

Last synced: about 1 year ago
JSON representation

Analytics for Node Logs

Awesome Lists containing this project

README

          

**analog - Instrumentation of the Node.js request object for analytics**

Makes it easy to collect data optimized for site analytics using whatever existing logging system you have.

**Usage**

var instrument = new (analog.Analog)();

var interaction_metadata = instrument.transform(request, response, response_body);

The above results in a flat dictionary of request data like the one below:

{
request.socket.bufferSize=0,
request.socket.fd=8,
request.socket.type=tcp4,
request.socket.allowHalfOpen=true,
request.socket.destroyed=false,
request.socket.readable=true,
request.socket.writable=true,
request.socket.remoteAddress=64.119.130.114,
request.socket.remotePort=57001,
request.socket._idleTimeout=120000,
request.socket._idleStart=Thu Jun 02 2011 20:34:03 GMT+0000 (UTC),
request.connection.bufferSize=0,
request.connection.fd=8,
request.connection.type=tcp4,
request.connection.allowHalfOpen=true,
request.connection.destroyed=false,
request.connection.readable=true,
request.connection.writable=true,
request.connection.remoteAddress=64.119.130.114,
request.connection.remotePort=57001,
request.connection._idleTimeout=120000,
request.connection._idleStart=Thu Jun 02 2011 20:34:03 GMT+0000 (UTC),
request.httpVersion=1.1,
request.complete=true,
request.headers.host=some-dev-server.com:8000,
request.headers.connection=keep-alive,
request.headers.accept=*/*,
request.headers.user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_7) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.68 Safari/534.24,
request.headers.accept-encoding=gzip,deflate,sdch,
request.headers.accept-language=en-US,en;q=0.8,
request.headers.accept-charset=ISO-8859-1,utf-8;q=0.7,*;q=0.3,
request.headers.cookie=*******,
request.readable=true,
request.url=/,
request.method=GET,
request.client.bufferSize=0,
request.client.fd=8,
request.client.type=tcp4,
request.client.allowHalfOpen=true,
request.client.destroyed=false,
request.client.readable=true,
request.client.writable=true,
request.client.remoteAddress=64.119.130.114,
request.client.remotePort=57001,
request.client._idleTimeout=120000,
request.client._idleStart=Thu Jun 02 2011 20:34:03 GMT+0000 (UTC),
request.httpVersionMajor=1,
request.httpVersionMinor=1,
request.upgrade=false
}