From 7982c236c191bfb896bb0cdfc3d464e8b07a9979 Mon Sep 17 00:00:00 2001 From: Uku Taht <uku.taht@gmail.com> Date: Fri, 23 Apr 2021 11:56:41 +0300 Subject: [PATCH] Better Sentry tracking --- Dockerfile | 4 +++- config/runtime.exs | 4 +++- lib/plausible/application.ex | 2 +- lib/plausible_web/endpoint.ex | 2 +- lib/plausible_web/plugs/auth_plug.ex | 2 +- mix.exs | 3 ++- 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index eba9f485..09a26ce7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,7 +41,9 @@ COPY lib ./lib RUN npm run deploy --prefix ./assets && \ npm run deploy --prefix ./tracker && \ mix phx.digest priv/static && \ - mix download_country_database + mix download_country_database && \ +# https://hexdocs.pm/sentry/Sentry.Sources.html#module-source-code-storage + mix sentry_recompile WORKDIR /app COPY rel rel diff --git a/config/runtime.exs b/config/runtime.exs index c9bbb52d..62b92f47 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -112,7 +112,9 @@ config :sentry, environment_name: env, included_environments: ["prod", "staging"], release: app_version, - tags: %{app_version: app_version} + tags: %{app_version: app_version}, + enable_source_code_context: true, + root_source_code_path: [File.cwd!()] config :plausible, :paddle, vendor_auth_code: paddle_auth_code diff --git a/lib/plausible/application.ex b/lib/plausible/application.ex index 6b2a6b01..423f9383 100644 --- a/lib/plausible/application.ex +++ b/lib/plausible/application.ex @@ -21,7 +21,7 @@ defmodule Plausible.Application do ] opts = [strategy: :one_for_one, name: Plausible.Supervisor] - {:ok, _} = Logger.add_backend(Sentry.LoggerBackend) + Logger.add_backend(Sentry.LoggerBackend) setup_cache_stats() Application.put_env(:plausible, :server_start, Timex.now()) Supervisor.start_link(children, opts) diff --git a/lib/plausible_web/endpoint.ex b/lib/plausible_web/endpoint.ex index 8bd1555f..31a618fd 100644 --- a/lib/plausible_web/endpoint.ex +++ b/lib/plausible_web/endpoint.ex @@ -1,6 +1,6 @@ defmodule PlausibleWeb.Endpoint do - use Phoenix.Endpoint, otp_app: :plausible use Sentry.PlugCapture + use Phoenix.Endpoint, otp_app: :plausible # Serve at "/" the static files from "priv/static" directory. # diff --git a/lib/plausible_web/plugs/auth_plug.ex b/lib/plausible_web/plugs/auth_plug.ex index f4ffda03..ee116a8f 100644 --- a/lib/plausible_web/plugs/auth_plug.ex +++ b/lib/plausible_web/plugs/auth_plug.ex @@ -20,7 +20,7 @@ defmodule PlausibleWeb.AuthPlug do ) if user do - Sentry.Context.set_user_context(%{id: user.id, name: user.name}) + Sentry.Context.set_user_context(%{id: user.id, name: user.name, email: user.email}) assign(conn, :current_user, user) else conn diff --git a/mix.exs b/mix.exs index 905e46ce..122793bc 100644 --- a/mix.exs +++ b/mix.exs @@ -102,7 +102,8 @@ defmodule Plausible.MixProject do [ "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"], "ecto.reset": ["ecto.drop", "ecto.setup"], - test: ["ecto.create --quiet", "ecto.migrate", "test", "clean_clickhouse"] + test: ["ecto.create --quiet", "ecto.migrate", "test", "clean_clickhouse"], + sentry_recompile: ["compile", "deps.compile sentry --force"] ] end end -- GitLab