defmodule Instruments.Sysmon.Receiver.Log do
@moduledoc """
This module emits system monitor events
"""
@behaviour Instruments.Sysmon.Receiver
require Logger
@impl true
def handle_busy_port(pid, port) do
Logger.warn("Busy port: #{inspect(pid)} #{inspect(port)}")
end
@impl true
def handle_busy_dist_port(pid, port) do
Logger.warn("Busy dist port: #{inspect(pid)} #{inspect(port)}")
end
@impl true
def handle_long_gc(pid, info) do
Logger.warn("Long GC: #{inspect(pid)} #{inspect(info)}")
end
@impl true
def handle_long_message_queue(pid, long) do
if long do
Logger.warn("Long message queue: #{inspect(pid)}")
else
Logger.info("Long message queue resolved: #{inspect(pid)}")
end
end
@impl true
def handle_long_schedule(pid, info) do
Logger.warn("Long schedule: #{inspect(pid)} #{inspect(info)}")
end
@impl true
def handle_large_heap(pid, info) do
Logger.warn("Large heap: #{inspect(pid)} #{inspect(info)}")
end
end