Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including good-udp with all npm packages installed. Try it out:

var goodUdp = require("good-udp")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

good-udp v4.1.0

UDP broadcasting for Good process monitor

good-udp

Udp broadcasting for Good process monitor

The versions 4 of this module can be used with Good 7.

For use with previous versions of Good, please refer to older versions.

Build Status Current Version

Lead Maintainer: Vladimir de Turckheim

Usage

good-udp is a write stream use to send event to remote endpoints in batches. It makes a request with a JSON payload to the supplied endpoint. It will make a final request to the endpoint to flush the rest of the data on "finish".

Note

good-udp will never close the udp client.

Good Udp

GoodUdp (endpoint, config)

creates a new GoodUdp object with the following arguments

  • endpoint - full path to remote server to transmit logs.
  • config - configuration object
    • [threshold] - number of events to hold before transmission. Defaults to 20. Set to 0 to have every event start transmission instantly. It is strongly suggested to have a set threshold to make data transmission more efficient.
    • [udpType] - a string with the type of udp you want to use. Valid options are udp4 or udp6. Defaults to 'udp4'.

When stream emits an "end" event, goodudp will transmit any events remaining it it's internal buffer to attempt to prevent data loss.

Schema

Each request will match the following schema. Every event will be wrapped inside the events key and grouped by the event type and ordered by the timestamp. The payload that is sent to the endpoint has the following schema:

{
  "host":"servername.home",
  "schema":"good-upd",
  "timeStamp":1412710565121,
  "events":[
      {
        "event":"request",
        "timestamp":1413464014739,
        ...
      },
      {
        "event":"request",
        "timestamp":1414221317758,
        ...
      },
      {
        "event":"request",
        "timestamp":1415088216608,
        ...
      }
      {
        "event":"log",
        "timestamp":1415180913160,
        ...
      },
      {
        "event":"log",
        "timestamp":1422493874390,
        ...
      }
  ]
}
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free