anchor.diff:           terminate/2,
            code_change/3]).
   
  +%% Types
  +-export_type([tab/0]).
  +
  +-type tab() :: atom() | integer().
  +
   -record(state, {subscribers = [],
                   ref,
                   remote_pid,
  
positive.code:     gen_server:call(Node, {trace_pid, Pid}).
  
  %% @doc Enables tracing for ets insert/lookup functions calls on the `Node'.
  -spec enable_ets_call_tracing(Node :: atom()) -> ok.
  enable_ets_call_tracing(Node) ->
      gen_server:call(Node, enable_ets_call_tracing).
  
  %% @doc Disables tracing for ets insert/lookup functions calls on the `Node'.
  -spec disable_ets_call_tracing(Node :: atom()) -> ok.
  disable_ets_call_tracing(Node) ->
      gen_server:call(Node, disable_ets_call_tracing).
  
  track_timeline(Pid) ->
      Node = erlang:node(Pid),
  
negative.code:         {Ref, Proplist} when is_list(Proplist) ->
              %% assert all ets tables were cleared
              EtsTables = [spawn_, exit_, send_, send_self_, receive_, trace_,
                           timeline_, ets_func_, ets_traffic_],
              [{Key, true} = lists:keyfind(Key, 1, Proplist)
               || Key <- EtsTables],
  
  