Packages
kino
0.12.3
0.19.0
0.18.0
0.17.0
0.16.1
0.16.0
0.15.3
0.15.2
0.15.1
0.15.0
0.14.2
0.14.1
0.14.0
0.13.2
0.13.1
0.13.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.1
0.8.0
0.7.0
0.6.2
0.6.1
0.6.0
retired
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.3
0.1.2
0.1.1
0.1.0
Interactive widgets for Livebook
Current section
Files
Jump to
Current section
Files
lib/kino/process/tracer.ex
defmodule Kino.Process.Tracer do
@moduledoc false
use GenServer
def start_link() do
GenServer.start_link(__MODULE__, nil)
end
def get_trace_events(tracer) do
GenServer.call(tracer, :get_trace_events)
end
@impl true
def init(_) do
{:ok, []}
end
@impl true
def handle_call(:get_trace_events, _from, trace_events) do
{:reply, trace_events, trace_events}
end
@impl true
def handle_info({:seq_trace, _, {:send, _, from, to, message}, timestamp}, trace_events) do
new_event = %{
type: :send,
timestamp: timestamp,
from: from,
to: to,
message: message
}
{:noreply, [new_event | trace_events]}
end
def handle_info(_ignored_event, trace_events) do
{:noreply, trace_events}
end
end