# @bonniernews/exp-metrics

> Simple bootstrapping of basic prometheus metrics for your express based application.

Latest version **3.0.0** (published 2024-05-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install @bonniernews/exp-metrics
pnpm add @bonniernews/exp-metrics
yarn add @bonniernews/exp-metrics
bun add @bonniernews/exp-metrics
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.0 |
| Published | 2024-05-21 |
| First published | 2018-10-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 9 |
| Unpacked size | 8.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Bonnier News AB |
| Maintainers | erandersson, daghall, andreas.samuelsson, norla, mattiasobn, chrissode, jzachrisson, hilleso, adam.hakansson, amundsentb, jonaek, drgeobn, mikael.mattsson, morre, takolander, vitryssen, herbola, nifo, johark, aliceboberg, varneynz, gusliden, mxtr, karlbergc, martindanielson, joelekman, chavah, matsrorbecker, axeljohanssonbonniernews, markusn, linuss, joelabrahamsson, jonaswalden, indeedshouts, marcusgronblad |

## Links

- npm: https://www.npmjs.com/package/@bonniernews/exp-metrics
- Homepage: https://github.com/BonnierNews/exp-metrics
- Issues: https://github.com/BonnierNews/exp-metrics/issues
- npm.io page: https://npm.io/package/@bonniernews/exp-metrics

## Dependencies (9)

- [proxyquire](https://npm.io/package/proxyquire.md) ^2.1.3
- [on-finished](https://npm.io/package/on-finished.md) ^2.3.0
- [@opentelemetry/api](https://npm.io/package/@opentelemetry/api.md) ^1.8.0
- [@opentelemetry/resources](https://npm.io/package/@opentelemetry/resources.md) ^1.24.1
- [@opentelemetry/sdk-metrics](https://npm.io/package/@opentelemetry/sdk-metrics.md) ^1.24.1
- [@opentelemetry/resource-detector-gcp](https://npm.io/package/@opentelemetry/resource-detector-gcp.md) ^0.29.9
- [@google-cloud/opentelemetry-resource-util](https://npm.io/package/@google-cloud/opentelemetry-resource-util.md) ^2.2.0
- [@opentelemetry/resource-detector-container](https://npm.io/package/@opentelemetry/resource-detector-container.md) ^0.3.9
- [@google-cloud/opentelemetry-cloud-monitoring-exporter](https://npm.io/package/@google-cloud/opentelemetry-cloud-monitoring-exporter.md) ^0.18.0

## Recent versions

- 3.0.0 (latest) — 2024-05-21
- 2.0.3 — 2024-05-20
- 2.0.2 — 2024-05-16
- 2.0.1 — 2024-05-03
- 2.0.0 — 2024-04-25
- 1.0.0 — 2021-11-03
- 0.0.2 — 2018-11-13
- 0.0.1 — 2018-10-01

## README

# exp-metrics

[![Run tests](https://github.com/BonnierNews/exp-metrics/actions/workflows/run-tests.yml/badge.svg)](https://github.com/BonnierNews/exp-metrics/actions/workflows/run-tests.yml)

Simple wrapper of [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-js) metrics with the same API as [prom-client](https://www.npmjs.com/package/prom-client),
to make the transition from `prom-client` easy, and also add functionality that
OpenTelemetry lacks.


## Types of metrics and API

- Counter
  - `inc([labels,] [value])`
- Gauge
  - `set([labels,] value)`
  - `inc([labels,] [value])`
  - `dec([labels,] [value])`
- Summary (histogram in OpenTelemetry terms)
  - `observe([labels,] value)`


## Installing

```sh
npm install @bonniernews/exp-metrics
```


## Usage


```javascript
const expMetrics = require("@bonniernews/exp-metrics");

metrics = expMetrics("my-service-name", {
  // optional overrides, see more below
});

const myCounter = metrics.counter({
  name: "my_counter",
  help: "My counter",
})

myCounter.inc(2);
myCounter.inc({ foo: "bar" }, 3);

```

See more in the [prom-client](https://github.com/siimon/prom-client?tab=readme-ov-file#custom-metrics) documentation.

For overriding the default OpenTelemetry configuration, see the [OpenTelemetry documentation](https://www.npmjs.com/package/@opentelemetry/resources)

---
_Source: https://npm.io/package/@bonniernews/exp-metrics · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
