feat(metrics): Adding initial support for prometheus metrics (#1176)

* feat(metrics): Adding initial support for prometheus metrics

* Fixing CI

* run go mod tidy
This commit is contained in:
Jesús Espino 2023-10-17 18:22:53 +02:00 committed by GitHub
parent 3f3162e57c
commit e91f660eb1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 172 additions and 26 deletions

View file

@ -11,6 +11,7 @@ import (
"github.com/go-skynet/LocalAI/api/options"
"github.com/go-skynet/LocalAI/api/schema"
"github.com/go-skynet/LocalAI/internal"
"github.com/go-skynet/LocalAI/metrics"
"github.com/go-skynet/LocalAI/pkg/assets"
"github.com/gofiber/fiber/v2"
@ -120,6 +121,9 @@ func App(opts ...options.AppOption) (*fiber.App, error) {
// Default middleware config
app.Use(recover.New())
if options.Metrics != nil {
app.Use(metrics.APIMiddleware(options.Metrics))
}
// Auth middleware checking if API key is valid. If no API key is set, no auth is required.
auth := func(c *fiber.Ctx) error {
@ -229,5 +233,7 @@ func App(opts ...options.AppOption) (*fiber.App, error) {
app.Get("/v1/models", auth, openai.ListModelsEndpoint(options.Loader, cl))
app.Get("/models", auth, openai.ListModelsEndpoint(options.Loader, cl))
app.Get("/metrics", metrics.MetricsHandler())
return app, nil
}