npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

deep-metrics

v0.0.2

Published

```javascript var monitoring = require('../..').start() monitoring.ee.on('socketio', function(data) { console.log(data) }) ```

Downloads

826,047

Readme

Appmetrics tuned

var monitoring = require('../..').start()
monitoring.ee.on('socketio', function(data) {
  console.log(data)
})

API: Dependency Events (probes)

Event: 'http'/'https'

Emitted when a HTTP/HTTPS request is made of the application.

  • data (Object) the data from the HTTP(S) request:
    • time (Number) the milliseconds when the request was made. This can be converted to a Date using new Date(data.time).
    • method (String) the HTTP(S) method used for the request.
    • url (String) the URL on which the request was made.
    • duration (Number) the time taken for the HTTP(S) request to be responded to in ms.
    • header (String) the response header for the HTTP(S) request.
    • contentType (String) the content type of the HTTP(S) request.
    • requestHeader (Object) the request header for HTTP(S) request.

Event: 'http-outbound'/'https-outbound'

Emitted when the application makes an outbound HTTP/HTTPS request.

  • data (Object) the data from the HTTP(S) request:
    • time (Number) the milliseconds when the request was made. This can be converted to a Date using new Date(data.time).
    • method (String) the HTTP(S) method used for the request.
    • url (String) the URL on which the request was made.
    • contentType (String) the HTTP(S) response content-type.
    • statusCode (String) the HTTP response status code.
    • duration (Number) the time taken for the HTTP(S) request to be responded to in ms.
    • 'requestHeaders' (Object) the HTTP(S) request headers.

Event: 'leveldown'

Emitted when a LevelDB query is made using the leveldown module.

  • data (Object) the data from the LevelDB query:
    • time (Number) the time in milliseconds when the LevelDB query was made. This can be converted to a Date using new Date(data.time).
    • method (String) The leveldown method being used.
    • key (Object) The key being used for a call to get, put or del (Undefined for other methods)
    • value (Object) The value being added to the LevelDB database using the put method (Undefined for other methods)
    • opCount (Number) The number of operations carried out by a batch method (Undefined for other methods)
    • duration (Number) the time taken for the LevelDB query to be responded to in ms.

Event: 'loopback-datasource-juggler'

Emitted when a function is called on the loopback-datasource-juggler module

  • data (Object) the data from the loopback-datasource-juggler event:
    • time (Number) the time in milliseconds when the event occurred. This can be converted to a Date using new Date(data.time)
    • method (String) the function the juggler has executed
    • duration (Number) the time taken for the operation to complete.

Event: 'memcached'

Emitted when a data is stored, retrieved or modified in Memcached using the memcached module.

  • data (Object) the data from the memcached event:
    • time (Number) the milliseconds when the memcached event occurred. This can be converted to a Date using new Date(data.time)
    • method (String) the method used in the memcached client, eg set, get, append, delete, etc.
    • key (String) the key associated with the data.
    • duration (Number) the time taken for the operation on the memcached data to occur.

Event: 'mongo'

Emitted when a MongoDB query is made using the mongodb module.

  • data (Object) the data from the MongoDB request:
    • time (Number) the milliseconds when the MongoDB query was made. This can be converted to a Date using new Date(data.time)
    • query (String) the query made of the MongoDB database.
    • duration (Number) the time taken for the MongoDB query to be responded to in ms.
    • method (String) the executed method for the query, such as find, update.
    • collection (String) the MongoDB collection name.

Event: 'mqlight'

Emitted when a MQLight message is sent or received.

  • data (Object) the data from the MQLight event:
    • time (Number) the time in milliseconds when the MQLight event occurred. This can be converted to a Date using new Date(data.time).
    • clientid (String) the id of the client.
    • data (String) the data sent if a 'send' or 'message', undefined for other calls. Truncated if longer than 25 characters.
    • method (String) the name of the call or event (will be one of 'send' or 'message').
    • topic (String) the topic on which a message is sent/received.
    • qos (Number) the QoS level for a 'send' call, undefined if not set.
    • duration (Number) the time taken in milliseconds.

Event: 'mqtt'

Emitted when a MQTT message is sent or received.

  • data (Object) the data from the MQTT event:
    • time (Number) the time in milliseconds when the MQTT event occurred. This can be converted to a Date using new Date(data.time).
    • method (String) the name of the call or event (will be one of 'publish' or 'message').
    • topic (String) the topic on which a message is published or received.
    • qos (Number) the QoS level for the message.
    • duration (Number) the time taken in milliseconds.

