@futurewindai/wotchi 1.0.0-rc.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -28
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
> Low-noise error alerts for Node.js services.
|
|
4
4
|
|
|
5
|
-
> **Status:**
|
|
5
|
+
> **Status:** Stable (`1.0.0`).
|
|
6
6
|
|
|
7
7
|
[](https://github.com/FutureWindAI/Wotchi/actions/workflows/ci.yml)
|
|
8
8
|
[](https://github.com/FutureWindAI/Wotchi/actions/workflows/codeql.yml)
|
|
9
|
-
[](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
9
|
+
[](https://www.npmjs.com/package/@futurewindai/wotchi)
|
|
10
|
+
[](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/LICENSE)
|
|
11
11
|
[](https://nodejs.org/en/about/previous-releases)
|
|
12
12
|
|
|
13
13
|
[Read the Wotchi story on Medium](https://medium.com/@alkazavr94/wotchi-low-noise-error-alerts-for-node-js-services-83cac7cf3f50)
|
|
@@ -16,7 +16,7 @@ Wotchi captures application errors in-process, removes sensitive values, groups
|
|
|
16
16
|
## Quick start
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
npm install @futurewindai/wotchi
|
|
19
|
+
npm install @futurewindai/wotchi
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
```ts
|
|
@@ -82,12 +82,12 @@ durable incident history, cross-replica deduplication, dashboards, traces, or pa
|
|
|
82
82
|
## Performance evidence
|
|
83
83
|
|
|
84
84
|
The package has zero direct runtime dependencies and keeps capture, grouping, and notification work
|
|
85
|
-
bounded. On a Node.js 22.14/macOS arm64
|
|
86
|
-
`0.
|
|
87
|
-
about `60.8 KB`. Prometheus rendering p95 was `0.
|
|
85
|
+
bounded. On a Node.js 22.14/macOS arm64 stable-v1 reference run, capture p95/p99 was
|
|
86
|
+
`0.0372 ms`/`0.0372 ms`, duplicate-storm retained heap was `0.192 MiB`, and the packed artifact was
|
|
87
|
+
about `60.8 KB`. Prometheus rendering p95 was `0.0058 ms`. The queue benchmark admitted `101` alerts while a notifier was blocked, capped
|
|
88
88
|
pending work at `100`, and kept Express and NestJS responses completing. These are reproducible local
|
|
89
89
|
measurements, not production guarantees; repeat `npm run benchmark` and `npm run benchmark:queue`
|
|
90
|
-
on your runtime and workload. See [performance evidence](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
90
|
+
on your runtime and workload. See [performance evidence](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/PERFORMANCE.md).
|
|
91
91
|
|
|
92
92
|
The exporter does not open a server or send data. Attach it to a protected endpoint owned
|
|
93
93
|
by the host application:
|
|
@@ -102,7 +102,7 @@ app.get("/metrics", (_request, response) => {
|
|
|
102
102
|
});
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
Stable v1 also supports opt-in admission control, notifier timeouts/circuits, graceful shutdown, and a
|
|
106
106
|
numeric-only runtime watcher.
|
|
107
107
|
|
|
108
108
|
It emits only aggregate counters and queue/group gauges. Prometheus, Grafana, or another existing
|
|
@@ -163,7 +163,7 @@ export class AppModule {}
|
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
For a custom dependency-injected `APP_FILTER`, keep its response and logging behavior, disable the
|
|
166
|
-
automatic Wotchi filter, and wrap it with `withWotchiNestFilter`. See the [NestJS API](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
166
|
+
automatic Wotchi filter, and wrap it with `withWotchiNestFilter`. See the [NestJS API](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/API.md#nestjs-entry-point).
|
|
167
167
|
|
|
168
168
|
The package requires Node.js `>=22.14.0` and tests the Node.js 22, 24, and 26 release lines. Use a maintained LTS line—Node.js 22 or 24—for production. Express and NestJS adapters are optional subpath integrations, so applications only load the framework adapter they use.
|
|
169
169
|
|
|
@@ -195,7 +195,7 @@ function requiredEnv(name: string): string {
|
|
|
195
195
|
}
|
|
196
196
|
```
|
|
197
197
|
|
|
198
|
-
Wotchi does not ship a shared bot token. Delivery is queued outside the request path and sends only the sanitized incident alert. See [configuration](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
198
|
+
Wotchi does not ship a shared bot token. Delivery is queued outside the request path and sends only the sanitized incident alert. See [configuration](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/CONFIGURATION.md) for notifier and security options.
|
|
199
199
|
|
|
200
200
|
## HTTPS webhook alerts
|
|
201
201
|
|
|
@@ -261,7 +261,7 @@ Wotchi keeps grouping and cooldown state in one process. Replicas have independe
|
|
|
261
261
|
reset groups, and a serverless instance can terminate before asynchronous delivery completes. An
|
|
262
262
|
in-process SDK cannot reliably detect an OOM kill, frozen event loop, host failure, or unavailable
|
|
263
263
|
network. Pair it with an external uptime monitor and keep graceful shutdown explicit; see the
|
|
264
|
-
[production recipe](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
264
|
+
[production recipe](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/examples/production-recipe/README.md).
|
|
265
265
|
|
|
266
266
|
## Process monitoring
|
|
267
267
|
|
|
@@ -285,25 +285,25 @@ const monitor = registerWotchiProcessMonitor(wotchi);
|
|
|
285
285
|
|
|
286
286
|
## Documentation
|
|
287
287
|
|
|
288
|
-
- [Getting started](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
289
|
-
- [Examples](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
290
|
-
- [API reference](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
291
|
-
- [Configuration](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
292
|
-
- [Compatibility](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
293
|
-
- [Performance](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
294
|
-
- [Architecture](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
295
|
-
- [Roadmap](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
296
|
-
- [Troubleshooting](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
297
|
-
- [FAQ](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
298
|
-
- [Security and privacy](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
299
|
-
- [Threat model](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
300
|
-
- [Contributing](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
301
|
-
- [Changelog](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
288
|
+
- [Getting started](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/GETTING_STARTED.md)
|
|
289
|
+
- [Examples](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/EXAMPLES.md)
|
|
290
|
+
- [API reference](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/API.md)
|
|
291
|
+
- [Configuration](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/CONFIGURATION.md)
|
|
292
|
+
- [Compatibility](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/COMPATIBILITY.md)
|
|
293
|
+
- [Performance](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/PERFORMANCE.md)
|
|
294
|
+
- [Architecture](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/ARCHITECTURE.md)
|
|
295
|
+
- [Roadmap](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/ROADMAP.md)
|
|
296
|
+
- [Troubleshooting](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/TROUBLESHOOTING.md)
|
|
297
|
+
- [FAQ](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/FAQ.md)
|
|
298
|
+
- [Security and privacy](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/SECURITY.md)
|
|
299
|
+
- [Threat model](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/docs/THREAT_MODEL.md)
|
|
300
|
+
- [Contributing](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/CONTRIBUTING.md)
|
|
301
|
+
- [Changelog](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/CHANGELOG.md)
|
|
302
302
|
- [GitHub releases](https://github.com/FutureWindAI/Wotchi/releases)
|
|
303
|
-
- [Apache License 2.0](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
303
|
+
- [Apache License 2.0](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/LICENSE)
|
|
304
304
|
|
|
305
305
|
## Security
|
|
306
306
|
|
|
307
|
-
Do not include real secrets or customer error data in issues, examples, or test fixtures. Report security vulnerabilities privately using the [security policy](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0
|
|
307
|
+
Do not include real secrets or customer error data in issues, examples, or test fixtures. Report security vulnerabilities privately using the [security policy](https://github.com/FutureWindAI/Wotchi/blob/v1.0.0/SECURITY.md).
|
|
308
308
|
|
|
309
309
|
Wotchi is open source and maintained by FutureWind AI.
|