Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

53 linhas
1.6 KiB

%% Copyright (c) 2017-Present Pivotal Software, Inc. All rights reserved.
%%
%% This package, Looking Glass, is double-licensed under the Mozilla
%% Public License 1.1 ("MPL") and the Apache License version 2
%% ("ASL"). For the MPL, please see LICENSE-MPL-RabbitMQ. For the ASL,
%% please see LICENSE-APACHE2.
%%
%% This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
%% either express or implied. See the LICENSE file for specific language governing
%% rights and limitations of this software.
%%
%% If you have any questions regarding licensing, please contact us at
%% info@rabbitmq.com.
-module(lg_raw_console_tracer).
-export([start_link/2]).
-export([init/1]).
-export([loop/1]).
-export([system_continue/3]).
-export([system_terminate/4]).
-export([system_code_change/4]).
start_link(_Nth, _Opts) ->
Pid = proc_lib:spawn_link(?MODULE, init, [self()]),
{ok, Pid}.
init(Parent) ->
%% Store all messages off the heap to avoid unnecessary GC.
process_flag(message_queue_data, off_heap),
loop(Parent).
loop(Parent) ->
receive
{system, From, Request} ->
sys:handle_system_msg(Request, From, Parent, ?MODULE, [], Parent);
Msg0 ->
%% Convert the event's monotonic time to its system time.
Msg = setelement(3, Msg0, erlang:time_offset(microsecond) + element(3, Msg0)),
erlang:display(Msg),
loop(Parent)
end.
system_continue(_, _, Parent) ->
loop(Parent).
-spec system_terminate(any(), _, _, _) -> no_return().
system_terminate(Reason, _, _, _) ->
exit(Reason).
system_code_change(Misc, _, _, _) ->
{ok, Misc}.