Reliability Kit is a well tested suite of tools designed to help FT.com applications be more reliable and measurable.
We maintain documentation in this repo:
-
The getting started guide is the best place to begin, it guides you through good error handling practices and how you can use Reliability Kit to improve your app's error handling
-
The package README files in this monorepo contain technical documentation. They can be found in the
packages
folder. A brief outline of what each package does is listed here:-
@dotcom-reliability-kit/app-info:
A utility to get application information (e.g. the system code) in a consistent way -
@dotcom-reliability-kit/crash-handler:
A method to bind an uncaught exception handler to ensure that fatal application errors are logged. It is a replacement for Sentry fatal error logging. -
@dotcom-reliability-kit/errors:
A suite of error classes which help you throw the most appropriate error in any situation -
@dotcom-reliability-kit/eslint-config:
A linting config, specifically focussed on enhancing code quality and proactively catching errors/bugs before they make it into production. -
@dotcom-reliability-kit/log-error:
A method to consistently log error object with optional request information -
@dotcom-reliability-kit/logger:
A simple and fast logger based on Pino, with FT preferences baked in -
@dotcom-reliability-kit/middleware-log-errors:
Express middleware to consistently log errors -
@dotcom-reliability-kit/middleware-render-error-info:
Express middleware to render error information in a browser in a way that makes local debugging easier -
@dotcom-reliability-kit/opentelemetry:
An OpenTelemetry client that's preconfigured for drop-in use in FT apps. -
@dotcom-reliability-kit/serialize-error:
A utility function to serialize an error object in a way that's friendly to loggers, view engines, and converting to JSON -
@dotcom-reliability-kit/serialize-request:
A utility function to serialize a request object in a way that's friendly to loggers, view engines, and converting to JSON
-
-
Example projects illustrate more real-world examples of how to use Reliability Kit. These live in separate repositories:
-
Express example:
An example of how to use Reliability Kit with an Express-based application -
Serverless example:
An example of how to use Reliability Kit with a Serverless application
-
To understand the design decisions we made when building this project, read the design guide here.
The contributing guide is available here. You can find a roadmap with planned work here.
The support that we aim to offer is available here.
Licensed under the MIT license.
Copyright © 2022, The Financial Times Ltd.