Packages
appsignal
1.4.2
2.17.4
2.17.3
2.17.2
2.17.1
2.17.0
2.16.0
2.15.11
2.15.10
2.15.9
2.15.8
2.15.7
2.15.6
2.15.5
2.15.4
2.15.3
2.15.2
2.15.1
2.15.0
2.14.1
2.14.0
2.13.4
2.13.3
2.13.2
2.13.1
2.13.0
2.12.3
2.12.2
2.12.1
2.12.0
2.11.0
2.10.2
2.10.1
2.10.0
2.9.2
2.9.1
2.9.0
2.8.3
2.8.2
2.8.1
2.8.0
2.7.13
2.7.12
2.7.11
2.7.10
2.7.9
2.7.8
2.7.7
2.7.6
2.7.5
2.7.4
2.7.3
2.7.2
2.7.1
2.7.0
2.7.0-beta.1
2.6.1
2.6.0
2.5.3
2.5.2
2.5.1
2.5.0
2.4.3
2.4.2
2.4.1
2.4.0
2.3.1
2.3.0
2.2.19
2.2.18
2.2.17
2.2.16
2.2.15
2.2.14
2.2.13
2.2.12
retired
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.7
2.1.7-beta.1
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.8
2.0.7
2.0.6
2.0.6-beta.1
2.0.5
retired
2.0.4
retired
2.0.3
retired
2.0.2
retired
2.0.1
retired
2.0.0
retired
2.0.0-beta.11
2.0.0-beta.10
2.0.0-beta.9
2.0.0-beta.8
2.0.0-beta.7
2.0.0-beta.6
2.0.0-beta.5
2.0.0-beta.4
2.0.0-beta.3
2.0.0-beta.2
2.0.0-beta.1
2.0.0-alpha.7
2.0.0-alpha.6
2.0.0-alpha.5
2.0.0-alpha.4
2.0.0-alpha.3
2.0.0-alpha.2
2.0.0-alpha.1
1.13.5
1.13.4
1.13.3
1.13.2
1.13.1
1.13.0
1.13.0-beta.2
1.13.0-beta.1
1.12.1
1.12.0
1.12.0-beta.3
1.12.0-beta.2
1.12.0-beta.1
1.11.8
1.11.7
1.11.6
1.11.5
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.11.0-beta.1
1.10.13
1.10.12
1.10.11
1.10.10
1.10.9
1.10.8
1.10.7
1.10.6
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.4
1.9.3
1.9.2
1.9.1
1.9.1-beta.1
1.9.0
1.9.0-beta.1
1.9.0-alpha.1
1.8.2
1.8.1
1.8.1-beta.2
1.8.1-beta.1
1.8.0
1.7.2
1.7.1
1.7.0
1.7.0-beta.2
1.7.0-beta.1
1.7.0-alpha.4
1.7.0-alpha.3
1.7.0-alpha.2
1.7.0-alpha.1
1.6.7
1.6.6
1.6.6-beta.2
1.6.6-beta.1
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.6.0-beta.1
1.6.0-alpha.1
1.5.1
1.5.0
1.5.0-beta.2
1.5.0-beta.1
1.4.11-beta.1
1.4.10
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.4.0-alpha.1
1.3.6
1.3.6-beta.1
1.3.5
1.3.4
1.3.4-beta.1
1.3.3
1.3.2
1.3.1
1.3.0
1.3.0-beta.3
1.3.0-beta.2
1.3.0-beta.1
1.2.3
1.2.2
1.2.1
1.2.0
1.1.1
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-rc.1
0.13.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.2
0.9.1
0.9.0
0.8.0
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Collects error and performance data from your Elixir applications and sends it to AppSignal
Current section
Files
Jump to
Current section
Files
mix.exs
unless Code.ensure_loaded?(Appsignal.Agent) do
{_, _} = Code.eval_file("agent.ex")
end
unless Code.ensure_loaded?(Appsignal.System) do
{_, _} = Code.eval_file("lib/appsignal/system.ex")
end
defmodule Mix.Tasks.Compile.Appsignal do
use Mix.Task
def run(_args) do
{_, _} = Code.eval_file("mix_helpers.exs")
case Mix.Appsignal.Helper.verify_system_architecture() do
{:ok, arch} ->
:ok = Mix.Appsignal.Helper.ensure_downloaded(arch)
:ok = Mix.Appsignal.Helper.compile
:ok = Mix.Appsignal.Helper.store_architecture(arch)
{:error, {:unsupported, arch}} ->
Mix.Shell.IO.error(
"Unsupported target platform #{arch}, AppSignal integration " <>
"disabled!\nPlease check " <>
"http://docs.appsignal.com/support/operating-systems.html"
)
:ok = Mix.Appsignal.Helper.store_architecture(arch)
{:error, {:unknown, {arch, platform}}} ->
Mix.Shell.IO.error(
"Unknown target platform #{arch} - #{platform}, AppSignal " <>
"integration disabled!\nPlease check " <>
"http://docs.appsignal.com/support/operating-systems.html"
)
:ok = Mix.Appsignal.Helper.store_architecture(arch)
end
purge_module Appsignal.SystemBehaviour
purge_module Appsignal.System
:ok
end
# Unload loaded module so that it can be loaded again for the application
# itself, when it's already loaded in the mix setup.
def purge_module(mod) do
:code.purge mod
:code.delete mod
end
end
defmodule Appsignal.Mixfile do
use Mix.Project
@agent_version Appsignal.Agent.version
def project do
[app: :appsignal,
version: "1.4.2",
name: "AppSignal",
description: description(),
package: package(),
source_url: "https://github.com/appsignal/appsignal-elixir",
homepage_url: "https://appsignal.com",
test_paths: test_paths(Mix.env),
elixir: "~> 1.0",
compilers: compilers(Mix.env),
elixirc_paths: elixirc_paths(Mix.env),
deps: deps(),
docs: [main: "Appsignal", logo: "logo.png"],
agent_version: @agent_version
]
end
defp description do
"Collects error and performance data from your Elixir applications and sends it to AppSignal"
end
defp package do
%{files: ["lib", "c_src/*.[ch]", "mix.exs", "mix_helpers.exs",
"*.md", "LICENSE", "Makefile", "agent.ex"],
maintainers: ["Arjan Scherpenisse", "Jeff Kreeftmeijer", "Tom de Bruijn"],
licenses: ["MIT"],
links: %{"GitHub" => "https://github.com/appsignal/appsignal-elixir"}}
end
def application do
[mod: {Appsignal, []},
applications: [:logger, :decorator, :httpoison]]
end
defp compilers(:test_phoenix), do: [:phoenix] ++ compilers(:prod)
defp compilers(_), do: [:appsignal] ++ Mix.compilers
defp test_paths(:test_phoenix), do: ["test/appsignal", "test/mix", "test/phoenix"]
defp test_paths(_), do: ["test/appsignal", "test/mix"]
defp elixirc_paths(env) do
case test?(env) do
true -> ["lib", "test/support"]
false -> ["lib"]
end
end
defp test?(:test), do: true
defp test?(:test_phoenix), do: true
defp test?(:test_no_nif), do: true
defp test?(_), do: false
defp deps do
[
{:httpoison, "~> 0.11"},
{:poison, ">= 1.3.0"},
{:decorator, "~> 1.2.2"},
{:plug, ">= 1.1.0", optional: true},
{:phoenix, ">= 1.2.0", optional: true, only: [:prod, :test_phoenix, :dev]},
{:mock, "~> 0.3.0", only: [:test, :test_phoenix, :test_no_nif]},
{:bypass, "~> 0.6.0", only: [:test, :test_phoenix, :test_no_nif]},
{:ex_doc, "~> 0.12", only: :dev, runtime: false},
{:credo, "~> 0.8", only: [:dev, :test], runtime: false}
]
end
end