From 6a002fb029cf00eeadfcfef7ce984cd7a0f83493 Mon Sep 17 00:00:00 2001 From: Donghyun Date: Thu, 20 Apr 2023 13:12:28 +0900 Subject: [PATCH] add host tag to phoenix plugin to handle paths depended on a subdomain (#183) * add :host tag to http_metrics_tags in phoenix plugin * tweak phoenix plugin test: adding event, update metrics * fix phoeni_multi_router test: event and metrics * fix ets cron flusher test --- lib/prom_ex/plugins/phoenix.ex | 10 +- test/prom_ex/ets_cron_flusher_test.exs | 20 +- test/support/events/phoenix.exs | 111 +++++++++ test/support/events/phoenix_multi_router.exs | 2 +- test/support/metrics/phoenix.txt | 198 +++++++++------- test/support/metrics/phoenix_multi_router.txt | 220 +++++++++--------- 6 files changed, 348 insertions(+), 213 deletions(-) diff --git a/lib/prom_ex/plugins/phoenix.ex b/lib/prom_ex/plugins/phoenix.ex index 69d8320f..14f1e6cd 100644 --- a/lib/prom_ex/plugins/phoenix.ex +++ b/lib/prom_ex/plugins/phoenix.ex @@ -264,7 +264,7 @@ if Code.ensure_loaded?(Phoenix) do defp http_events(metric_prefix, opts) do routers = fetch_routers!(opts) additional_routes = fetch_additional_routes!(opts) - http_metrics_tags = [:status, :method, :path, :controller, :action] + http_metrics_tags = [:status, :method, :path, :controller, :action, :host] duration_unit = Keyword.get(opts, :duration_unit, :millisecond) duration_unit_plural = Utils.make_plural_atom(duration_unit) @@ -402,7 +402,8 @@ if Code.ensure_loaded?(Phoenix) do |> do_get_router_info(routers, default_route_tags) |> Map.merge(%{ status: conn.status, - method: conn.method + method: conn.method, + host: conn.host }) _ -> @@ -419,7 +420,8 @@ if Code.ensure_loaded?(Phoenix) do |> do_get_router_info(routers, default_route_tags) |> Map.merge(%{ status: conn.status, - method: conn.method + method: conn.method, + host: conn.host }) _ -> @@ -430,7 +432,7 @@ if Code.ensure_loaded?(Phoenix) do defp do_get_router_info(conn, routers, default_route_tags) do routers |> Enum.find_value(default_route_tags, fn router -> - case Phoenix.Router.route_info(router, conn.method, conn.request_path, "") do + case Phoenix.Router.route_info(router, conn.method, conn.request_path, conn.host) do :error -> false diff --git a/test/prom_ex/ets_cron_flusher_test.exs b/test/prom_ex/ets_cron_flusher_test.exs index 0dc6508e..1a625404 100644 --- a/test/prom_ex/ets_cron_flusher_test.exs +++ b/test/prom_ex/ets_cron_flusher_test.exs @@ -42,17 +42,17 @@ defmodule PromEx.ETSCronFlusherTest do Events.execute_all(:phoenix) - assert length(get_metrics_table(DefaultPromExSetUp)) == 5 - assert length(get_dist_table(DefaultPromExSetUp)) == 42 + assert length(get_metrics_table(DefaultPromExSetUp)) == 6 + assert length(get_dist_table(DefaultPromExSetUp)) == 44 Events.execute_all(:phoenix) - assert length(get_metrics_table(DefaultPromExSetUp)) == 5 - assert length(get_dist_table(DefaultPromExSetUp)) == 84 + assert length(get_metrics_table(DefaultPromExSetUp)) == 6 + assert length(get_dist_table(DefaultPromExSetUp)) == 88 Process.sleep(8_000) - assert length(get_metrics_table(DefaultPromExSetUp)) == 13 + assert length(get_metrics_table(DefaultPromExSetUp)) == 16 assert get_dist_table(DefaultPromExSetUp) == [] new_timer_ref = get_timer_ref(DefaultPromExSetUp) @@ -72,17 +72,17 @@ defmodule PromEx.ETSCronFlusherTest do Events.execute_all(:phoenix) - assert length(get_metrics_table(ManualPromExSetUp)) == 5 - assert length(get_dist_table(ManualPromExSetUp)) == 42 + assert length(get_metrics_table(ManualPromExSetUp)) == 6 + assert length(get_dist_table(ManualPromExSetUp)) == 44 Events.execute_all(:phoenix) - assert length(get_metrics_table(ManualPromExSetUp)) == 5 - assert length(get_dist_table(ManualPromExSetUp)) == 84 + assert length(get_metrics_table(ManualPromExSetUp)) == 6 + assert length(get_dist_table(ManualPromExSetUp)) == 88 Process.sleep(3_500) - assert length(get_metrics_table(ManualPromExSetUp)) == 13 + assert length(get_metrics_table(ManualPromExSetUp)) == 16 assert get_dist_table(ManualPromExSetUp) == [] new_timer_ref = get_timer_ref(ManualPromExSetUp) diff --git a/test/support/events/phoenix.exs b/test/support/events/phoenix.exs index ccb82572..bd85639f 100644 --- a/test/support/events/phoenix.exs +++ b/test/support/events/phoenix.exs @@ -4120,5 +4120,116 @@ }, options: [] } + }, + %{ + event: [:phoenix, :endpoint, :stop], + measurements: %{duration: 335_366_105}, + metadata: %{ + conn: %{ + __struct__: Plug.Conn, + adapter: + {Plug.Cowboy.Conn, + %{ + bindings: %{}, + body_length: 0, + cert: :undefined, + has_body: false, + headers: %{ + "accept" => + "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", + "accept-encoding" => "gzip, deflate, br", + "accept-language" => "en-US,en;q=0.9", + "cache-control" => "no-cache", + "connection" => "keep-alive", + "cookie" => + "_web_app_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNjI2TEUteGtpeDcwczNzMXdiT2FUakpz.dv3_U0ixALpjrQ5DsBqexNfeQ2pPPH0v0WHUD6BU1Ik", + "host" => "otherhost:4000", + "pragma" => "no-cache", + "sec-fetch-dest" => "document", + "sec-fetch-mode" => "navigate", + "sec-fetch-site" => "none", + "sec-fetch-user" => "?1", + "sec-gpc" => "1", + "upgrade-insecure-requests" => "1", + "user-agent" => + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36" + }, + host: "otherhost", + host_info: :undefined, + method: "GET", + path: "/", + path_info: :undefined, + peer: {{127, 0, 0, 1}, 45816}, + pid: nil, + port: 4000, + qs: "", + ref: WebAppWeb.Endpoint.HTTP, + scheme: "http", + sock: {{127, 0, 0, 1}, 4000}, + streamid: 20, + version: :"HTTP/1.1" + }}, + assigns: %{}, + before_send: [], + body_params: %{__struct__: Plug.Conn.Unfetched, aspect: :body_params}, + cookies: %{ + "_web_app_key" => + "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNjI2TEUteGtpeDcwczNzMXdiT2FUakpz.dv3_U0ixALpjrQ5DsBqexNfeQ2pPPH0v0WHUD6BU1Ik" + }, + halted: false, + host: "otherhost", + method: "GET", + owner: nil, + params: %{}, + path_info: :undefined, + path_params: %{}, + port: 4000, + private: %{ + phoenix_endpoint: WebAppWeb.Endpoint, + phoenix_request_logger: {"request_logger", "request_logger"} + }, + query_params: %{}, + query_string: "", + remote_ip: {127, 0, 0, 1}, + req_cookies: %{ + "_web_app_key" => + "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNjI2TEUteGtpeDcwczNzMXdiT2FUakpz.dv3_U0ixALpjrQ5DsBqexNfeQ2pPPH0v0WHUD6BU1Ik" + }, + req_headers: [ + {"accept", + "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}, + {"accept-encoding", "gzip, deflate, br"}, + {"accept-language", "en-US,en;q=0.9"}, + {"cache-control", "no-cache"}, + {"connection", "keep-alive"}, + {"cookie", + "_web_app_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYNjI2TEUteGtpeDcwczNzMXdiT2FUakpz.dv3_U0ixALpjrQ5DsBqexNfeQ2pPPH0v0WHUD6BU1Ik"}, + {"host", "otherhost:4000"}, + {"pragma", "no-cache"}, + {"sec-fetch-dest", "document"}, + {"sec-fetch-mode", "navigate"}, + {"sec-fetch-site", "none"}, + {"sec-fetch-user", "?1"}, + {"sec-gpc", "1"}, + {"upgrade-insecure-requests", "1"}, + {"user-agent", + "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36"} + ], + request_path: "/", + resp_body: ["{\"", [[] | "a"], "\":", "10", 125], + resp_cookies: %{}, + resp_headers: [ + {"content-type", "application/json; charset=utf-8"}, + {"cache-control", "max-age=0, private, must-revalidate"}, + {"x-request-id", "FoZ8T-7wK6JKr24AAAYP"} + ], + scheme: :http, + script_name: [], + secret_key_base: "5fBSdz+TtF5BpvdQA4BVXsADOz4AUIrUeUPDy4CUpZb37kCLgrLT0Tfhq7fBT5TC", + state: :set, + status: 200 + }, + options: [] + } } ] diff --git a/test/support/events/phoenix_multi_router.exs b/test/support/events/phoenix_multi_router.exs index 957a49ea..2af6e426 100644 --- a/test/support/events/phoenix_multi_router.exs +++ b/test/support/events/phoenix_multi_router.exs @@ -1079,7 +1079,7 @@ } }, %{ - event: [:phoenix, :endpoint, :stop], + event: [:internal, :endpoint, :stop], measurements: %{duration: 45265}, metadata: %{ conn: %{ diff --git a/test/support/metrics/phoenix.txt b/test/support/metrics/phoenix.txt index cbf574f8..352ced39 100644 --- a/test/support/metrics/phoenix.txt +++ b/test/support/metrics/phoenix.txt @@ -26,95 +26,117 @@ web_app_prom_ex_phoenix_channel_handled_in_duration_milliseconds_sum{endpoint="W web_app_prom_ex_phoenix_channel_handled_in_duration_milliseconds_count{endpoint="WebAppWeb.Endpoint",event="another_test_event",handler="Elixir.Phoenix.LiveReloader.Socket"} 1 # HELP web_app_prom_ex_phoenix_http_requests_total The number of requests have been serviced. # TYPE web_app_prom_ex_phoenix_http_requests_total counter -web_app_prom_ex_phoenix_http_requests_total{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500"} 2 -web_app_prom_ex_phoenix_http_requests_total{action="NA",controller="NA",method="GET",path="special_label",status="200"} 5 -web_app_prom_ex_phoenix_http_requests_total{action="NA",controller="NA",method="GET",path="another_label",status="200"} 5 -web_app_prom_ex_phoenix_http_requests_total{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200"} 8 +web_app_prom_ex_phoenix_http_requests_total{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500"} 2 +web_app_prom_ex_phoenix_http_requests_total{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200"} 5 +web_app_prom_ex_phoenix_http_requests_total{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200"} 5 +web_app_prom_ex_phoenix_http_requests_total{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200"} 8 +web_app_prom_ex_phoenix_http_requests_total{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200"} 1 # HELP web_app_prom_ex_phoenix_http_response_size_bytes The size of the HTTP response payload. # TYPE web_app_prom_ex_phoenix_http_response_size_bytes histogram -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="64"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="512"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="4096"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="65536"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="262144"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="1048576"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="4194304"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="16777216"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="+Inf"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500"} 141644 -web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="64"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="512"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="4096"} 8 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="65536"} 8 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="262144"} 8 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="1048576"} 8 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="4194304"} 8 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="16777216"} 8 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="+Inf"} 8 -web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200"} 26656 -web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200"} 8 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="64"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="512"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="4096"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="65536"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="262144"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="1048576"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="4194304"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="16777216"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="+Inf"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="NA",controller="NA",method="GET",path="another_label",status="200"} 35 -web_app_prom_ex_phoenix_http_response_size_bytes_count{action="NA",controller="NA",method="GET",path="another_label",status="200"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="64"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="512"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="4096"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="65536"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="262144"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="1048576"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="4194304"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="16777216"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="+Inf"} 5 -web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="NA",controller="NA",method="GET",path="special_label",status="200"} 40 -web_app_prom_ex_phoenix_http_response_size_bytes_count{action="NA",controller="NA",method="GET",path="special_label",status="200"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="64"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="512"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="4096"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="65536"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="262144"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="1048576"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="4194304"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="16777216"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="+Inf"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500"} 141644 +web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="64"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="512"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="4096"} 8 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="65536"} 8 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="262144"} 8 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="1048576"} 8 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="4194304"} 8 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="16777216"} 8 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="+Inf"} 8 +web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200"} 26656 +web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200"} 8 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="64"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="512"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="4096"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="65536"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="262144"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="1048576"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="4194304"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="16777216"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="+Inf"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200"} 8 +web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="64"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="512"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="4096"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="65536"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="262144"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="1048576"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="4194304"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="16777216"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="+Inf"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200"} 35 +web_app_prom_ex_phoenix_http_response_size_bytes_count{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="64"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="512"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="4096"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="65536"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="262144"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="1048576"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="4194304"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="16777216"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="+Inf"} 5 +web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200"} 40 +web_app_prom_ex_phoenix_http_response_size_bytes_count{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200"} 5 # HELP web_app_prom_ex_phoenix_http_request_duration_milliseconds The time it takes for the application to respond to HTTP requests. # TYPE web_app_prom_ex_phoenix_http_request_duration_milliseconds histogram -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="10"} 0 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="100"} 0 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="500"} 7 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="1000"} 8 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="5000"} 8 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="10000"} 8 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="30000"} 8 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200",le="+Inf"} 8 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200"} 2636.8795279999995 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="200"} 8 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="10"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="100"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="500"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="1000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="5000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="10000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="30000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500",le="+Inf"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500"} 17.342053 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="Phoenix.LiveView.Plug",method="GET",path="/",status="500"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="10"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="100"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="500"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="1000"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="5000"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="10000"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="30000"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="+Inf"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="NA",controller="NA",method="GET",path="special_label",status="200"} 0.215255 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="NA",controller="NA",method="GET",path="special_label",status="200"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="10"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="100"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="500"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="1000"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="5000"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="10000"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="30000"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="+Inf"} 5 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="NA",controller="NA",method="GET",path="another_label",status="200"} 0.246272 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="NA",controller="NA",method="GET",path="another_label",status="200"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="10"} 0 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="100"} 0 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="500"} 7 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="1000"} 8 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="5000"} 8 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="10000"} 8 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="30000"} 8 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200",le="+Inf"} 8 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200"} 2636.8795279999995 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="200"} 8 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="10"} 0 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="100"} 0 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="500"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="1000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="5000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="10000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="30000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200",le="+Inf"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200"} 335.366105 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="Phoenix.LiveView.Plug",host="otherhost",method="GET",path="/",status="200"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="10"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="100"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="500"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="1000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="5000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="10000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="30000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500",le="+Inf"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500"} 17.342053 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="Phoenix.LiveView.Plug",host="localhost",method="GET",path="/",status="500"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="10"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="100"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="500"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="1000"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="5000"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="10000"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="30000"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="+Inf"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200"} 0.215255 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="10"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="100"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="500"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="1000"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="5000"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="10000"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="30000"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="+Inf"} 5 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200"} 0.246272 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200"} 5 diff --git a/test/support/metrics/phoenix_multi_router.txt b/test/support/metrics/phoenix_multi_router.txt index 91e2cb0d..28d826c5 100644 --- a/test/support/metrics/phoenix_multi_router.txt +++ b/test/support/metrics/phoenix_multi_router.txt @@ -3,117 +3,117 @@ web_app_prom_ex_prom_ex_status_info 1 # HELP web_app_prom_ex_phoenix_http_requests_total The number of requests have been serviced. # TYPE web_app_prom_ex_phoenix_http_requests_total counter -web_app_prom_ex_phoenix_http_requests_total{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500"} 1 -web_app_prom_ex_phoenix_http_requests_total{action="NA",controller="NA",method="GET",path="special_label",status="200"} 2 -web_app_prom_ex_phoenix_http_requests_total{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200"} 2 -web_app_prom_ex_phoenix_http_requests_total{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200"} 1 -web_app_prom_ex_phoenix_http_requests_total{action="NA",controller="NA",method="GET",path="another_label",status="200"} 1 +web_app_prom_ex_phoenix_http_requests_total{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500"} 1 +web_app_prom_ex_phoenix_http_requests_total{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200"} 2 +web_app_prom_ex_phoenix_http_requests_total{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200"} 2 +web_app_prom_ex_phoenix_http_requests_total{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200"} 1 +web_app_prom_ex_phoenix_http_requests_total{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200"} 1 # HELP web_app_prom_ex_phoenix_http_response_size_bytes The size of the HTTP response payload. # TYPE web_app_prom_ex_phoenix_http_response_size_bytes histogram -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="64"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="512"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="4096"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="65536"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="262144"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="1048576"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="4194304"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="16777216"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="+Inf"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="NA",controller="NA",method="GET",path="another_label",status="200"} 7 -web_app_prom_ex_phoenix_http_response_size_bytes_count{action="NA",controller="NA",method="GET",path="another_label",status="200"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="64"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="512"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="4096"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="65536"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="262144"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="1048576"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="4194304"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="16777216"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="+Inf"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200"} 3332 -web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="64"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="512"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="4096"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="65536"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="262144"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="1048576"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="4194304"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="16777216"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="+Inf"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200"} 6664 -web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="64"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="512"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="4096"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="65536"} 0 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="262144"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="1048576"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="4194304"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="16777216"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="+Inf"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500"} 70822 -web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500"} 1 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="64"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="512"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="4096"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="65536"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="262144"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="1048576"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="4194304"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="16777216"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="+Inf"} 2 -web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="NA",controller="NA",method="GET",path="special_label",status="200"} 16 -web_app_prom_ex_phoenix_http_response_size_bytes_count{action="NA",controller="NA",method="GET",path="special_label",status="200"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="64"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="512"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="4096"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="65536"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="262144"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="1048576"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="4194304"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="16777216"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="+Inf"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200"} 7 +web_app_prom_ex_phoenix_http_response_size_bytes_count{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="64"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="512"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="4096"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="65536"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="262144"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="1048576"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="4194304"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="16777216"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="+Inf"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200"} 3332 +web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="64"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="512"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="4096"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="65536"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="262144"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="1048576"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="4194304"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="16777216"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="+Inf"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200"} 6664 +web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="64"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="512"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="4096"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="65536"} 0 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="262144"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="1048576"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="4194304"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="16777216"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="+Inf"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500"} 70822 +web_app_prom_ex_phoenix_http_response_size_bytes_count{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500"} 1 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="64"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="512"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="4096"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="65536"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="262144"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="1048576"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="4194304"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="16777216"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="+Inf"} 2 +web_app_prom_ex_phoenix_http_response_size_bytes_sum{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200"} 16 +web_app_prom_ex_phoenix_http_response_size_bytes_count{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200"} 2 # HELP web_app_prom_ex_phoenix_http_request_duration_milliseconds The time it takes for the application to respond to HTTP requests. # TYPE web_app_prom_ex_phoenix_http_request_duration_milliseconds histogram -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="10"} 0 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="100"} 0 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="500"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="1000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="5000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="10000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="30000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200",le="+Inf"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200"} 335.966925 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="200"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="10"} 0 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="100"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="500"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="1000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="5000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="10000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="30000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500",le="+Inf"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500"} 10.729941 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="TestApp.UserController",method="GET",path="/external/users",status="500"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="10"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="100"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="500"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="1000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="5000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="10000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="30000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="special_label",status="200",le="+Inf"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="NA",controller="NA",method="GET",path="special_label",status="200"} 0.085461 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="NA",controller="NA",method="GET",path="special_label",status="200"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="10"} 0 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="100"} 0 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="500"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="1000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="5000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="10000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="30000"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200",le="+Inf"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200"} 619.828049 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="TestApp.UserController",method="GET",path="/internal/users",status="200"} 2 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="10"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="100"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="500"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="1000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="5000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="10000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="30000"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",method="GET",path="another_label",status="200",le="+Inf"} 1 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="NA",controller="NA",method="GET",path="another_label",status="200"} 0.046467 -web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="NA",controller="NA",method="GET",path="another_label",status="200"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="10"} 0 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="100"} 0 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="500"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="1000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="5000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="10000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="30000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200",le="+Inf"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200"} 335.966925 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="200"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="10"} 0 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="100"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="500"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="1000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="5000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="10000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="30000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500",le="+Inf"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500"} 10.729941 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/external/users",status="500"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="10"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="100"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="500"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="1000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="5000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="10000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="30000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200",le="+Inf"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200"} 0.085461 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="NA",controller="NA",host="localhost",method="GET",path="special_label",status="200"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="10"} 0 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="100"} 0 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="500"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="1000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="5000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="10000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="30000"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200",le="+Inf"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200"} 619.828049 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="index",controller="TestApp.UserController",host="localhost",method="GET",path="/internal/users",status="200"} 2 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="10"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="100"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="500"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="1000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="5000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="10000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="30000"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_bucket{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200",le="+Inf"} 1 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_sum{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200"} 0.046467 +web_app_prom_ex_phoenix_http_request_duration_milliseconds_count{action="NA",controller="NA",host="localhost",method="GET",path="another_label",status="200"} 1