@aftonbladet/argos

0.3.3 • Public • Published

argos - Node process and @aftonbladet/loading-cache monitoring

About the name

Argus Panoptes or Argos was a hundred-eyed giant in Greek mythology. He was a giant, the son of Arestor, whose name "Panoptes" meant "the all-seeing one". His main task was to guard Io.

Source

Usage

Configure some environment variables:

VARIABLE Description Mandatory Default Example
ARGOS_ENABLED Set to true or yes to enable argos Yes true
ARGOS_JOB_NAME The prometheus job name Yes iris-stage
ARGOS_INSTANCE The prometheus instance name No $BOXFUSE_INSTANCE_ID or local worker-0
ARGOS_GATEWAY_URL The prometheus push gateway URL No http://prometheus-pushgateway.local.net:9091 http://prometheus-pushgateway-prod.aftonbladet.io:9091
ARGOS_METRIC_PREFIX A prefix that is added to all created metric names No '' iris_
ARGOS_METRIC_HELP_PREFIX A prefix that is added to all help texts No Metrics for Iris metrics for
ARGOS_PUSH_INTERVAL How often in milliseconds to push to the prometheus gateway No 10000 3000
ARGOS_PERFORM_CLEANUP If all metrics matching the job name are to be deleted from the push gateway on startup. This also tries to remove the added metrics on shutdown. No true false

Add the following as early as possible in your code:

require('@aftonbladet/argos');

Monitor an @aftonbladet/loading-cache

Use the monitored eviction strategy and remember to specify a name:

import LoadingCache from '@aftonbladet/loading-cache';
import { MonitoredLruEvictionStrategy } from '@aftonbladet/argos';

const cache = new LoadingCache({
    evictionStrategy: new MonitoredLruEvictionStrategy({
        maxEntries: articleApiCacheMaxEntries,
        maxAge: articleApiCacheTtl,
        name: 'article_api_cache',
    }),
});

Publish

npm version <major|minor|patch>

/@aftonbladet/argos/

    Package Sidebar

    Install

    npm i @aftonbladet/argos

    Weekly Downloads

    11

    Version

    0.3.3

    License

    UNLICENSED

    Last publish

    Collaborators

    • aftonbladet