mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Perf: Add stat for io of ST.
This commit is contained in:
parent
7a96b28735
commit
7b913b1115
3 changed files with 200 additions and 10 deletions
|
@ -39,6 +39,41 @@ extern SrsPps* _srs_pps_pub;
|
|||
extern SrsPps* _srs_pps_conn;
|
||||
extern SrsPps* _srs_pps_dispose;
|
||||
|
||||
extern unsigned long long _st_stat_recvfrom;
|
||||
extern unsigned long long _st_stat_recvfrom_eagain;
|
||||
extern unsigned long long _st_stat_sendto;
|
||||
extern unsigned long long _st_stat_sendto_eagain;
|
||||
SrsPps* _srs_pps_recvfrom = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_recvfrom_eagain = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_sendto = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_sendto_eagain = new SrsPps(_srs_clock);
|
||||
|
||||
extern unsigned long long _st_stat_read;
|
||||
extern unsigned long long _st_stat_read_eagain;
|
||||
extern unsigned long long _st_stat_readv;
|
||||
extern unsigned long long _st_stat_readv_eagain;
|
||||
extern unsigned long long _st_stat_writev;
|
||||
extern unsigned long long _st_stat_writev_eagain;
|
||||
SrsPps* _srs_pps_read = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_read_eagain = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_readv = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_readv_eagain = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_writev = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_writev_eagain = new SrsPps(_srs_clock);
|
||||
|
||||
extern unsigned long long _st_stat_recvmsg;
|
||||
extern unsigned long long _st_stat_recvmsg_eagain;
|
||||
extern unsigned long long _st_stat_sendmsg;
|
||||
extern unsigned long long _st_stat_sendmsg_eagain;
|
||||
extern unsigned long long _st_stat_sendmmsg;
|
||||
extern unsigned long long _st_stat_sendmmsg_eagain;
|
||||
SrsPps* _srs_pps_recvmsg = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_recvmsg_eagain = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_sendmsg = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_sendmsg_eagain = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_sendmmsg = new SrsPps(_srs_clock);
|
||||
SrsPps* _srs_pps_sendmmsg_eagain = new SrsPps(_srs_clock);
|
||||
|
||||
ISrsHybridServer::ISrsHybridServer()
|
||||
{
|
||||
}
|
||||
|
@ -225,15 +260,70 @@ srs_error_t SrsHybridServer::notify(int event, srs_utime_t interval, srs_utime_t
|
|||
// Resident Set Size: number of pages the process has in real memory.
|
||||
int memory = (int)(u->rss * 4 / 1024);
|
||||
|
||||
_srs_pps_cids_get->update(); _srs_pps_cids_set->update();
|
||||
_srs_pps_timer->update(); _srs_pps_pub->update(); _srs_pps_conn->update();
|
||||
_srs_pps_dispose->update();
|
||||
static char buf[128];
|
||||
|
||||
srs_trace("Hybrid cpu=%.2f%%,%dMB, cid=%d,%d, timer=%d,%d,%d, free=%d",
|
||||
string cid_desc;
|
||||
_srs_pps_cids_get->update(); _srs_pps_cids_set->update();
|
||||
if (_srs_pps_cids_get->r10s() || _srs_pps_cids_set->r10s()) {
|
||||
snprintf(buf, sizeof(buf), ", cid=%d,%d", _srs_pps_cids_get->r10s(), _srs_pps_cids_set->r10s());
|
||||
cid_desc = buf;
|
||||
}
|
||||
|
||||
string timer_desc;
|
||||
_srs_pps_timer->update(); _srs_pps_pub->update(); _srs_pps_conn->update();
|
||||
if (_srs_pps_timer->r10s() || _srs_pps_pub->r10s() || _srs_pps_conn->r10s()) {
|
||||
snprintf(buf, sizeof(buf), ", timer=%d,%d,%d", _srs_pps_timer->r10s(), _srs_pps_pub->r10s(), _srs_pps_conn->r10s());
|
||||
timer_desc = buf;
|
||||
}
|
||||
|
||||
string free_desc;
|
||||
_srs_pps_dispose->update();
|
||||
if (_srs_pps_dispose->r10s()) {
|
||||
snprintf(buf, sizeof(buf), ", free=%d", _srs_pps_dispose->r10s());
|
||||
free_desc = buf;
|
||||
}
|
||||
|
||||
string recvfrom_desc;
|
||||
_srs_pps_recvfrom->update(_st_stat_recvfrom); _srs_pps_recvfrom_eagain->update(_st_stat_recvfrom_eagain);
|
||||
_srs_pps_sendto->update(_st_stat_sendto); _srs_pps_sendto_eagain->update(_st_stat_sendto_eagain);
|
||||
if (_srs_pps_recvfrom->r10s() || _srs_pps_recvfrom_eagain->r10s() || _srs_pps_sendto->r10s() || _srs_pps_sendto_eagain->r10s()) {
|
||||
snprintf(buf, sizeof(buf), ", udp=%d,%d,%d,%d",
|
||||
_srs_pps_recvfrom->r10s(), _srs_pps_recvfrom_eagain->r10s(),
|
||||
_srs_pps_sendto->r10s(), _srs_pps_sendto_eagain->r10s()
|
||||
);
|
||||
recvfrom_desc = buf;
|
||||
}
|
||||
|
||||
string io_desc;
|
||||
_srs_pps_read->update(_st_stat_read); _srs_pps_read_eagain->update(_st_stat_read_eagain);
|
||||
_srs_pps_readv->update(_st_stat_readv); _srs_pps_readv_eagain->update(_st_stat_readv_eagain);
|
||||
_srs_pps_writev->update(_st_stat_writev); _srs_pps_writev_eagain->update(_st_stat_writev_eagain);
|
||||
if (_srs_pps_read->r10s() || _srs_pps_read_eagain->r10s() || _srs_pps_readv->r10s() || _srs_pps_readv_eagain->r10s() || _srs_pps_writev->r10s() || _srs_pps_writev_eagain->r10s()) {
|
||||
snprintf(buf, sizeof(buf), ", io=%d,%d,%d,%d,%d,%d",
|
||||
_srs_pps_read->r10s(), _srs_pps_read_eagain->r10s(),
|
||||
_srs_pps_readv->r10s(), _srs_pps_readv_eagain->r10s(),
|
||||
_srs_pps_writev->r10s(), _srs_pps_writev_eagain->r10s()
|
||||
);
|
||||
io_desc = buf;
|
||||
}
|
||||
|
||||
string msg_desc;
|
||||
_srs_pps_recvmsg->update(_st_stat_recvmsg); _srs_pps_recvmsg_eagain->update(_st_stat_recvmsg_eagain);
|
||||
_srs_pps_sendmsg->update(_st_stat_sendmsg); _srs_pps_sendmsg_eagain->update(_st_stat_sendmsg_eagain);
|
||||
_srs_pps_sendmmsg->update(_st_stat_sendmmsg); _srs_pps_sendmmsg_eagain->update(_st_stat_sendmmsg_eagain);
|
||||
if (_srs_pps_recvmsg->r10s() || _srs_pps_recvmsg_eagain->r10s() || _srs_pps_sendmsg->r10s() || _srs_pps_sendmsg_eagain->r10s() || _srs_pps_sendmmsg->r10s() || _srs_pps_sendmmsg_eagain->r10s()) {
|
||||
snprintf(buf, sizeof(buf), ", msg=%d,%d,%d,%d,%d,%d",
|
||||
_srs_pps_recvmsg->r10s(), _srs_pps_recvmsg_eagain->r10s(),
|
||||
_srs_pps_sendmsg->r10s(), _srs_pps_sendmsg_eagain->r10s(),
|
||||
_srs_pps_sendmmsg->r10s(), _srs_pps_sendmmsg_eagain->r10s()
|
||||
);
|
||||
msg_desc = buf;
|
||||
}
|
||||
|
||||
srs_trace("Hybrid cpu=%.2f%%,%dMB%s%s%s%s%s%s",
|
||||
u->percent * 100, memory,
|
||||
_srs_pps_cids_get->r10s(), _srs_pps_cids_set->r10s(),
|
||||
_srs_pps_timer->r10s(), _srs_pps_pub->r10s(), _srs_pps_conn->r10s(),
|
||||
_srs_pps_dispose->r10s()
|
||||
cid_desc.c_str(), timer_desc.c_str(), free_desc.c_str(),
|
||||
recvfrom_desc.c_str(), io_desc.c_str(), msg_desc.c_str()
|
||||
);
|
||||
|
||||
return err;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue