Skip to content

feat: API monitoring#49

Merged
polyipseity merged 8 commits intomainfrom
feat/api-monitoring
Mar 4, 2026
Merged

feat: API monitoring#49
polyipseity merged 8 commits intomainfrom
feat/api-monitoring

Conversation

@wylited
Copy link
Contributor

@wylited wylited commented Jan 20, 2026

How this monitoring system will work is that each API service will expose a fastify-metrics endpoint at /metrics, which requires a prometheus key to access.
this is a Prometheus scrapable endpoint for our monitoring platform.

Furthermore, if provided, it will fastify will log automatically to a Loki logging server using pino-loki.

The rest of the setup for monitoring will be done on the usthing server.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds API monitoring capabilities to the template API service by integrating Prometheus metrics collection via fastify-metrics and optional Loki logging via pino-loki. The metrics endpoint can be optionally protected with a bearer token for security.

Changes:

  • Added fastify-metrics and pino-loki dependencies for monitoring and logging
  • Implemented configurable Loki transport for centralized logging
  • Created /metrics endpoint with optional authentication via PROMETHEUS_KEY
  • Updated test helper to support passing custom options for testing different configurations

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
yarn.lock Added dependencies for fastify-metrics, pino-loki, prom-client, and related packages
package.json Added fastify-metrics and pino-loki to dependencies
src/app.ts Implemented Loki transport configuration, metrics endpoint with optional authentication
test/helper.ts Modified build function to accept optional AppOptions for flexible testing
test/routes/metrics.test.ts Added comprehensive tests for metrics endpoint with and without authentication

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@polyipseity polyipseity self-requested a review February 17, 2026 12:43
Copy link
Member

@polyipseity polyipseity left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed! Once you address the two minor issues by yourself, you can merge it.

@polyipseity polyipseity force-pushed the feat/api-monitoring branch from 2933a14 to 7727a3c Compare March 4, 2026 13:33
@polyipseity polyipseity force-pushed the feat/api-monitoring branch from c4f55b0 to 67f6bcf Compare March 4, 2026 13:43
@polyipseity polyipseity force-pushed the feat/api-monitoring branch from d44d13a to 5caae19 Compare March 4, 2026 13:57
@polyipseity polyipseity merged commit 0fbe36a into main Mar 4, 2026
9 checks passed
@polyipseity polyipseity deleted the feat/api-monitoring branch March 4, 2026 13:59
FlandiaYingman pushed a commit that referenced this pull request Mar 5, 2026
---------

Co-authored-by: William So <polyipseity@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants