Ninety-nine Pitchers of Malt
    Have ideas to improve npm?Join in the discussion! »

    @shopify/koa-metrics
    TypeScript icon, indicating that this package has built-in type declarations

    0.5.6 • Public • Published

    @shopify/koa-metrics

    Build Status Build Status License: MIT npm version

    Opinionated performance metric tracking for Koa, implemented with DogStatsD.

    Installation

    $ yarn add @shopify/koa-metrics

    Usage

    import Koa from 'koa';
    import metrics from '@shopify/koa-metrics';
    
    const app = new Koa();
    
    app.use(
      metrics({
        prefix: 'AppName',
        host: 'some-statsd-host.com:8125',
      }),
    );

    Options

    The passed in options object adheres to the following API:

    prefix (required)

    The global StatsD metric name prefix; should be provided in PascalCase.

    host (required)

    The url for the StatsD host; should be provided in the format: hostname:port.

    API

    An instance of the Metrics object will be available on ctx.metrics further down in the middleware stack.

    Metrics

    .distribution(name: string, value: number, sampleRate?: number, tags?: Tags)

    Sends a distribution command with the specified value in milliseconds.

    .initTimer(): Timer

    Returns a new Timer started at the current process.hrtime()

    Timer

    .stop(): number

    Returns the time, in milliseconds, since the Timer was created.

    Tags

    tags are an object keyed by the name of the corresponding tag. For example:

    {
      name: value,
      name2: value2
    }
    

    Intelligent Defaults

    The global metric name prefix is provided through the options object.

    This package automatically provides performance metrics for HTTP requests.

    Standard tags

    • path
    • request_method
    • response_code
    • response_type (eg. 2xx, 3xx, ...)

    Default Metrics

    request_time

    Time to complete a request, from the application perspective.

    request_queuing_time

    Time before a request actually started being processed.

    This metric is emitted when the application start processing a request. It relies on the presence of a header X-Request-Start set by the first HTTP hop.

    request_content_length

    This metric is based on the response header Content-Length. Some responses don't provide this header (chunked encoding); in those cases, this will not be reported.

    Keywords

    none

    Install

    npm i @shopify/koa-metrics

    DownloadsWeekly Downloads

    1,292

    Version

    0.5.6

    License

    MIT

    Unpacked Size

    29.5 kB

    Total Files

    44

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar