diff --git a/src/featureflagservice/lib/featureflagservice/application.ex b/src/featureflagservice/lib/featureflagservice/application.ex index 24417f1ab7..efef61c62a 100644 --- a/src/featureflagservice/lib/featureflagservice/application.ex +++ b/src/featureflagservice/lib/featureflagservice/application.ex @@ -13,8 +13,6 @@ defmodule Featureflagservice.Application do children = [ # Start the Ecto repository Featureflagservice.Repo, - # Start the Telemetry supervisor - FeatureflagserviceWeb.Telemetry, # Start the PubSub system {Phoenix.PubSub, name: Featureflagservice.PubSub}, # Start the Endpoint (http/https) diff --git a/src/featureflagservice/lib/featureflagservice_web/telemetry.ex b/src/featureflagservice/lib/featureflagservice_web/telemetry.ex deleted file mode 100644 index c9e4298d3a..0000000000 --- a/src/featureflagservice/lib/featureflagservice_web/telemetry.ex +++ /dev/null @@ -1,71 +0,0 @@ -defmodule FeatureflagserviceWeb.Telemetry do - use Supervisor - import Telemetry.Metrics - - def start_link(arg) do - Supervisor.start_link(__MODULE__, arg, name: __MODULE__) - end - - @impl true - def init(_arg) do - children = [ - # Telemetry poller will execute the given period measurements - # every 10_000ms. Learn more here: https://hexdocs.pm/telemetry_metrics - {:telemetry_poller, measurements: periodic_measurements(), period: 10_000} - # Add reporters as children of your supervision tree. - # {Telemetry.Metrics.ConsoleReporter, metrics: metrics()} - ] - - Supervisor.init(children, strategy: :one_for_one) - end - - def metrics do - [ - # Phoenix Metrics - summary("phoenix.endpoint.stop.duration", - unit: {:native, :millisecond} - ), - summary("phoenix.router_dispatch.stop.duration", - tags: [:route], - unit: {:native, :millisecond} - ), - - # Database Metrics - summary("featureflagservice.repo.query.total_time", - unit: {:native, :millisecond}, - description: "The sum of the other measurements" - ), - summary("featureflagservice.repo.query.decode_time", - unit: {:native, :millisecond}, - description: "The time spent decoding the data received from the database" - ), - summary("featureflagservice.repo.query.query_time", - unit: {:native, :millisecond}, - description: "The time spent executing the query" - ), - summary("featureflagservice.repo.query.queue_time", - unit: {:native, :millisecond}, - description: "The time spent waiting for a database connection" - ), - summary("featureflagservice.repo.query.idle_time", - unit: {:native, :millisecond}, - description: - "The time the connection spent waiting before being checked out for the query" - ), - - # VM Metrics - summary("vm.memory.total", unit: {:byte, :kilobyte}), - summary("vm.total_run_queue_lengths.total"), - summary("vm.total_run_queue_lengths.cpu"), - summary("vm.total_run_queue_lengths.io") - ] - end - - defp periodic_measurements do - [ - # A module, function and arguments to be invoked periodically. - # This function must call :telemetry.execute/3 and a metric must be added above. - # {FeatureflagserviceWeb, :count_users, []} - ] - end -end