- Notifications
You must be signed in to change notification settings - Fork86
🟪 AppSignal for Elixir package
License
appsignal/appsignal-elixir
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
AppSignal for Elixir monitors errors, performance and servers for Elixirapplications.
Please follow theinstallationguide on how to installand use this library.
Then, add custom instrumentation or use one of the framework integrations toautomatically gain performance insights and error notifications. Currently,AppSignal has framework integrations forPlug andPhoenix andapplications.
AppSignal will automatically monitor requests, report any exceptions that arethrown and any performance issues that might have occurred.
You can also add extra information to requests by adding custominstrumentation. Read more in ourinstrumentationguide.
A complete list of all configurable options for AppSignal for Elixir isavailable inourdocumentation.
Before you can start developing on the AppSignal for Elixir project make sureyou haveElixir installed.
This repository is managed bymono.Install mono on your local machine byfollowing the mono installationsteps.
Then make sure you have all the project's dependencies installed by running thefollowing command:
$ mono bootstrap
Testing is done with ExUnit and can be run with themix test
command. You canalso supply a path to a specific file path you want to test and even a specificline on which the test you want to run is defined.
$ mono test# The original command can still be used$ mix test$ mix test test/appsignal/some_test.ex:123
This project has several different test suites defined with different mixenvironments. You can run them by specifying the specific type of test suite intheMIX_ENV
environment variable.
# Default$ MIX_ENV=test mix test# Run the test suite with the NIF inoperational. This will generate errors# because the NIF is not active, but should run without failures.$ MIX_ENV=test_no_nif mix test
This package uses benchee to benchmark code. To run the benchmarker:
$ MIX_ENV=bench mix run bench/<file>.exs
A memory testing setup is included to detect memory errors in the NIF.It's set up in a Docker container to ensure reproducability.
To run the tests, build the container, which will build a version of the NIF with AddressSanitizer enabled.Then, run it with anAPPSIGNAL_PUSH_API_KEY
andAPPSIGNAL_APP_NAME
set to ensure AppSignal is enabled, and to be able to verify that data appears in AppSignal after running the test:
docker build --platform linux/amd64 -t appsignal-elixir-asan .docker run \ --env APPSIGNAL_PUSH_API_KEY=00000000-0000-0000-0000-000000000000 \ --env APPSIGNAL_APP_NAME="appsignal-elixir" \ --rm \ -- \ appsignal-elixir-asan
This test runsspans.exs
, which is a script that calls most functions in the NIF.
Themain
branch corresponds to the current release of thelibrary. Thedevelop
branch is used for development of features thatwill end up in the next minor release. If you fix a bug open a pullrequest onmain
, if it's a new feature ondevelop
.
When making changes to the project that require a release,add achangeset that will be usedto update the generatedCHANGELOG.md
file uponrelease.
$ mono changeset add
- Merge the
develop
branch tomain
if necessary.
- Run
mono publish
and followthe instructions.
- Update
.semaphore/versions.rb
to add or remove Elixir/OTP versions, or.semaphore/semaphore.yml.erb
. - Run
script/generate_ci_matrix
.
Thinking of contributing to our Elixir package? Awesome! 🚀
Please follow ourContributing guide in ourdocumentation and follow ourCode of Conduct.
Also, we would be very happy to send you Stroopwafles. Have look at everyonewe send a package to so far on ourStroopwafles page.
Contact us and speak directly with the engineers working onAppSignal. They will help you get set up, tweak your code and make sure you getthe most out of using AppSignal.
Also see ourSUPPORT.md file.
The AppSignal for Elixir package source code is released under the MIT License.Check theLICENSE file for more information.
About
🟪 AppSignal for Elixir package
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.