Commit graph

22 commits

Author SHA1 Message Date
Lars Strojny
33a7c9d0cf
Terminate output with a linefeed 2023-01-08 17:21:41 +01:00
Lars Strojny
c5f289946c
Fix missing metrics grouping (#97)
Closes #96
2023-01-08 15:12:01 +01:00
Lars Strojny
65304798de
Memoized renderering (#37)
Pre-render metrics on discovery once and then reuse rendered response.
2022-11-24 19:35:02 +01:00
Lars Strojny
7c7673f1c2
Fix code smells (#36)
Fix code smells detected by SonarCloud
2022-11-23 14:30:23 +01:00
Lars Strojny
261fa74ac9
Add configuration option for the metric server interface (#25)
Add a configuration option `interface` to allow configuring where the
HTTP metric server should bind to.
2022-11-17 13:15:07 +01:00
Lars Strojny
f8007b55ca
Add experimental support for basic auth and TLS (#23)
Allows restricting access to the monitoring endpoint using basic auth
and configure TLS certificates.
2022-11-16 22:19:08 +01:00
Lars Strojny
479fbe5727 Refactor internal APIs 2022-11-14 01:20:53 +01:00
Lars Strojny
8102144b85 Explicit type imports 2022-11-13 13:34:09 +01:00
Lars Strojny
b74721ee76
Handle null values in characteristics (#20)
Apparently `characteristic.value` can also be null. Let’s handle it
properly. Fixes #19
2022-11-13 11:13:13 +01:00
Lars Strojny
1088a78079
Strict type imports (#17)
When a symbols is only used as a type, require `import type {…}`
2022-11-10 13:00:45 +01:00
Lars Strojny
822f0da2eb
Set charset in metrics content type (#15)
Send `Content-Type: text/plain; charset=utf-8; version=0.0.4` instead of
`Content-Type: text/plain; version=0.0.4` so that special characters in
names have a chance to work.
2022-11-10 11:10:31 +01:00
Lars Strojny
f6bc8ca90c
Use code generation for UUID service map (#14)
Instead of introspecting *hap-nodejs* at runtime for UUID to service
mapping, generate the map during build time.
2022-11-10 11:07:31 +01:00
Lars Strojny
71e45a3d8c
More user-friendly (and developer-friendly) zod error reporting (#12)
Show each error message from zod and include an excerpt of the data
around the failing path if possible
2022-11-09 21:36:23 +01:00
Lars Strojny
2bd799ca9c
Integration tests for the fastify HTTP adapter (#11) 2022-11-09 19:08:24 +01:00
Lars Strojny
eead518f95
Gracefully handle unknown service UUIDs (#10) 2022-11-09 14:58:03 +01:00
Lars Strojny
72761ceee6
Support "tlv8" and "data" characteristic formats (#8) 2022-11-09 14:10:50 +01:00
Lars Strojny
84761dfa93 Replace runtypes with zod, validate config, stricter eslint config 2022-11-08 19:13:34 +01:00
Lars Strojny
78a8972bb0 Expose bools as metrics as well 2022-11-08 01:20:46 +01:00
Lars Strojny
e338c982d2 Prometheus wants counter, not count 2022-11-07 22:41:52 +01:00
Lars Strojny
ff7fd44f2c Extract rendering 2022-11-07 20:50:58 +01:00
Lars Strojny
4b4f8e8d0f Remove instance attribute 2022-11-07 19:32:38 +01:00
Lars Strojny
00dd20559a Initial version 2022-11-07 15:23:48 +01:00