analytics / lib /sentry_filter.ex
Leon4gr45's picture
Upload folder using huggingface_hub (part 4)
c27e67a verified
Raw
History Blame Contribute Delete
1.98 kB
defmodule Plausible.SentryFilter do
@moduledoc """
Sentry callbacks for filtering and grouping events
"""
@spec before_send(Sentry.Event.t()) :: Sentry.Event.t()
def before_send(event)
def before_send(%{original_exception: %Bamboo.PostmarkAdapter.Error{} = e} = event) do
if Bamboo.PostmarkAdapter.Error.is_hard_bounce(e), do: false, else: event
end
def before_send(%{original_exception: %Phoenix.NotAcceptableError{}}), do: false
def before_send(%{original_exception: %Plug.CSRFProtection.InvalidCSRFTokenError{}}), do: false
def before_send(%{original_exception: %Plug.Static.InvalidPathError{}}), do: false
def before_send(
%{
exception: [%{type: "DBConnection.ConnectionError"}],
original_exception: %{reason: reason}
} = event
) do
%{event | fingerprint: ["db_connection", reason]}
end
def before_send(
%{
exception: [%{type: "Mint.TransportError"}],
original_exception: %{reason: reason}
} = event
) do
%{event | fingerprint: ["mint_transport", reason]}
end
def before_send(
%{
exception: [%{type: "Finch.TransportError"}],
original_exception: %{reason: reason}
} = event
) do
%{event | fingerprint: ["mint_transport", reason]}
end
def before_send(
%{source: :logger, message: %{formatted: "Ch.Connection (#PID<" <> rest}} = event
) do
if String.ends_with?(rest, ")) disconnected: ** (Mint.HTTPError) the connection is closed") do
false
else
event
end
end
def before_send(%{extra: %{request: %Plausible.Ingestion.Request{}}} = event) do
%{event | fingerprint: ["ingestion_request"]}
end
def before_send(%{source: :logger, message: %{formatted: "Ranch listener" <> rest}} = event) do
if String.contains?(rest, "had its request process") do
false
else
event
end
end
def before_send(event) do
event
end
end