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