this repo has no description
1defmodule EslHnWeb.Telemetry do
2 use Supervisor
3 import Telemetry.Metrics
4
5 def start_link(arg) do
6 Supervisor.start_link(__MODULE__, arg, name: __MODULE__)
7 end
8
9 @impl true
10 def init(_arg) do
11 children = [
12 {:telemetry_poller, measurements: periodic_measurements(), period: 10_000}
13 ]
14
15 Supervisor.init(children, strategy: :one_for_one)
16 end
17
18 def metrics do
19 [
20 # Phoenix Metrics
21 summary("phoenix.endpoint.start.system_time",
22 unit: {:native, :millisecond}
23 ),
24 summary("phoenix.endpoint.stop.duration",
25 unit: {:native, :millisecond}
26 ),
27 summary("phoenix.router_dispatch.start.system_time",
28 tags: [:route],
29 unit: {:native, :millisecond}
30 ),
31 summary("phoenix.router_dispatch.exception.duration",
32 tags: [:route],
33 unit: {:native, :millisecond}
34 ),
35 summary("phoenix.router_dispatch.stop.duration",
36 tags: [:route],
37 unit: {:native, :millisecond}
38 ),
39 summary("phoenix.socket_connected.duration",
40 unit: {:native, :millisecond}
41 ),
42 sum("phoenix.socket_drain.count"),
43 summary("phoenix.channel_joined.duration",
44 unit: {:native, :millisecond}
45 ),
46 summary("phoenix.channel_handled_in.duration",
47 tags: [:event],
48 unit: {:native, :millisecond}
49 ),
50 summary("esl_hn.refresh.stop.duration",
51 unit: {:native, :millisecond}
52 ),
53 sum("esl_hn.refresh.stop.new"),
54 sum("esl_hn.refresh.stop.old"),
55 counter("esl_hn.refresh.stop.failed"),
56 sum("esl_hn.cache.fetch.stop.hit"),
57 sum("esl_hn.cache.fetch.stop.miss"),
58 sum("esl_hn.cache.write.stop.count"),
59 summary("req.request.pipeline.stop.duration",
60 tags: [:url],
61 unit: {:native, :millisecond}
62 ),
63
64 # VM Metrics
65 summary("vm.memory.total", unit: {:byte, :kilobyte}),
66 summary("vm.total_run_queue_lengths.total"),
67 summary("vm.total_run_queue_lengths.cpu"),
68 summary("vm.total_run_queue_lengths.io")
69 ]
70 end
71
72 defp periodic_measurements do
73 []
74 end
75end