From 87d05454bcb54cd5503a337ae910932c2fe76690 Mon Sep 17 00:00:00 2001 From: SisMaker <1713699517@qq.com> Date: Wed, 19 May 2021 19:23:34 +0800 Subject: [PATCH] =?UTF-8?q?ft:=20=E7=9B=AE=E5=BD=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/{lg.erl => eTpf.erl} | 2 +- src/{ => profile}/lg_callgrind.erl | 2 +- src/{ => profile}/lg_file_reader.erl | 0 src/{ => profile}/lg_file_tracer.erl | 0 src/{ => profile}/lg_flame.erl | 0 src/{ => profile}/lg_messages.erl | 0 src/{ => profile}/lg_messages_seqdiag.erl | 0 src/{ => profile}/lg_rabbit_hole.erl | 0 src/{ => profile}/lg_raw_console_tracer.erl | 0 src/{ => profile}/lg_socket_client.erl | 0 src/{ => profile}/lg_socket_tracer.erl | 0 src/{ => profile}/lg_term.erl | 0 src/{ => profile}/lg_tracer.erl | 0 src/{ => profile}/lg_tracer_pool.erl | 0 src/{ => profile}/looking_glass_app.erl | 0 src/{ => profile}/looking_glass_sup.erl | 0 test/lg_SUITE.erl | 64 ++++++++++----------- 17 files changed, 34 insertions(+), 34 deletions(-) rename src/{lg.erl => eTpf.erl} (99%) rename src/{ => profile}/lg_callgrind.erl (99%) rename src/{ => profile}/lg_file_reader.erl (100%) rename src/{ => profile}/lg_file_tracer.erl (100%) rename src/{ => profile}/lg_flame.erl (100%) rename src/{ => profile}/lg_messages.erl (100%) rename src/{ => profile}/lg_messages_seqdiag.erl (100%) rename src/{ => profile}/lg_rabbit_hole.erl (100%) rename src/{ => profile}/lg_raw_console_tracer.erl (100%) rename src/{ => profile}/lg_socket_client.erl (100%) rename src/{ => profile}/lg_socket_tracer.erl (100%) rename src/{ => profile}/lg_term.erl (100%) rename src/{ => profile}/lg_tracer.erl (100%) rename src/{ => profile}/lg_tracer_pool.erl (100%) rename src/{ => profile}/looking_glass_app.erl (100%) rename src/{ => profile}/looking_glass_sup.erl (100%) diff --git a/src/lg.erl b/src/eTpf.erl similarity index 99% rename from src/lg.erl rename to src/eTpf.erl index 4966a95..b051a9f 100644 --- a/src/lg.erl +++ b/src/eTpf.erl @@ -12,7 +12,7 @@ %% If you have any questions regarding licensing, please contact us at %% info@rabbitmq.com. --module(lg). +-module(eTpf). -export([trace/1]). -export([trace/2]). diff --git a/src/lg_callgrind.erl b/src/profile/lg_callgrind.erl similarity index 99% rename from src/lg_callgrind.erl rename to src/profile/lg_callgrind.erl index 24ec4b6..73245ec 100644 --- a/src/lg_callgrind.erl +++ b/src/profile/lg_callgrind.erl @@ -80,7 +80,7 @@ sources = #{} :: #{mfa() => {string(), pos_integer()}} }). --spec patterns() -> lg:input(). +-spec patterns() -> eTpf:input(). patterns() -> [{app, kernel}, {app, stdlib}, {app, looking_glass}]. diff --git a/src/lg_file_reader.erl b/src/profile/lg_file_reader.erl similarity index 100% rename from src/lg_file_reader.erl rename to src/profile/lg_file_reader.erl diff --git a/src/lg_file_tracer.erl b/src/profile/lg_file_tracer.erl similarity index 100% rename from src/lg_file_tracer.erl rename to src/profile/lg_file_tracer.erl diff --git a/src/lg_flame.erl b/src/profile/lg_flame.erl similarity index 100% rename from src/lg_flame.erl rename to src/profile/lg_flame.erl diff --git a/src/lg_messages.erl b/src/profile/lg_messages.erl similarity index 100% rename from src/lg_messages.erl rename to src/profile/lg_messages.erl diff --git a/src/lg_messages_seqdiag.erl b/src/profile/lg_messages_seqdiag.erl similarity index 100% rename from src/lg_messages_seqdiag.erl rename to src/profile/lg_messages_seqdiag.erl diff --git a/src/lg_rabbit_hole.erl b/src/profile/lg_rabbit_hole.erl similarity index 100% rename from src/lg_rabbit_hole.erl rename to src/profile/lg_rabbit_hole.erl diff --git a/src/lg_raw_console_tracer.erl b/src/profile/lg_raw_console_tracer.erl similarity index 100% rename from src/lg_raw_console_tracer.erl rename to src/profile/lg_raw_console_tracer.erl diff --git a/src/lg_socket_client.erl b/src/profile/lg_socket_client.erl similarity index 100% rename from src/lg_socket_client.erl rename to src/profile/lg_socket_client.erl diff --git a/src/lg_socket_tracer.erl b/src/profile/lg_socket_tracer.erl similarity index 100% rename from src/lg_socket_tracer.erl rename to src/profile/lg_socket_tracer.erl diff --git a/src/lg_term.erl b/src/profile/lg_term.erl similarity index 100% rename from src/lg_term.erl rename to src/profile/lg_term.erl diff --git a/src/lg_tracer.erl b/src/profile/lg_tracer.erl similarity index 100% rename from src/lg_tracer.erl rename to src/profile/lg_tracer.erl diff --git a/src/lg_tracer_pool.erl b/src/profile/lg_tracer_pool.erl similarity index 100% rename from src/lg_tracer_pool.erl rename to src/profile/lg_tracer_pool.erl diff --git a/src/looking_glass_app.erl b/src/profile/looking_glass_app.erl similarity index 100% rename from src/looking_glass_app.erl rename to src/profile/looking_glass_app.erl diff --git a/src/looking_glass_sup.erl b/src/profile/looking_glass_sup.erl similarity index 100% rename from src/looking_glass_sup.erl rename to src/profile/looking_glass_sup.erl diff --git a/test/lg_SUITE.erl b/test/lg_SUITE.erl index c69fa24..8765b83 100644 --- a/test/lg_SUITE.erl +++ b/test/lg_SUITE.erl @@ -18,17 +18,17 @@ groups() -> app(Config) -> doc("Trace a specific application."), - lg:trace({app, stdlib}, lg_file_tracer, config(priv_dir, Config) ++ "/app.lz4"), + eTpf:trace({app, stdlib}, lg_file_tracer, config(priv_dir, Config) ++ "/app.lz4"), lists:seq(1,10), - lg:stop(), + eTpf:stop(), do_ensure_decompress(config(priv_dir, Config) ++ "/app.lz4"). callback(Config) -> doc("Trace using patterns from a callback function."), - lg:trace({callback, ?MODULE, do_callback}, lg_file_tracer, + eTpf:trace({callback, ?MODULE, do_callback}, lg_file_tracer, config(priv_dir, Config) ++ "/callback.lz4"), lists:seq(1,10), - lg:stop(), + eTpf:stop(), do_ensure_decompress(config(priv_dir, Config) ++ "/callback.lz4"). do_callback() -> @@ -37,11 +37,11 @@ do_callback() -> callgrind_running(Config) -> doc("Save events to files on disk then build callgrind files."), PrivDir = config(priv_dir, Config), - lg:trace([{scope, [self()]}, ?MODULE, {app, stdlib}], lg_file_tracer, + eTpf:trace([{scope, [self()]}, ?MODULE, {app, stdlib}], lg_file_tracer, PrivDir ++ "/callgrind_running.lz4", #{mode => profile, running => true}), do_callgrind_running(), - lg:stop(), + eTpf:stop(), lg_callgrind:profile_many( PrivDir ++ "/callgrind_running.lz4.*", PrivDir ++ "/callgrind_running.out", @@ -75,11 +75,11 @@ callgrind_running_cycle(Config) -> doc("Save events to files on disk then build callgrind files. " "Create a recursive cycle using two functions calling each other."), PrivDir = config(priv_dir, Config), - lg:trace([{scope, [self()]}, ?MODULE, {app, stdlib}], lg_file_tracer, + eTpf:trace([{scope, [self()]}, ?MODULE, {app, stdlib}], lg_file_tracer, PrivDir ++ "/callgrind_running_cycle.lz4", #{mode => profile, running => true}), do_callgrind_running_cycle(), - lg:stop(), + eTpf:stop(), lg_callgrind:profile_many( PrivDir ++ "/callgrind_running_cycle.lz4.*", PrivDir ++ "/callgrind_running_cycle.out", @@ -126,21 +126,21 @@ do_callgrind_running_cycle2(Ref) -> file_tracer(Config) -> doc("Save events to files on disk."), - lg:trace(lists, lg_file_tracer, config(priv_dir, Config) ++ "/file_tracer.lz4"), + eTpf:trace(lists, lg_file_tracer, config(priv_dir, Config) ++ "/file_tracer.lz4"), lists:seq(1,10), - lg:stop(), + eTpf:stop(), do_ensure_decompress(config(priv_dir, Config) ++ "/file_tracer.lz4"). file_tracer_rotation(Config) -> doc("Save events to files on disk; rotate the files if they get too big."), Prefix = config(priv_dir, Config) ++ "/file_tracer.lz4", - lg:trace(lists, lg_file_tracer, #{ + eTpf:trace(lists, lg_file_tracer, #{ filename_prefix => Prefix, max_size => 100, %% Intentionally low. events_per_frame => 10 %% Needed to trigger the rotation, default is too high. }), lists:seq(1,1000), - lg:stop(), + eTpf:stop(), %% We should have one or more rotated files. Result = [begin Filename = Prefix ++ "." ++ integer_to_list(N) ++ ".bak", @@ -151,39 +151,39 @@ file_tracer_rotation(Config) -> mod(Config) -> doc("Trace a specific module."), - lg:trace(lists, lg_file_tracer, config(priv_dir, Config) ++ "/mod.lz4"), + eTpf:trace(lists, lg_file_tracer, config(priv_dir, Config) ++ "/mod.lz4"), lists:seq(1,10), - lg:stop(), + eTpf:stop(), do_ensure_decompress(config(priv_dir, Config) ++ "/mod.lz4"). profile_mode(Config) -> doc("Trace a specific module in profile mode."), - lg:trace(lists, lg_file_tracer, config(priv_dir, Config) ++ "/profile_mode.lz4", + eTpf:trace(lists, lg_file_tracer, config(priv_dir, Config) ++ "/profile_mode.lz4", #{mode => profile}), lists:seq(1,10), - lg:stop(), + eTpf:stop(), do_ensure_decompress(config(priv_dir, Config) ++ "/profile_mode.lz4"). raw_console_tracer(_) -> doc("Print raw events to the console."), ct:print("Start tracing to the console."), %% @todo It seems the order matters when starting. Should it? - lg:trace([{scope, [self()]}, lists]), + eTpf:trace([{scope, [self()]}, lists]), lists:seq(1,10), - lg:stop(), + eTpf:stop(), ct:print("Stop tracing to the console."). running_true(Config) -> doc("Trace a specific module with running option enabled."), - lg:trace(lists, lg_file_tracer, config(priv_dir, Config) ++ "/running_true.lz4", + eTpf:trace(lists, lg_file_tracer, config(priv_dir, Config) ++ "/running_true.lz4", #{running => true}), lists:seq(1,10), - lg:stop(), + eTpf:stop(), do_ensure_decompress(config(priv_dir, Config) ++ "/running_true.lz4"). send_true(Config) -> doc("Trace a specific module with send option enabled."), - lg:trace(lists, lg_file_tracer, config(priv_dir, Config) ++ "/send_true.lz4", + eTpf:trace(lists, lg_file_tracer, config(priv_dir, Config) ++ "/send_true.lz4", #{send => true}), Self = self(), %% Send a message to and from an existing process. @@ -198,28 +198,28 @@ send_true(Config) -> DeadPid = spawn(fun() -> ok end), receive after 100 -> ok end, DeadPid ! {msg_from, Self}, - lg:stop(), + eTpf:stop(), do_ensure_decompress(config(priv_dir, Config) ++ "/send_true.lz4"). socket_tracer(_) -> doc("Send events to a socket."), Port = 61234, - lg:trace(lists, lg_socket_tracer, Port, #{pool_size => 1}), + eTpf:trace(lists, lg_socket_tracer, Port, #{pool_size => 1}), {ok, Socket} = gen_tcp:connect("localhost", Port, [binary, {packet, 2}, {active, true}]), lists:seq(1,10), - lg:stop(), + eTpf:stop(), do_socket_tracer_recv(Socket). socket_tracer_client(Config) -> doc("Send events to a socket client."), Port = 61234, - lg:trace(lists, lg_socket_tracer, Port, #{pool_size => 1}), + eTpf:trace(lists, lg_socket_tracer, Port, #{pool_size => 1}), BaseFilename = config(priv_dir, Config) ++ "/socket_tracer_client.lz4", {ok, Pid} = lg_socket_client:start_link(Port, BaseFilename), timer:sleep(1000), lists:seq(1,10), - lg:stop(), + eTpf:stop(), lg_socket_client:stop(Pid), {ok, File} = file:read_file(BaseFilename ++ ".0"), _ = lz4f:decompress(File), @@ -229,26 +229,26 @@ socket_tracer_client(Config) -> socket_tracer_many(_) -> doc("Send events to many sockets."), Port = 61234, - lg:trace(lists, lg_socket_tracer, Port, #{pool_size => 5}), + eTpf:trace(lists, lg_socket_tracer, Port, #{pool_size => 5}), {ok, _} = gen_tcp:connect("localhost", Port, []), {ok, _} = gen_tcp:connect("localhost", Port + 1, []), {ok, _} = gen_tcp:connect("localhost", Port + 2, []), {ok, _} = gen_tcp:connect("localhost", Port + 3, []), {ok, _} = gen_tcp:connect("localhost", Port + 4, []), {error, _} = gen_tcp:connect("localhost", Port + 5, []), - lg:stop(). + eTpf:stop(). socket_tracer_reconnect(_) -> doc("Confirm we can reconnect to the tracer."), Port = 61234, - lg:trace(lists, lg_socket_tracer, Port, #{pool_size => 1}), + eTpf:trace(lists, lg_socket_tracer, Port, #{pool_size => 1}), {ok, Socket0} = gen_tcp:connect("localhost", Port, [binary, {packet, 2}, {active, true}]), ok = gen_tcp:close(Socket0), {ok, Socket} = gen_tcp:connect("localhost", Port, [binary, {packet, 2}, {active, true}]), lists:seq(1,10), - lg:stop(), + eTpf:stop(), do_socket_tracer_recv(Socket). do_socket_tracer_recv(Socket) -> @@ -267,10 +267,10 @@ stop_while_trace_is_running(Config) -> doc("Stop tracing while events are still coming in."), Self = self(), Pid = spawn_link(fun() -> Self ! {self(), continue}, lists:seq(1,10000000) end), - lg:trace([{scope, [Pid]}, lists], lg_file_tracer, + eTpf:trace([{scope, [Pid]}, lists], lg_file_tracer, config(priv_dir, Config) ++ "/stop_while_trace_is_running.lz4"), receive {Pid, continue} -> ok after 100 -> error(timeout) end, - lg:stop(), + eTpf:stop(), do_ensure_decompress(config(priv_dir, Config) ++ "/stop_while_trace_is_running.lz4"). %% Internal.