Skip to content

Commit

Permalink
Merge pull request #266 from ZeusWPI/metrics
Browse files Browse the repository at this point in the history
Add /metrics endpoint
  • Loading branch information
niknetniko authored Jan 19, 2025
2 parents e175037 + 351f7b0 commit 01b8cd2
Show file tree
Hide file tree
Showing 11 changed files with 195 additions and 163 deletions.
4 changes: 4 additions & 0 deletions .dialyzer_ignore.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[
# Ignore overlapping contract warning in Cldr.ex
~r/zout_web\/cldr.ex/
]
6 changes: 3 additions & 3 deletions .github/workflows/elixir.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Elixir
uses: erlef/setup-beam@2f0cc07b4b9bea248ae098aba9e1a8a1de5ec24c
uses: erlef/setup-beam@b9c58b0450cd832ccdb3c17cc156a47065d2114f
with:
elixir-version: '1.14.1' # Define the elixir version [required]
otp-version: '25.1' # Define the OTP version [required]
Expand All @@ -58,7 +58,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Elixir
uses: erlef/setup-beam@2f0cc07b4b9bea248ae098aba9e1a8a1de5ec24c
uses: erlef/setup-beam@b9c58b0450cd832ccdb3c17cc156a47065d2114f
with:
elixir-version: '1.14.1' # Define the elixir version [required]
otp-version: '25.1' # Define the OTP version [required]
Expand All @@ -78,7 +78,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Elixir
uses: erlef/setup-beam@2f0cc07b4b9bea248ae098aba9e1a8a1de5ec24c
uses: erlef/setup-beam@b9c58b0450cd832ccdb3c17cc156a47065d2114f
with:
elixir-version: '1.14.1' # Define the elixir version [required]
otp-version: '25.1' # Define the OTP version [required]
Expand Down
168 changes: 64 additions & 104 deletions assets/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion assets/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"cytoscape-node-html-label": "^1.2.2",
"d3": "5.9.2",
"font-awesome": "^4.7.0",
"moment": "2.24.0",
"moment": "^2.30.1",
"phoenix": "file:../deps/phoenix",
"phoenix_html": "file:../deps/phoenix_html",
"phoenix_live_view": "file:../deps/phoenix_live_view",
Expand Down
2 changes: 2 additions & 0 deletions lib/zout/application.ex
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ defmodule Zout.Application do
@impl true
def start(_type, _args) do
children = [
# Start PromEx
Zout.PromEx,
# Start the Ecto repository
Zout.Repo,
# Start the Telemetry supervisor
Expand Down
13 changes: 13 additions & 0 deletions lib/zout/data/data.ex
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,18 @@ defmodule Zout.Data do
end
end

def emit_event(project, {status, _message, _response_time}) do
status_code =
case status do
:working -> 0
:failing -> 1
:offline -> 2
:unchecked -> 3
end

:telemetry.execute([:zout, :project, :status], %{value: status_code}, project)
end

@doc """
Run the checker for each project.
Expand All @@ -213,6 +225,7 @@ defmodule Zout.Data do
result = check_module.check(project.params)
Logger.info("Result: #{inspect(result)}")
handle_check_result(project, result)
emit_event(project, result)
end)
end

Expand Down
10 changes: 10 additions & 0 deletions lib/zout/prom_ex.ex
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
defmodule Zout.PromEx do
use PromEx, otp_app: :zout

@impl true
def plugins do
[
Zout.PromExPlugin
]
end
end
Loading

0 comments on commit 01b8cd2

Please sign in to comment.