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.
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>