Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🟪 AppSignal for Elixir package

License

NotificationsYou must be signed in to change notification settings

appsignal/appsignal-elixir

Repository files navigation

Build StatusHex pm

AppSignal for Elixir monitors errors, performance and servers for Elixirapplications.

Installation

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.

Usage

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.

Configuration

A complete list of all configurable options for AppSignal for Elixir isavailable inourdocumentation.

Development

Setup

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

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

Benchmarking

This package uses benchee to benchmark code. To run the benchmarker:

$ MIX_ENV=bench mix run bench/<file>.exs

AddressSanitizer

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.

Branches and versions

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.

Making changes

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

Publishing new versions

  1. Merge thedevelop branch tomain if necessary.

Updating the CI build matrix

  1. Update.semaphore/versions.rb to add or remove Elixir/OTP versions, or.semaphore/semaphore.yml.erb.
  2. Runscript/generate_ci_matrix.

Contributing

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.

Support

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.

License

The AppSignal for Elixir package source code is released under the MIT License.Check theLICENSE file for more information.


[8]ページ先頭

©2009-2025 Movatter.jp