Gather around, ✨ magic dashboards ✨ are here!
After last week's dashboards update, we are now shipping magic dashboards. Dashboards that will be added automatically when upgrading the AppSignal Ruby gem or Elixir package in your app.
Magic dashboards
When you upgrade the Ruby gem or Elixir package to the latest version, you'll be greeted with new "magic" dashboards for some of the libraries or other parts of your stack which are detected.
AppSignal will collect the most useful metrics for libraries and other parts of your stack, and magically create dashboards. These new dashboards will show up in AppSignal and provide more insights without having to set up these metrics yourself.
For this first release we've added metric collection and dashboards for the following integrations:
- Sidekiq
- Queue length, queue latency, job duration, job statuses, memory usage, etc.
- MongoDB
- Query durations (mean, 90th percentile, 95th percentile and count).
- Puma
- Threads, workers, request connections, etc.
- Erlang VM
- Host specific metrics about IO, schedulers, processes and memory.
Under the surface: Minutely probes
Our dashboard detection makes use of the minutely probes mechanism (Ruby / Elixir). This new feature allows you to register a Ruby block, class or Erlang function that collects and sends metrics to us.
This probe is called every 60 seconds with the other registered probes. You can also use this mechanism yourself to periodically send metrics from your app to AppSignal.
1# Ruby example
2# config/initializers/appsignal.rb or a file that's loaded on boot
3Appsignal::Minutely.probes.register :my_probe, lambda do
4 Appsignal.set_gauge("database_size", 10)
5end
1# Elixir example
2defmodule MyProbe do
3 def call do
4 Appsignal.set_gauge("database_size", 10)
5 end
6end
7
8# Register this in your app's `MyApp.Application/start/2` function
9Appsignal.Probes.register(:erlang, &MyProbe.call/0)
If you have feedback about these magic dashboards, are missing a metric or two for you favorite library, please let us know. Your input is extremely valuable to us!