Instrumentation
We use pino with @relaycorp/pino-cloud to provide structured logs, which could in turn be consumed to provide instrumentation.
Common logging attributes
The following attributes are shared by multiple logs:
parcelId: The id of a parcel, which can be useful to track its processing from delivery to collection.cargoId: The id of a cargo, which can be useful to track its processing from delivery to collection.privatePeerId: The id of a private gateway paired or potentially paired to this Internet gateway. Useful to find all the events involving a specific private gateway.
Log levels
We use log levels as follows:
debug: Events that are only relevant during development or debugging. They should be ignored in production.info: Events for any outcome observed outside the gateway, or any unusual interaction with a backing service.warning: Something has gone wrong but it’s being handled gracefully. Triage can start on the next working day.error: Something has gone wrong and triage must start within a few minutes. Wake up an SRE if necessary.fatal: A process has crashed.