analytics/lib/sentry_filter.ex

26 lines
748 B
Elixir
Raw Normal View History

defmodule Plausible.SentryFilter do
@moduledoc """
Sentry callbacks for filtering and grouping events
"""
@behaviour Sentry.EventFilter
def exclude_exception?(%Sentry.CrashError{}, _source), do: true
def exclude_exception?(%Phoenix.NotAcceptableError{}, _), do: true
2022-07-14 03:26:59 +03:00
def exclude_exception?(exception, source) do
Sentry.DefaultEventFilter.exclude_exception?(exception, source)
end
@spec before_send(Sentry.Event.t()) :: Sentry.Event.t()
def before_send(event)
# https://hexdocs.pm/sentry/readme.html#fingerprinting
def before_send(%{exception: [%{type: DBConnection.ConnectionError}]} = event) do
%{event | fingerprint: ["ecto", "db_connection", "timeout"]}
end
def before_send(event) do
event
end
end