Packages
Opinionated OpenTelemetry agent for Elixir apps by Mirego
Current section
Files
Jump to
Current section
Files
mirego_elixir_otel_agent
mix.exs
mix.exs
defmodule MiregoElixirOtelAgent.MixProject do
use Mix.Project
@version "0.2.0"
@source_url "https://github.com/mirego/mirego_elixir_otel_agent"
def project do
[
app: :mirego_elixir_otel_agent,
version: @version,
elixir: "~> 1.15",
start_permanent: Mix.env() == :prod,
deps: deps(),
docs: docs(),
package: package(),
description: description(),
source_url: @source_url,
elixirc_paths: elixirc_paths(Mix.env())
]
end
def application do
[
extra_applications: [
:logger,
:opentelemetry,
:opentelemetry_exporter,
:telemetry_poller
],
mod: {MiregoElixirOtelAgent.Application, []}
]
end
defp description do
"Opinionated OpenTelemetry agent for Elixir apps by Mirego"
end
defp package do
[
licenses: ["BSD-3-Clause"],
links: %{"GitHub" => @source_url},
files: ~w(
lib config .formatter.exs mix.exs README.md LICENSE.md CHANGELOG.md
THIRD_PARTY_NOTICES.md licenses/Apache-2.0.txt
)
]
end
defp docs do
[
main: "readme",
extras: ["README.md"],
source_ref: "v#{@version}",
source_url: @source_url
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp deps do
[
# Core OTEL + metrics
{:opentelemetry, "~> 1.5"},
{:opentelemetry_api, "~> 1.4"},
{:opentelemetry_exporter, "~> 1.8"},
{:telemetry_metrics, "~> 1.0"},
{:telemetry_poller, "~> 1.0"},
{:finch, "~> 0.19"},
{:protobuf, "~> 0.15"},
{:retry, "~> 0.19"},
# Default instrumentations — installed by default for convenience
{:opentelemetry_phoenix, "~> 2.0"},
{:opentelemetry_ecto, "~> 1.2"},
# Optional instrumentations — only used when present in the host app
{:opentelemetry_bandit, "~> 0.2 or ~> 0.3", optional: true},
{:opentelemetry_cowboy, "~> 1.0", optional: true},
{:opentelemetry_oban, "~> 1.2", optional: true},
{:opentelemetry_absinthe, "~> 2.3", optional: true},
# Dev / test
{:ex_doc, ">= 0.0.0", only: :dev, runtime: false},
{:phoenix, "~> 1.7", only: :test, optional: true}
]
end
end