Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
6901-megaco-test-examples-Tweaked-the-meas-tool...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 6901-megaco-test-examples-Tweaked-the-meas-tool.patch of Package erlang
From 0c0d43079ea4f95263e6b82fcef1c4422589dcfc Mon Sep 17 00:00:00 2001 From: Micael Karlberg <bmk@erlang.org> Date: Thu, 29 Sep 2022 18:50:13 +0200 Subject: [PATCH] [megaco|test|examples] Tweaked the meas tool Tweaked the meas tool to be less verbose during a test (suite) run. OTP-18298 --- .../examples/meas/megaco_codec_meas.erl | 102 +++++++++++------- lib/megaco/test/megaco_examples_SUITE.erl | 3 +- 2 files changed, 68 insertions(+), 37 deletions(-) diff --git a/lib/megaco/examples/meas/megaco_codec_meas.erl b/lib/megaco/examples/meas/megaco_codec_meas.erl index 06983e4dd5..d325dd706c 100644 --- a/lib/megaco/examples/meas/megaco_codec_meas.erl +++ b/lib/megaco/examples/meas/megaco_codec_meas.erl @@ -46,7 +46,7 @@ %% API %% Avoid warning for local function error/2 clashing with autoimported BIF. -compile({no_auto_import,[error/2]}). --export([start/0, start/1]). +-export([start/0, start/1, start/2]). -export([start1/0]). %% Internal exports @@ -74,6 +74,8 @@ -define(DEFAULT_MESSAGE_PACKAGE, megaco_codec_transform:default_message_package()). +-define(DEFAULT_OPTS, #{verbose => true}). + -define(FTS(), formated_timestamp()). @@ -87,18 +89,22 @@ start1() -> start(). start() -> - meas_init(1, ?DEFAULT_MESSAGE_PACKAGE, ?MEASURE_CODECS). + meas_init(1, ?DEFAULT_OPTS, ?DEFAULT_MESSAGE_PACKAGE, ?MEASURE_CODECS). start([MessagePackage]) -> - do_start(1, MessagePackage, ?MEASURE_CODECS); + do_start(1, ?DEFAULT_OPTS, MessagePackage, ?MEASURE_CODECS); start(Factor) when is_integer(Factor) andalso (Factor > 0) -> - do_start(Factor, ?DEFAULT_MESSAGE_PACKAGE, ?MEASURE_CODECS); + do_start(Factor, ?DEFAULT_OPTS, ?DEFAULT_MESSAGE_PACKAGE, ?MEASURE_CODECS); start(MessagePackage) -> - do_start(1, MessagePackage, ?MEASURE_CODECS). + do_start(1, ?DEFAULT_OPTS, MessagePackage, ?MEASURE_CODECS). + +start(Factor, Opts) when is_integer(Factor) andalso (Factor > 0) andalso + is_map(Opts) -> + do_start(Factor, Opts, ?DEFAULT_MESSAGE_PACKAGE, ?MEASURE_CODECS). -do_start(Factor, MessagePackageRaw, Codecs) -> +do_start(Factor, Opts, MessagePackageRaw, Codecs) -> MessagePackage = parse_message_package(MessagePackageRaw), - meas_init(Factor, MessagePackage, Codecs). + meas_init(Factor, Opts, MessagePackage, Codecs). parse_message_package(MessagePackageRaw) when is_list(MessagePackageRaw) -> list_to_atom(MessagePackageRaw); @@ -118,7 +124,7 @@ parse_message_package(BadMessagePackage) -> %% pretty | compact | ber | per | erlang %% -meas_init(Factor, MessagePackage, Codecs) -> +meas_init(Factor, Opts, MessagePackage, Codecs) -> %% process_flag(trap_exit, true), io:format("~nRun meas on message package: ~p~n~n", [MessagePackage]), display_os_info(), @@ -129,7 +135,7 @@ meas_init(Factor, MessagePackage, Codecs) -> case megaco_codec_transform:messages(MessagePackage) of Messages when is_list(Messages) -> ExpandedMessages = expand_messages(Codecs, Messages), - Results = t1(Factor, ExpandedMessages, []), + Results = t1(Factor, Opts, ExpandedMessages, []), display_time(Started, os:timestamp()), store_results(Results); Error -> @@ -236,26 +242,26 @@ format_diff(Start, Fin) -> -t1(_Factor, [], Results) -> +t1(_Factor, _Opts, [], Results) -> lists:reverse(Results); -t1(Factor, [{Id, Codec, Conf, _, _} = ECodec|EMsgs], Results) -> - case (catch measure(Factor, ECodec)) of +t1(Factor, Opts, [{Id, Codec, Conf, _, _} = ECodec|EMsgs], Results) -> + case (catch measure(Factor, Opts, ECodec)) of {'EXIT', Reason} -> error("measure of codec ~p exited: ~n~p", [Codec, Reason]), - t1(Factor, EMsgs, Results); + t1(Factor, Opts, EMsgs, Results); {error, Reason} -> error("skipping codec ~p: ~n~p", [Codec, Reason]), - t1(Factor, EMsgs, Results); + t1(Factor, Opts, EMsgs, Results); {ok, Res} -> - t1(Factor, EMsgs, [{Id, Conf, Res}| Results]) + t1(Factor, Opts, EMsgs, [{Id, Conf, Res}| Results]) end. -measure(Factor, {Id, Codec, Conf, Count, Msgs}) -> +measure(Factor, Opts, {Id, Codec, Conf, Count, Msgs}) -> io:format("[~s] measure using codec ~p ~p~n ", [?FTS(), Codec, Conf]), {Init, Conf1} = measure_init(Conf), Conf2 = [{version3,?V3}|Conf1], - Res = measure(Factor, Id, Codec, Conf2, Msgs, [], Count), + Res = measure(Factor, Opts, Id, Codec, Conf2, Msgs, [], Count), measure_fin(Init), Res. @@ -322,10 +328,10 @@ measure_fin(_) -> ok. -measure(_Factor, _Dir, _Codec, _Conf, [], [], _MCount) -> +measure(_Factor, _Opts, _Dir, _Codec, _Conf, [], [], _MCount) -> {error, no_messages}; -measure(_Factor, _Dir, _Codec, _Conf, [], Res, _MCount) -> +measure(_Factor, _Opts, _Dir, _Codec, _Conf, [], Res, _MCount) -> Eavg = avg([Etime/Ecnt || #stat{ecount = Ecnt, etime = Etime} <- Res]), Davg = avg([Dtime/Dcnt || #stat{dcount = Dcnt, dtime = Dtime} <- Res]), @@ -340,33 +346,41 @@ measure(_Factor, _Dir, _Codec, _Conf, [], Res, _MCount) -> {ok, lists:reverse(Res)}; -measure(Factor, Dir, Codec, Conf, [{Name, Bin}|Msgs], Results, MCount) -> - io:format(" ~p", [Name]), - case (catch do_measure(Factor, Dir, Codec, Conf, Name, Bin, MCount)) of +measure(Factor, #{verbose := Verbose} = Opts, + Dir, Codec, Conf, [{Name, Bin}|Msgs], Results, MCount) -> + vprint(Verbose, " ~p", [Name]), + case (catch do_measure(Factor, Opts, + Dir, Codec, Conf, Name, Bin, MCount)) of {ok, Stat} -> - measure(Factor, Dir, Codec, Conf, Msgs, [Stat | Results], MCount); + measure(Factor, Opts, + Dir, Codec, Conf, Msgs, [Stat | Results], MCount); {error, S} -> - io:format("~n[~s] ~s failed: ~n", [?FTS(), Name]), + if + (Verbose =:= true) -> + io:format("~n[~s] ~s failed: ~n", [?FTS(), Name]); + true -> + io:format("[~s] ~s failed: ~n", [?FTS(), Name]) + end, error(S,[]), - measure(Factor, Dir, Codec, Conf, Msgs, Results, MCount); + measure(Factor, Opts, Dir, Codec, Conf, Msgs, Results, MCount); {info, S} -> - case get(verbose) of + vprint(Verbose, "~n"), + case Verbose orelse get(verbose) of true -> - io:format("~n", []), info(S,[]); _ -> - io:format("~n~s skipped~n", [Name]) + io:format("~s skipped~n", [Name]) end, - measure(Factor, Dir, Codec, Conf, Msgs, Results, MCount) + measure(Factor, Opts, Dir, Codec, Conf, Msgs, Results, MCount) end. -do_measure(Factor, _Id, Codec, Conf, Name, BinMsg, MCount) -> +do_measure(Factor, Opts, _Id, Codec, Conf, Name, BinMsg, MCount) -> %% io:format("~n~s~n", [binary_to_list(BinMsg)]), - {Version, NewBin} = detect_version(Codec, Conf, BinMsg), + {Version, NewBin} = detect_version(Opts, Codec, Conf, BinMsg), {Msg, Dcnt, Dtime} = measure_decode(Factor, Codec, Conf, Version, NewBin, MCount), {_, Ecnt, Etime} = @@ -377,16 +391,21 @@ do_measure(Factor, _Id, Codec, Conf, Name, BinMsg, MCount) -> dcount = Dcnt, dtime = Dtime, size = byte_size(NewBin)}}. -detect_version(Codec, Conf, Bin) -> +detect_version(#{verbose := Verbose} = _Opts, Codec, Conf, Bin) -> case (catch Codec:version_of(Conf, Bin)) of {ok, V} -> - io:format("[~w]", [V]), - {ok, M} = Codec:decode_message(Conf, V, Bin), + vprint(Verbose, "[~w]", [V]), + {ok, M} = Codec:decode_message(Conf, V, Bin), {ok, NewBin} = Codec:encode_message(Conf, V, M), - io:format("[~w]", [byte_size(NewBin)]), + vprint(Verbose, "[~w]", [byte_size(NewBin)]), {V, NewBin}; Error -> - io:format("~nversion detection failed:~n~p", [Error]), + if + (Verbose =:= true) -> + io:format("~nversion detection failed:~n~p", [Error]); + true -> + io:format("version detection failed:~n~p", [Error]) + end, Error end. @@ -665,6 +684,17 @@ flex_scanner_handler(Pid, PortOrPorts) -> end. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +vprint(Verbose, F) -> + vprint(Verbose, F, []). + +vprint(true, F, A) -> + io:format(F, A); +vprint(_, _, _) -> + ok. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% info(F, A) -> diff --git a/lib/megaco/test/megaco_examples_SUITE.erl b/lib/megaco/test/megaco_examples_SUITE.erl index dad10a1f70..084749ce60 100644 --- a/lib/megaco/test/megaco_examples_SUITE.erl +++ b/lib/megaco/test/megaco_examples_SUITE.erl @@ -621,7 +621,7 @@ meas(Config) when is_list(Config) -> "~n Factor: ~p", [Time, Factor]), ct:timetrap(?MINS(Time)), WorkerNode = ?config(worker_node, Config), - do_meas(?FUNCTION_NAME, WorkerNode, megaco_codec_meas, start, [Factor]). + do_meas(?FUNCTION_NAME, WorkerNode, megaco_codec_meas, start, [Factor, #{verbose => false}]). do_meas(SName, Node, Mod, Func, Args) -> put(sname, SName), -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor