zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

ranch_app.erl (1350B)


      1 %% Copyright (c) 2011-2018, Loïc Hoguin <essen@ninenines.eu>
      2 %%
      3 %% Permission to use, copy, modify, and/or distribute this software for any
      4 %% purpose with or without fee is hereby granted, provided that the above
      5 %% copyright notice and this permission notice appear in all copies.
      6 %%
      7 %% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
      8 %% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
      9 %% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     10 %% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     11 %% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     12 %% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     13 %% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     14 
     15 -module(ranch_app).
     16 -behaviour(application).
     17 
     18 -export([start/2]).
     19 -export([stop/1]).
     20 -export([profile_output/0]).
     21 
     22 start(_, _) ->
     23 	_ = consider_profiling(),
     24 	ranch_sup:start_link().
     25 
     26 stop(_) ->
     27 	ok.
     28 
     29 -spec profile_output() -> ok.
     30 profile_output() ->
     31 	eprof:stop_profiling(),
     32 	eprof:log("procs.profile"),
     33 	eprof:analyze(procs),
     34 	eprof:log("total.profile"),
     35 	eprof:analyze(total).
     36 
     37 consider_profiling() ->
     38 	case application:get_env(profile) of
     39 		{ok, true} ->
     40 			{ok, _Pid} = eprof:start(),
     41 			eprof:start_profiling([self()]);
     42 		_ ->
     43 			not_profiling
     44 	end.