Watchtower-Course-Project

ADR-0004: Use Navigation Timing API for Frontend Performance Metrics

Status

Approved

Date

2026-05-27


Context

WatchTower aims to provide lightweight frontend observability for:

The system requires a native way to accurately collect lighweight frontend page

WatchTower also requires:


Decision

Use the browser-native Navigation Timing API as the primary mechanism for collecting frontend page load performance telemetry.


Rationale


Alternatives Considered

Custom JavaScript Timing Logic

Rejected because manually measuring events is less accurate and harder to maintain.

Third-Party Observability SDKs

Rejected due to:

Resource Timing API Only

Rejected because Resource Timing focuses on asset timing rather than full page navigation metrics.


Consequences

Positive

Negative


Conclusion

The Navigation Timing API was selected because it provides lightweight, standardized, and browser-native performance telemetry suitable for WatchTower’s frontend observability goals.