breachr
v0.0.1-alpha.1
Published
Official Breachr SDK for tracking API performance metrics.
Maintainers
Readme
Breachr Node.js SDK
The official Breachr SDK for sending API performance telemetry to the Breachr ingestion API.
Installation
npm install breachr
# or
yarn add breachr
# or
pnpm add breachrQuick Start
import { Breachr } from "breachr";
const client = new Breachr({
apiKey: process.env.BREACHR_API_KEY!,
});
await client.trackApiPerformance({
serviceName: "billing",
endpoint: "/v1/invoices",
method: "POST",
statusCode: 201,
latencyMs: 248,
environment: "prod",
region: "eu-west-1",
metadata: {
provider: "stripe",
},
});Configuration
| Option | Type | Default | Description |
| ----------- | -------- | ------------------------- | -------------------------------------------- |
| apiKey | string | required | Breachr API key. |
| baseUrl | string | https://api.breachr.com | Override for self-hosted or staging targets. |
| timeoutMs | number | 3000 | Request timeout in milliseconds. |
| maxRetries| number | 3 | Maximum retry attempts for retryable errors. |
| debug | boolean | false | Enables verbose console debug output. |
Event Fields
| Field | Type | Required | Notes |
| ------------- | ------------------------------ | -------- | ------------------------------------------------------------- |
| serviceName | string | ✅ | Logical service or application name. |
| endpoint | string | ✅ | Endpoint path or identifier (e.g. /v1/invoices). |
| method | string (HTTP verb) | ✅ | Automatically normalised to uppercase. |
| statusCode | number | ✅ | HTTP response status code (100-599). |
| latencyMs | number | ✅ | Request latency in milliseconds. |
| environment | string | ❌ | e.g. dev, staging, prod. |
| region | string | ❌ | Geographic region (e.g. us-east-1). |
| requestId | string | ❌ | Request trace identifier. |
| metadata | Record<string, string/number/boolean/null> | ❌ | Additional context. Sensitive keys are redacted automatically. |
| timestamp | string | Date | ❌ | Defaults to current time when omitted. |
User, organization and account identifiers are inferred server-side from the API key and must not be supplied.
License
MIT © Breachr