Event: 'mysql'

Emitted when a MySQL query is made using the mysql module.

  • data (Object) the data from the MySQL query:
    • time (Number) the milliseconds when the MySQL query was made. This can be converted to a Date using new Date(data.time).
    • query (String) the query made of the MySQL database.
    • duration (Number) the time taken for the MySQL query to be responded to in ms.

Event: 'oracle'

Emitted when a query is executed using the oracle module.

  • data (Object) the data from the Oracle query:
    • time (Number) the milliseconds when the Oracle query was made. This can be converted to a Date using new Date(data.time).
    • query (String) the query made of the Oracle database.
    • duration (Number) the time taken for the Oracle query to be responded to in ms.

Event: 'oracledb'

Emitted when a query is executed using the oracledb module.

  • data (Object) the data from the OracleDB query:
    • time (Number) the milliseconds when the OracleDB query was made. This can be converted to a Date using new Date(data.time).
    • query (String) the query made of the OracleDB database.
    • duration (Number) the time taken for the OracleDB query to be responded to in ms.

Event: 'postgres'

Emitted when a PostgreSQL query is made to the pg module.

  • data (Object) the data from the PostgreSQL query:
    • time (Number) the milliseconds when the PostgreSQL query was made. This can be converted to a Date using new Date(data.time).
    • query (String) the query made of the PostgreSQL database.
    • duration (Number) the time taken for the PostgreSQL query to be responded to in ms.

Event: 'redis'

Emitted when a Redis command is sent.

  • data (Object) the data from the Redis event:
    • time (Number) the time in milliseconds when the redis event occurred. This can be converted to a Date using new Date(data.time).
    • cmd (String) the Redis command sent to the server or 'batch.exec'/'multi.exec' for groups of command sent using batch/multi calls.
    • duration (Number) the time taken in milliseconds.

Event: 'riak'

Emitted when a Riak method is called using the basho-riak-client module.

  • data (Object) the data from the Riak event:
    • time (Number) the time in milliseconds when the riak event occurred. This can be converted to a Date using new Date(data.time).
    • method (String) the Riak method called.
    • options (Object) the options parameter passed to Riak.
    • command (Object) the command parameter used in the execute method.
    • query (String) the query parameter used in the mapReduce method.
    • duration (Number) the time taken in milliseconds.

Event: 'socketio'

Emitted when WebSocket data is sent or received by the application using socketio.

  • data (Object) the data from the socket.io request:
    • time (Number) the milliseconds when the event occurred. This can be converted to a Date using new Date(data.time).
    • method (String) whether the event is a broadcast or emit from the application, or a receive from a client .
    • event (String) the name used for the event.
    • duration (Number) the time taken for event to be sent or for a received event to be handled.

Event: 'strong-oracle'

Emitted when a query is executed using the strong-oracle module.

  • data (Object) the data from the Strong Oracle query:
    • time (Number) the milliseconds when the Strong Oracle query was made. This can be converted to a Date using new Date(data.time).
    • query (String) the query made of the database.
    • duration (Number) the time taken for the Strong Oracle query to be responded to in ms.

API: Requests

Event: 'request'

Requests are a special type of event emitted by appmetrics. All the probes named above can also create request events if requests are enabled. Howver requests are nested within a root incoming request (usually http). Request events are disabled by default.

  • data (Object) the data from the request:
    • time (Number) the milliseconds when the request occurred. This can be converted to a Date using new Date(data.time).
    • type (String) The type of the request event. This is the name of the probe that sent the request data, e.g. http, socketio etc.
    • name (String) The name of the request event. This is the request task, eg. the url, or the method being used.
    • request (Object) the detailed data for the root request event:
      • type (String) The type of the request event. This is the name of the probe that sent the request data, e.g. http, socketio etc.
      • name (String) The name of the request event. This is the request task, eg. the url, or the method being used.
      • context (Object) Additional context data (usually contains the same data as the associated non-request metric event).
      • stack (String) An optional stack trace for the event call.
      • children (Array) An array of child request events that occurred as part of the overall request event. Child request events may include function trace entries, which will have a type of null.
      • duration (Number) the time taken for the request to complete in ms.
    • duration (Number) the time taken for the overall request to complete in ms.