Contents

vapor-community/vapormonitoring

`VaporMonitoring` is a Vapor 3 package for monitoring and providing metrics for your Vapor application. Built on top op [SwiftMetrics](https://github.com/RuntimeTools/SwiftMetrics) and [SwiftPrometheus](https://github.com/MrLotU/SwiftPrometheus). Vapor Monitoring provides the def

Installation

Vapor Monitoring can be installed using SPM

.package(url: "https://github.com/vapor-community/VaporMonitoring.git", from: "2.0.0")

Usage

Vapor Monitoring is easy to use, it requires only a few lines of code.

Vapor Monitoring requires a few things to work correclty, a MonitoredRouter and a MonitoredResponder are the most important ones.

To set up your monitoring, in your Configure.swift file, add the following:

let router = try VaporMonitoring.setupMonitoring(&config, &services)
services.register(router, as: Router.self)

What this does is load VaporMonitoring with the default configuration. This includes adding all required services to your apps services & setting some configuration prefferences to use the MonitoredResponder and MonitoredRouter.

By default, your prometheus metrics will be served at host:port/metrics and routes that don't have a routing closure, will be ignored to avoid exploding your prometheus logs. You can however customize this.

To customize your monitoring, add this to Configure.swift

let monitoringConfg = MonitoringConfig(prometheusRoute: "customRoute", onlyBuiltinRoutes: false)
let router = try VaporMonitoring.setupMonitoring(&config, &services, monitoringConfg)
services.register(router, as: Router.self)

In this case, you'd have your prometheus metrics at host:port/customRoute.

Package Metadata

Repository: vapor-community/vapormonitoring

Default branch: master

README: README.md