0.9.0
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.