reportd
A service for receiving CSP reports and others.
Report To
This service will log the reports recieved from a variety of report-uri
and report-to
systems as validated JSON to standard out.
To start sending reports, target https://reportd.natwelch.com/reports/$yourservicename
TODO
We need to add support for the following:
Also need to add support for Reporting API v1. see migration policy https://developer.chrome.com/blog/reporting-api-migration
Analytics
This service will log the reports recieved for web-vitals. We have only tested with next.js. See https://nextjs.org/docs/advanced-features/measuring-performance and https://web.dev/vitals/ for more information.
To start sending analytics, target https://reportd.natwelch.com/analytics/$yourservicename
<script type="module">
import { onCLS, onINP, onLCP, onFCP, onFID, onTTFB } from 'https://unpkg.com/web-vitals@4?module';
function sendToAnalytics(metric) {
const body = JSON.stringify(metric);
(navigator.sendBeacon && navigator.sendBeacon('https://reportd.natwelch.com/analytics/$yourservicename', body)) ||
fetch('https://reportd.natwelch.com/analytics/$yourservicename', { body, method: 'POST', keepalive: true });
}
onCLS(sendToAnalytics);
onFCP(sendToAnalytics);
onFID(sendToAnalytics);
onINP(sendToAnalytics);
onLCP(sendToAnalytics);
onTTFB(sendToAnalytics);
</script>