appsignal-elixir

🟪 AppSignal for Elixir package

MIT License

Downloads
6.9M
Stars
271
Committers
44
appsignal-elixir -

Published by jeffkreeftmeijer over 7 years ago

Tom de Bruijn (3):

  • Add mix appsignal.diagnose task (#81)
  • Auto activate when push_api_key in env, not always (#89)
  • Bump agent to f81fe90
    • Implement running_in_container detection.
    • Fix DNS issue with musl and resolv.conf using "search" on the first line
      of configuration.

Jeff Kreeftmeijer (3):

  • Use agent.ex instead of agent.json, drop Poison dependency (#115)
  • DataEncoder encodes bignums as strings (#88)
  • Remove automatic :running_in_container setting (moved to agent)

Upgrade notes

Since 0.12.0, the agent has to be explicitly activated in the Appsignal configuration by setting :active to true. If the :active key is false or not present, the agent will be disabled and no data will be sent to AppSignal.

# config/config.exs
config :appsignal, :config,
  active: true,
  name: :appsignal_phoenix_example,
  push_api_key: "00000000-0000-0000-0000-000000000000"
appsignal-elixir -

Published by jeffkreeftmeijer over 7 years ago

Jeff Kreeftmeijer (1):

Send body->data instead of body to appsignal_finish_event

appsignal-elixir -

Published by jeffkreeftmeijer over 7 years ago

Thijs Cadier (1):

Bump agent to version with extra null pointer protection

appsignal-elixir -

Published by jeffkreeftmeijer over 7 years ago

Thijs Cadier (1):

Bump agent (360f06b6491b846910a2f50be655d63d2563edee)

appsignal-elixir - 0.11.3

Published by tombruijn over 7 years ago

Thijs Cadier (1):

  • Update musl version to fix DNS search issue (a8e6f23e4b03561c6922ca62213ef61cb94682ee)
appsignal-elixir - 0.11.2

Published by jeffkreeftmeijer almost 8 years ago

Raphael Costa (1):

  • Add support for non-strings as map values in DataEncoder.encode/1 (#83)
appsignal-elixir -

Published by jeffkreeftmeijer almost 8 years ago

Arjan Scherpenisse (1):

  • Add phoenix as optional dependency to :prod (#80)

Raphael Costa (1):

  • Add the module name to the transaction action while using decorators (#79)
appsignal-elixir -

Published by jeffkreeftmeijer almost 8 years ago

Arjan Scherpenisse (4):

  • Re-initialize Appsignal's config after a hot code upgrade. (#71)
  • Send all request headers (#75)
  • Add ErrorHandler.normalize_reason (#78)
  • Elixir 1.4 compatibility

Tyler Pearson (1):

  • Add fix for grabbing filter_parameters from Phoenix (#73)

Jeroen Visser (1):

  • Add Alpine linux (#77)

Tom de Bruijn (1):

  • Add appsignal.demo mix task (#69)

Jeff Kreeftmeijer (1):

  • Drop Phoenix dependency #61
appsignal-elixir -

Published by jeffkreeftmeijer almost 8 years ago

Jeff Kreeftmeijer (10):

  • Check Appsignal.started?/1 in TransactionRegistry.lookup/2 (#54)
  • Various configuration fixes (#55)
  • Use APPSIGNAL_APP_ENV instead of APPSIGNAL_ENVIRONMENT (#56)
  • The agent logs to STDOUT on Heroku (#60)
  • Add a transcation decorator (#62)
  • Update agent to 5f0c552 (#64)
  • Enable host metrics by default (#66)
  • DataEncoder.encode/2 handles tuples (#68)
  • Registry.register/1 returns nil if Appsignal is not started (#70)
  • Appsignal.Transaction.set_error/4 handles unformatted stacktraces (#72)

Aaron Jensen (1):

  • Fix missing paren warnings in Elixir 1.4 (#59)

Raphael Costa (1):

  • Add suport to refs and pids inside payloads (#57)

Marcos Cardoso (1):

  • Add centos/redhat support for agent installation (#48)
appsignal-elixir - 0.9.2

Published by jeffkreeftmeijer almost 8 years ago

Arjan Scherpenisse (10):

  • Fix Makefile for spaces in path names

Jeff Kreeftmeijer (2):

  • Set APPSIGNAL_IGNORE_ACTIONS from config (#41)
  • Send metadata in Appsignal.ErrorHandler.submit_transaction/6 (#40)

Lucas Nelson (1):

  • Add a section suggesting active: false in test env (#35)
appsignal-elixir -

Published by arjan almost 8 years ago

Arjan Scherpenisse (10):

  •  Add hex.pm badge
    
  •  Remove instrumentation macros, switch to decorators
    
  •  Update channel decorators documentation
    
  •  Documentation on instrumentation decorators
    
  •  Let Appsignal.{set_gauge, add_distribution_value} accept integers (#31)
    
  •  Implement Appsignal.send_error (#29)
    

Jeff Kreeftmeijer (2):

  •  Add documentation for filtered parameters (#28)
    
  •  Appsignal.Utils.ParamsEncoder.preprocess/1 handles structs (#30)
    

Upgrade notes

Instrumentation macro deprecation

The instrumented do ... end macro has been removed. Instead of writing this:

defmodule MyInstrumentedModule do
  import Appsignal.Helpers

  instrumented do
    def bar(arg) do
      # code to be instrumented
    end
    # more functions...
  end
end

you should write now:

defmodule MyInstrumentedModule do
  use Appsignal.Instrumentation.Decorators

  @decorate transaction_event
  def bar(arg) do
    # code to be instrumented
  end
  # more functions...
end

The reason for this is that the instrumented do... syntax introduced an extra indenting level for all instrumented functions, making diffs and merges large and complicated.

Channel instrumentation

The use Appsignal.Phoenix.Channel and channel_event/3 macro has been removed in favor of the new @decorate syntax. Example:

  defmodule SomeApp.MyChannel do

    use Appsignal.Instrumentation.Decorators

    @decorate channel_action
    def handle_in("ping", payload, socket) do
      {:reply, {:ok, payload}, socket}
    end
  end

You can still use the old syntax, if you really like, but note that a __MODULE__ argument needs to be passed in.

appsignal-elixir -

Published by arjan about 8 years ago

  • Experimental support for channels
  • Add instrument_def macro for defining a single instrumented function
  • Document that we are using a NIF and how it is used
  • Simplified transaction functions no longer raise
  • Don't warn about missing config when running tests
  • remember original stacktrace in phoenix endpoint (#26)
appsignal-elixir -

Published by arjan about 8 years ago

Arjan Scherpenisse (8):

  • Allow Phoenix filter parameters and/or OS env variable to be used
  • Send Phoenix session information
  • Simplify Transaction API: Default to the current process transaction

Jeff Kreeftmeijer (2):

  • Add Transaction.filter_values/2
  • Transaction.set_request_metadata/2 filters parameters

Thomas Gautier (1):

  • Fix host metrics config key in GettingStarted
appsignal-elixir - 0.3.0

Published by arjan about 8 years ago

Arjan Scherpenisse (13):
Ecto log entry times can be nil
Update deps specification in gettingstarted doc
Fix instrumentation of defp functions
CI: use --warnings-as-errors on compilation
CI: Add Erlang 18.3 as extra test target
Use :crypto.strong_rand_bytes to remove deprecation warning
Update roadmap for 1.0 beta release
Do not log path_info as request_path contains the same information
Fix Phoenix extract_error_metadata cases
Update the roadmap

Thijs Cadier (2):
New agent version

appsignal-elixir - 0.2.0

Published by arjan about 8 years ago

Arjan Scherpenisse (13):
Make documentation a bit nicer
Improved Phoenix error handling
Add instrumented do ... end macro to wrap around functions
Prefix the language integration version with 'elixir-'
Phoenix: Use reraise to preserve the original stack trace
Update docs of transaction registry
Phoenix: Fix #8, fix compilation warnings

Package Rankings
Top 2.57% on Hex.pm
Top 8.17% on Proxy.golang.org
Badges
Extracted from project README
Hex pm