7c3339 | 2001-09-27 | Martin Nilsson | |
|
d6a831 | 2001-01-01 | Martin Nilsson | | #include <roxen.h>
#define _(X,Y) _DEF_LOCALE("roxen_config",X,Y)
constant box = "large";
|
aaaf42 | 2002-05-02 | Jonas Wallden | | constant box_initial = 1;
|
d6a831 | 2001-01-01 | Martin Nilsson | |
|
2ecde2 | 2003-01-15 | Henrik Grubbström (Grubba) | | LocaleString box_name = _(367,"Server status");
LocaleString box_doc = _(368,"Various global server statistics");
|
d6a831 | 2001-01-01 | Martin Nilsson | |
string add_row( string item, string value ) {
return "<tr><td>" + item + ":</td><td>" + value + "</td></tr>";
}
string parse( RequestID id )
{
int dt = (time() - roxen->start_time+1);
string contents = "";
|
7f5953 | 2022-09-13 | Jonas Walldén | | contents += add_row( _(0, "Server time"),
Roxen.strftime( "%Y-%m-%d %H:%M:%S", time()) );
|
9d4d59 | 2001-01-01 | Martin Nilsson | | contents += add_row( _(369, "Server started"),
|
d6a831 | 2001-01-01 | Martin Nilsson | | Roxen.strftime( "%Y-%m-%d %H:%M:%S", roxen->start_time) );
|
9d4d59 | 2001-01-01 | Martin Nilsson | | contents += add_row( _(370, "Server uptime"),
|
d6a831 | 2001-01-01 | Martin Nilsson | | Roxen.msectos( dt*1000 ));
|
57eb12 | 2014-10-04 | Jonas Walldén | |
mapping(string:int) ru;
if(!catch(ru = System.getrusage())) {
|
d6a831 | 2001-01-01 | Martin Nilsson | | int tmp;
|
57eb12 | 2014-10-04 | Jonas Walldén | | if (ru->utime)
tmp = ru->utime / (time() - roxen->start_time + 1);
|
9d4d59 | 2001-01-01 | Martin Nilsson | | contents += add_row( _(371, "CPU-time used"),
|
57eb12 | 2014-10-04 | Jonas Walldén | | Roxen.msectos(ru->utime + ru->stime) +
|
d6a831 | 2001-01-01 | Martin Nilsson | | (tmp?(" ("+tmp/10+"."+tmp%10+"%)"):""));
}
mapping total = ([]);
foreach(roxen->configurations, Configuration conf) {
if(!conf->sent || !conf->received || !conf->hsent)
continue;
total->sent += conf->sent;
total->hsent += conf->hsent;
total->received += conf->received;
total->requests += conf->requests;
}
|
9d4d59 | 2001-01-01 | Martin Nilsson | | contents += add_row( _(2,"Sent data"), Roxen.sizetostring(total->sent) +
|
d6a831 | 2001-01-01 | Martin Nilsson | | sprintf(" (%.2f kbit/%s)",
((((float)total->sent)/(1024.0*1024.0)/dt) * 8192.0),
_(3,"sec")) );
|
9d4d59 | 2001-01-01 | Martin Nilsson | | contents += add_row( _(4,"Sent headers"), Roxen.sizetostring(total->hsent));
contents += add_row( _(234,"Requests"), total->requests +
|
d6a831 | 2001-01-01 | Martin Nilsson | | sprintf(" (%.2f/%s)",
(((float)total->requests*60.0)/dt),
_(6,"min")) );
|
eb4dd8 | 2001-10-08 | Per Hedbor | | contents += add_row( _(7,"Received data"), Roxen.sizetostring(total->received));
|
d6a831 | 2001-01-01 | Martin Nilsson | |
|
f2df47 | 2010-11-18 | Martin Jonsson | | #if constant(System.getloadavg)
|
6a3227 | 2011-12-21 | Jonas Wallden | | contents += add_row( _(1060, "System load"),
|
f2df47 | 2010-11-18 | Martin Jonsson | | sprintf ("%{%.2f %}", System.getloadavg()));
#endif
|
9d4d59 | 2001-01-01 | Martin Nilsson | | return ("<box type='"+box+"' title='"+box_name+"'><table cellpadding='0'>"+
contents+"</table></box>");
|
d6a831 | 2001-01-01 | Martin Nilsson | | }
|