diff options
author | Siri Hansen <[email protected]> | 2017-09-07 16:16:01 +0200 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2017-09-07 16:16:01 +0200 |
commit | b569db7fd80de6f6f049797fa7676bdfbe55cc4f (patch) | |
tree | ff24ace33a45b2dc75f9d955a88bc92fdc2f2acc /lib/tools/src/eprof.erl | |
parent | 8e3baffd206247d3023c3e00d4d0849c23f3fc58 (diff) | |
parent | 87fa9801618397087d6a7b521e370506c5bfff91 (diff) | |
download | otp-b569db7fd80de6f6f049797fa7676bdfbe55cc4f.tar.gz otp-b569db7fd80de6f6f049797fa7676bdfbe55cc4f.tar.bz2 otp-b569db7fd80de6f6f049797fa7676bdfbe55cc4f.zip |
Merge branch 'siri/unicode-merge' into maint
* siri/unicode-merge: (28 commits)
stdlib: use 'unicode' option for regexp in ets
ct: use 'unicode' option for regexps
syntax_tools: add 'unicode' option to re:run for matching paths
kernel: update simple error logger to print Unicode strings
stdlib: add Unicode translation modifier in error_logger_tty_h
wx: add Unicode translation modifier to wx_object
stdlib: add Unicode translation modifier in debug format funs
sasl: set encoding of SASL report log
stdlib: use Unicode translation modifier in error_logger_file_h
observer: Improve handling of Unicode
mnesia: Improve handling of Unicode
stdlib : Improve handling of Unicode
kernel: Improve handling of Unicode
hipe: Improve handling of Unicode
edoc: Improve handling of Unicode
syntax_tools: Improve handling of Unicode
dialyzer: Improve handling of Unicode
et: Improve handling of Unicode
xref: Improve handling of Unicode
fprof: Modify handling of Unicode
eprof: Improve handling of Unicode
eunit: Improve handling of Unicode
stdlib: Improve handling of Unicode in escript
stdlib: Improve handling of Unicode in edlin_expand
stdlib: Modify handling of Unicode in proc_lib
sasl: Improve handling of Unicode
edoc: Improve handling of Unicode
debugger: Improve handling of Unicode
OTP-14462
OTP-14464
Diffstat (limited to 'lib/tools/src/eprof.erl')
-rw-r--r-- | lib/tools/src/eprof.erl | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/lib/tools/src/eprof.erl b/lib/tools/src/eprof.erl index 3ae899a078..535ddbcd04 100644 --- a/lib/tools/src/eprof.erl +++ b/lib/tools/src/eprof.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1996-2016. All Rights Reserved. +%% Copyright Ericsson AB 1996-2017. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -246,7 +246,7 @@ handle_call(profile_stop, _From, #state{ profiling = true } = S) -> %% logfile handle_call({logfile, File}, _From, #state{ fd = OldFd } = S) -> - case file:open(File, [write]) of + case file:open(File, [write, {encoding, utf8}]) of {ok, Fd} -> case OldFd of undefined -> ok; @@ -478,11 +478,11 @@ string_bp_mfa([{Mfa, {Count, Time}}|Mfas], Tus, {MfaW, CountW, PercW, TimeW, TpC Stpc = s("~.2f", [divide(Time,Count)]), string_bp_mfa(Mfas, Tus, { - erlang:max(MfaW, length(Smfa)), - erlang:max(CountW,length(Scount)), - erlang:max(PercW, length(Sperc)), - erlang:max(TimeW, length(Stime)), - erlang:max(TpCW, length(Stpc)) + erlang:max(MfaW, string:length(Smfa)), + erlang:max(CountW,string:length(Scount)), + erlang:max(PercW, string:length(Sperc)), + erlang:max(TimeW, string:length(Stime)), + erlang:max(TpCW, string:length(Stpc)) }, [[Smfa, Scount, Sperc, Stime, Stpc] | Strings]). print_bp_mfa(Mfas, {Tn, Tus}, Fd, Opts) -> @@ -491,11 +491,11 @@ print_bp_mfa(Mfas, {Tn, Tus}, Fd, Opts) -> TnStr = s(Tn), TusStr = s(Tus), TuspcStr = s("~.2f", [divide(Tus,Tn)]), - Ws = {erlang:max(length("FUNCTION"), MfaW), - lists:max([length("CALLS"), CountW, length(TnStr)]), - erlang:max(length(" %"), PercW), - lists:max([length("TIME"), TimeW, length(TusStr)]), - lists:max([length("uS / CALLS"), TpCW, length(TuspcStr)])}, + Ws = {erlang:max(string:length("FUNCTION"), MfaW), + lists:max([string:length("CALLS"), CountW, string:length(TnStr)]), + erlang:max(string:length(" %"), PercW), + lists:max([string:length("TIME"), TimeW, string:length(TusStr)]), + lists:max([string:length("uS / CALLS"), TpCW, string:length(TuspcStr)])}, format(Fd, Ws, ["FUNCTION", "CALLS", " %", "TIME", "uS / CALLS"]), format(Fd, Ws, ["--------", "-----", "-------", "----", "----------"]), lists:foreach(fun (String) -> format(Fd, Ws, String) end, Strs), @@ -503,13 +503,13 @@ print_bp_mfa(Mfas, {Tn, Tus}, Fd, Opts) -> format(Fd, Ws, ["Total:", TnStr, "100.00%", TusStr, TuspcStr]), ok. -s({M,F,A}) -> s("~w:~w/~w",[M,F,A]); -s(Term) -> s("~p", [Term]). +s({M,F,A}) -> s("~w:~tw/~w",[M,F,A]); +s(Term) -> s("~tp", [Term]). s(Format, Terms) -> lists:flatten(io_lib:format(Format, Terms)). format(Fd, {MfaW, CountW, PercW, TimeW, TpCW}, Strings) -> - format(Fd, s("~~.~ps ~~~ps ~~~ps ~~~ps [~~~ps]~~n", [MfaW, CountW, PercW, TimeW, TpCW]), Strings); + format(Fd, s("~~.~wts ~~~ws ~~~ws ~~~ws [~~~ws]~~n", [MfaW, CountW, PercW, TimeW, TpCW]), Strings); format(undefined, Format, Strings) -> io:format(Format, Strings), ok; |