projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix no-language-specified federation
[akkoma]
/
lib
/
pleroma
/
web
/
akkoma_api
/
controllers
/
metrics_controller.ex
diff --git
a/lib/pleroma/web/akkoma_api/controllers/metrics_controller.ex
b/lib/pleroma/web/akkoma_api/controllers/metrics_controller.ex
index c8d3d8948b7f55af3c6b0dcfe45c298ffced6fc9..ab52cb64de28e3d41a3c8fd7e5dfaa562e8bd666 100644
(file)
--- a/
lib/pleroma/web/akkoma_api/controllers/metrics_controller.ex
+++ b/
lib/pleroma/web/akkoma_api/controllers/metrics_controller.ex
@@
-2,15
+2,23
@@
defmodule Pleroma.Web.AkkomaAPI.MetricsController do
use Pleroma.Web, :controller
alias Pleroma.Web.Plugs.OAuthScopesPlug
use Pleroma.Web, :controller
alias Pleroma.Web.Plugs.OAuthScopesPlug
+ alias Pleroma.Config
- @unauthenticated_access %{fallback: :proceed_unauthenticated, scopes: []}
- plug(:skip_auth)
-
+ plug(
+ OAuthScopesPlug,
+ %{scopes: ["admin:metrics"]}
+ when action in [
+ :show
+ ]
+ )
def show(conn, _params) do
def show(conn, _params) do
- stats = TelemetryMetricsPrometheus.Core.scrape()
-
- conn
- |> text(stats)
+ if Config.get([:instance, :export_prometheus_metrics], true) do
+ conn
+ |> text(Pleroma.PrometheusExporter.show())
+ else
+ conn
+ |> send_resp(404, "Not Found")
+ end
end
end
end
end