Package Exports
- substreams-sink-prometheus
- substreams-sink-prometheus/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (substreams-sink-prometheus) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Substreams Prometheus CLI Node.js
substreams-sink-prometheusis a tool that allows developers to pipe data extracted metrics from a blockchain into a Prometheus time series database.
📖 Documentation
https://www.npmjs.com/package/substreams-sink-prometheus
Further resources
Protobuf
Docker environment
Pull from GitHub Container registry
docker pull ghcr.io/pinax-network/substreams-sink-prometheus:latestBuild from source
docker build -t substreams-sink-prometheus .Run with .env file
docker run -it --rm --env-file .env substreams-sink-prometheus runInstall globally via npm
$ npm install -g substreams-sink-prometheusRun
Substreams Prometheus sink module
Options:
-e --substreams-endpoint <string> Substreams gRPC endpoint to stream data from (env: SUBSTREAMS_ENDPOINT)
--manifest <string> URL of Substreams package (env: MANIFEST)
--module-name <string> Name of the output module (declared in the manifest) (env: MODULE_NAME)
-s --start-block <int> Start block to stream from (defaults to -1, which means the initialBlock of the first module you are streaming) (default: "-1", env: START_BLOCK)
-t --stop-block <int> Stop block to end stream at, inclusively (env: STOP_BLOCK)
-p, --params <string...> Set a params for parameterizable modules. Can be specified multiple times. (ex: -p module1=valA -p module2=valX&valY) (default: [], env: PARAMS)
--substreams-api-token <string> API token for the substream endpoint (default: "", env: SUBSTREAMS_API_TOKEN)
--delay-before-start <int> [OPERATOR] Amount of time in milliseconds (ms) to wait before starting any internal processes, can be used to perform to maintenance on the pod before actually letting it starts (default: 0,
env: DELAY_BEFORE_START)
--cursor-file <string> Cursor lock file (default: "cursor.lock", env: CURSOR_FILE)
--disable-production-mode Disable production mode, allows debugging modules logs, stops high-speed parallel processing (default: true, env: PRODUCTION_MODE)
--restart-inactivity-seconds <int> If set, the sink will restart when inactive for over a certain amount of seconds (default: 60, env: RESTART_INACTIVITY_SECONDS)
--hostname <string> The process will listen on this hostname for any HTTP and Prometheus metrics requests (default: "localhost", env: HOSTNAME)
--port <int> The process will listen on this port for any HTTP and Prometheus metrics requests (default: 9102, env: PORT)
--metrics-labels [string...] To apply generic labels to all default metrics (ex: --labels foo=bar) (default: {}, env: METRICS_LABELS)
--collect-default-metrics <boolean> Collect default metrics (default: false, env: COLLECT_DEFAULT_METRICS)
--verbose Enable verbose logging (default: false, env: VERBOSE)
-h, --help display help for commandOpen the browser at http://localhost:9102
Features
- Consume
*.spkgfrom:- Load URL or IPFS
- Read from
*.spkglocal filesystem - Read from
substreams.yamllocal filesystem
- Prometheus metrics
- COUNTER
- GAUGE
-
HISTOGRAM -
SUMMARY
- Handle
cursoron restart (savescursor.lockfile on disk)