1-define(COLUMN, 134). 2-define(INIT_TIME_REF, undefined). 3 4-define(MIN_INTERVAL, 1000). 5-define(DEFAULT_INTERVAL, 1500). 6-define(DISABLE, disable). 7-define(ENABLE, enable). 8 9-record(home, { 10 func = proc_count :: atom(), 11 type = memory :: atom(), 12 cur_page = 1 :: pos_integer(), 13 pages = [{1, 1}] :: list(), 14 interval = ?DEFAULT_INTERVAL :: pos_integer(), 15 scheduler_usage = application:get_env(observer_cli, scheduler_usage, ?DISABLE) :: 16 ?DISABLE | ?ENABLE 17}). 18 19-record(app, { 20 type = {proc_count, 1} :: {atom(), pos_integer()}, 21 cur_page = 1 :: pos_integer(), 22 interval = ?DEFAULT_INTERVAL :: pos_integer() 23}). 24 25-record(ets, { 26 interval = 2000 :: integer(), 27 attr = memory :: atom(), 28 cur_page = 1 :: integer() 29}). 30 31-record(system, {interval = 2000 :: integer()}). 32 33-record(db, { 34 interval = ?DEFAULT_INTERVAL :: integer(), 35 hide_sys = true :: boolean(), 36 cur_page = 1 :: integer(), 37 attr = memory :: atom() 38}). 39 40-record(help, {interval = ?DEFAULT_INTERVAL :: integer()}). 41-record(inet, { 42 interval = ?DEFAULT_INTERVAL :: integer(), 43 func = inet_count :: atom(), 44 type = cnt :: atom(), 45 cur_page = 1 :: pos_integer(), 46 pages = [{1, 1}] :: list() 47}). 48 49-record(process, {interval = ?DEFAULT_INTERVAL :: integer()}). 50 51-record(plug, {cur_index = 1 :: pos_integer(), plugs = [] :: map() | []}). 52 53-record(view_opts, { 54 home = #home{} :: home(), 55 ets = #ets{} :: ets(), 56 sys = #system{} :: system(), 57 app = #app{} :: app(), 58 db = #db{} :: db(), 59 help = #help{} :: help(), 60 inet = #inet{} :: inet(), 61 process = #process{} :: process(), 62 port = ?DEFAULT_INTERVAL :: pos_integer(), 63 plug = #plug{} :: plug(), 64 auto_row = true :: boolean() 65}). 66 67-export_type([view_opts/0]). 68 69-type view_opts() :: #view_opts{}. 70-type home() :: #home{}. 71-type app() :: #app{}. 72-type system() :: #system{}. 73-type ets() :: #ets{}. 74-type db() :: #db{}. 75-type help() :: #help{}. 76-type inet() :: #inet{}. 77-type process() :: #process{}. 78-type plug() :: #plug{}. 79 80-define(CURSOR_TOP, <<"\e[H">>). 81-define(CLEAR, <<"\e[H\e[J">>). 82 83-define(RESET_BG, <<"\e[49m">>). 84-define(RESET, <<"\e[0m">>). 85-define(GRAY_BG, <<"\e[7m">>). 86-define(YELLOW, <<"\e[33m">>). 87-define(RED, <<"\e[31m">>). 88-define(L_RED, <<"\e[48m">>). 89-define(GREEN, <<"\e[32;1m">>). 90-define(L_GREEN, <<"\e[92m">>). 91-define(CHOOSE_BG, <<"\e[42m">>). 92-define(RED_BG, <<"\e[48;2;184;0;0m">>). 93-define(L_GRAY_BG, <<"\e[48;2;80;80;80m">>). 94-define(UNDERLINE, <<"\e[4m">>). 95 96-define(NEW_LINE, "\e[0m\n|"). 97-define(I, <<" | ">>). 98-define(I2, <<"|">>). 99-define(W(_C_, _A_, _W_), {width_color, _C_, _A_, _W_}). 100-define(W2(_C_, _A_, _W_), {width_color_2, _C_, _A_, _W_}). 101-define(W(_A_, _W_), {width, _A_, _W_}). 102 103-define(SELECT(Text), observer_cli_lib:select(Text)). 104-define(UNSELECT(Text), observer_cli_lib:unselect(Text)). 105 106-define(render(_FA_), observer_cli_lib:render(_FA_)). 107-define(output(_F_, _A_), io:format(iolist_to_binary(_F_), _A_)). 108-define(output(_L_), ?output(_L_, [])). 109