analytics/mix.exs
Uku Taht 2b8e3ea62a
Use finch in sentry client (#1996)
* Introduce Finch for Sentry integration

* Make sure the DummyAgent can be started

* No need to sanitize the dsn, finch takes care of that

* Simplify the dummy child spec

* Annotate redirects clause

* Make use of new `get_int_from_path_or_env`

* Actually use finch in Sentry config

* Configure `excluded_domains` correctly for Sentry

The way sentry is configured currently, when we get an HTTP error it
will be logged twice - once from Sentry.PlugCapture and once from
Sentry.LoggerBackend. The logger backend module does the right thing
by default but for some reason we've been overriding the config
parameter that by default stops double-counting errors. This commit
returns to the default configuration which is better.

* Default to 15s timeout

* Attempt to send twice at most

* Warn in sentry client

* Use warn level in sentry client

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2022-07-08 11:14:52 +03:00

124 lines
3.8 KiB
Elixir

defmodule Plausible.MixProject do
use Mix.Project
def project do
[
app: :plausible,
version: System.get_env("APP_VERSION", "0.0.1"),
elixir: "~> 1.11",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:phoenix] ++ Mix.compilers(),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps(),
test_coverage: [
tool: ExCoveralls
],
releases: [
plausible: [
include_executables_for: [:unix],
applications: [plausible: :permanent],
steps: [:assemble, :tar]
]
],
dialyzer: [
plt_file: {:no_warn, "priv/plts/dialyzer.plt"},
plt_add_apps: [:mix, :ex_unit]
]
]
end
# Configuration for the OTP application.
#
# Type `mix help compile.app` for more information.
def application do
[
mod: {Plausible.Application, []},
extra_applications: [
:logger,
:runtime_tools,
:tls_certificate_check
]
]
end
# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
# Specifies your project dependencies.
#
# Type `mix help deps` for examples and options.
defp deps do
[
{:finch, "~> 0.12.0"},
{:bcrypt_elixir, "~> 2.0"},
{:combination, "~> 0.0.3"},
{:cors_plug, "~> 3.0"},
{:plug, "~> 1.13", override: true},
{:connection, "~> 1.1", override: true},
{:ecto_sql, "~> 3.0"},
{:elixir_uuid, "~> 1.2", only: :test},
{:jason, "~> 1.3"},
{:phoenix, "~> 1.6.0"},
{:phoenix_ecto, "~> 4.0"},
{:phoenix_html, "~> 2.12"},
{:phoenix_live_reload, "~> 1.2", only: :dev},
{:phoenix_pubsub, "~> 2.0"},
{:plug_cowboy, "~> 2.3"},
{:ref_inspector, "~> 1.3"},
{:timex, "~> 3.6"},
{:ua_inspector, "~> 3.0"},
{:bamboo, "~> 2.2"},
{:hackney, "~> 1.8"},
{:bamboo_phoenix, "~> 1.0.0"},
{:bamboo_postmark, git: "https://github.com/pablo-co/bamboo_postmark.git", tag: "master"},
{:bamboo_smtp, "~> 4.1"},
{:sentry, "~> 8.0"},
{:httpoison, "~> 1.4"},
{:ex_machina, "~> 2.3", only: :test},
{:excoveralls, "~> 0.10", only: :test},
{:double, "~> 0.8.0", only: :test},
{:php_serializer, "~> 2.0"},
{:csv, "~> 2.3"},
{:oauther, "~> 1.3"},
{:nanoid, "~> 2.0.2"},
{:siphash, "~> 3.2"},
{:oban, "~> 2.11"},
{:geolix, "~> 1.0"},
{:clickhouse_ecto, git: "https://github.com/plausible/clickhouse_ecto.git"},
{:location, git: "https://github.com/plausible/location.git"},
{:geolix_adapter_mmdb2, "~> 0.5.0"},
{:cachex, "~> 3.4"},
{:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false},
{:credo, "~> 1.5", only: [:dev, :test], runtime: false},
{:kaffy, "~> 0.9.0"},
{:envy, "~> 1.1.1"},
{:phoenix_pagination, "~> 0.7.0"},
{:hammer, "~> 6.0"},
{:public_suffix, git: "https://github.com/axelson/publicsuffix-elixir"},
{:floki, "~> 0.32.0", only: :test},
{:referrer_blocklist, git: "https://github.com/plausible/referrer-blocklist.git"},
{:fun_with_flags, "~> 1.8.1"},
{:fun_with_flags_ui, "~> 0.8"},
{:opentelemetry_api, "~> 1.0"},
{:opentelemetry, "~> 1.0"},
{:opentelemetry_exporter, "~> 1.0"},
{:opentelemetry_phoenix, "~> 1.0"},
{:telemetry, "~> 1.0", override: true},
{:opentelemetry_ecto, "~> 1.0.0"},
{:observer_cli, "~> 1.7"},
{:mimic, "~> 1.7", only: :test}
]
end
defp aliases 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"],
sentry_recompile: ["compile", "deps.compile sentry --force"]
]
end
end