added different stats messages
This commit is contained in:
parent
28ef543265
commit
f705aa40b9
4 changed files with 392 additions and 375 deletions
|
@ -11,7 +11,7 @@
|
|||
|
||||
@implementation GGSNetwork
|
||||
|
||||
#define GGS_HOST @"localhost"
|
||||
#define GGS_HOST @"ggs.jeena.net"
|
||||
#define GGS_PORT 9000
|
||||
#define NO_TIMEOUT -1
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -43,7 +43,7 @@ create_message({Command, Data}) ->
|
|||
%% Assemble a message which can b
|
||||
%e used as a reply to a client
|
||||
create_message(Cmd, Enc, Acc, Data) ->
|
||||
ggs_stats:message(),
|
||||
ggs_stats:message(server),
|
||||
Length = integer_to_list(string:len(Data)),
|
||||
Msg = "Client-Command: " ++ Cmd ++ "\n" ++
|
||||
"Client-Encoding: " ++ Enc ++ "\n" ++
|
||||
|
@ -110,7 +110,7 @@ code_change(_OldVsn, State, _Extra) ->
|
|||
|
||||
|
||||
prettify(Args, Data) ->
|
||||
ggs_stats:message(),
|
||||
ggs_stats:message(client),
|
||||
case lists:keyfind("Server-Command", 1, Args) of
|
||||
{_, Value} ->
|
||||
{srv_cmd, Value, Args, Data};
|
||||
|
@ -118,7 +118,7 @@ prettify(Args, Data) ->
|
|||
case lists:keyfind("Game-Command", 1, Args) of
|
||||
{_, Value} ->
|
||||
{game_cmd, Value, Args, Data};
|
||||
Other ->
|
||||
_Other ->
|
||||
ok
|
||||
end
|
||||
end.
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
-module(ggs_stats).
|
||||
-export([start_link/0, message/0, print/0, tick/0]).
|
||||
-export([start_link/0, message/1, print/0, tick/0]).
|
||||
-behaviour(gen_server).
|
||||
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
|
||||
terminate/2, code_change/3]).
|
||||
-vsn(0).
|
||||
|
||||
-record(ate, { count = 0 }).
|
||||
-record(ate, {
|
||||
server_messages = 0,
|
||||
client_messages = 0
|
||||
}).
|
||||
-define(SERVER, ?MODULE).
|
||||
|
||||
message() ->
|
||||
gen_server:cast(ggs_stats, add_one).
|
||||
message(Type) ->
|
||||
gen_server:cast(ggs_stats, {add_one, Type}).
|
||||
|
||||
print() ->
|
||||
gen_server:cast(ggs_stats, print).
|
||||
|
@ -20,15 +23,27 @@ tick() ->
|
|||
timer:apply_after(1000, ggs_stats, tick, []).
|
||||
|
||||
start_link() ->
|
||||
gen_server:start_link({local, ?SERVER}, ?MODULE, [0], []).
|
||||
gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).
|
||||
|
||||
|
||||
init([Count]) ->
|
||||
St = #ate{ count = Count },
|
||||
init(_Args) ->
|
||||
St = #ate{
|
||||
server_messages = 0,
|
||||
client_messages = 0
|
||||
},
|
||||
{ok, St}.
|
||||
|
||||
handle_cast(add_one, St) ->
|
||||
NewSt = #ate { count = St#ate.count + 1},
|
||||
handle_cast({add_one, Type}, St) ->
|
||||
case Type of
|
||||
server -> NewSt = #ate {
|
||||
server_messages = St#ate.server_messages + 1,
|
||||
client_messages = St#ate.client_messages
|
||||
};
|
||||
client -> NewSt = #ate {
|
||||
server_messages = St#ate.server_messages,
|
||||
client_messages = St#ate.client_messages + 1
|
||||
}
|
||||
end,
|
||||
{noreply, NewSt};
|
||||
|
||||
handle_cast(print, St) ->
|
||||
|
|
Reference in a new issue