@aftonbladet/argos
v0.3.3
Published
Node process and @aftonbladet/loading-cache monitoring
Downloads
46
Readme
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>