{"name":"@jennifer/prometheus","description":"Prometheus metrics: counters, gauges, histograms and summaries in the text exposition format, and queries against the Prometheus HTTP API","versions":{"0.1.0":{"version":"0.1.0","kind":"git","url":"https://github.com/jennifer-language/deck-prometheus.git","ref":"0.1.0","commit":"bd16eda66ff879b3a1310aff2569ec3b9a099642","checksum":"","yanked":false,"license":"LGPL-3.0-only","requires":{},"engines":{"jennifer":"\u003e=0.25.0"},"capabilities":["net"],"keywords":["prometheus","metrics","monitoring","observability","exposition"],"description":"Prometheus metrics: counters, gauges, histograms and summaries in the text exposition format, and queries against the Prometheus HTTP API","publishedAt":"1793825776","repoId":1446179946,"repoOwnerId":305727207,"repoOwner":"jennifer-language"}},"readme":"# @jennifer/prometheus\n\n[![test](https://github.com/jennifer-language/deck-prometheus/actions/workflows/test.yml/badge.svg)](https://github.com/jennifer-language/deck-prometheus/actions/workflows/test.yml)\n[![Documentation](https://img.shields.io/badge/docs-github%20pages-blue)](https://jennifer-language.github.io/deck-prometheus/)\n[![release](https://img.shields.io/github/v/release/jennifer-language/deck-prometheus)](https://github.com/jennifer-language/deck-prometheus/releases/latest)\n\nA [Jennifer](https://jennifer-lang.dev/) deck for\n[Prometheus](https://prometheus.io/) metrics: build counters, gauges,\nhistograms and summaries, render them in the text exposition format (for a\n`/metrics` handler, the node_exporter textfile collector or a Pushgateway),\nand query a Prometheus server's HTTP API.\n\nIt was Jennifer's bundled `prometheus.j` module until 0.27; the surface is the same,\nso moving over changes only the import:\n\n```jennifer\nimport \"@jennifer/prometheus/\" as prometheus;   # was: import \"prometheus.j\" as prometheus;\n```\n\n**[Documentation](https://jennifer-language.github.io/deck-prometheus/)**\n\n## Install\n\n```sh\njvc add @jennifer/prometheus\n```\n\nThis vendors the deck to `vendor/\u003cscope\u003e/prometheus/`. Without `jvc`, unpack the\n`src/` subtree of a release archive (`\u003cscope\u003e-prometheus-\u003cversion\u003e.tar.gz`) there.\n\n## Usage\n\n```jennifer\nimport \"@jennifer/prometheus/\" as prometheus;\n\ndef m as prometheus.Metric init prometheus.counter(\"http_requests_total\", \"Total HTTP requests\");\n$m = prometheus.observe($m, {\"method\": \"get\", \"code\": \"200\"}, 1.0);\nio.printf(\"%s\", prometheus.render([$m]));\n```\n\n## Requirements\n\nJennifer 0.25.0 or newer, the default `jennifer` binary: the module imports\n`http` (`net`), so `jennifer-tiny` cannot load it.\n\n## Development\n\n```sh\ntools/check-all.sh                   # the full gate, as CI runs it\njennifer test src/prometheus_test.j      # the test overlay\ntools/check-docs.sh                  # docs against the code\ntools/pack.sh dist                   # build the release archive\n```\n\n## Licence\n\nLGPL-3.0-only, see [LICENSE](LICENSE). Copyright (C) 2026 mplx \u0026lt;mplx@jennifer-lang.dev\u0026gt;.\n\n`tools/check-headers.sh` checks every source file's SPDX header against\n`deck.toml`.\n"}