RTC: Stat the detail of received packets

pull/2213/head
winlin 4 years ago
parent e06d6672d5
commit 749a7eafef

@ -45,7 +45,7 @@ using namespace std;
#include <srs_protocol_kbps.hpp>
SrsPps* _srs_pps_pkts = new SrsPps(_srs_clock);
SrsPps* _srs_pps_rpkts = new SrsPps(_srs_clock);
SrsPps* _srs_pps_addrs = new SrsPps(_srs_clock);
SrsPps* _srs_pps_fast_addrs = new SrsPps(_srs_clock);
@ -343,7 +343,7 @@ int SrsUdpMuxSocket::recvfrom(srs_utime_t timeout)
address_changed_ = true;
// Update the stat.
++_srs_pps_pkts->sugar;
++_srs_pps_rpkts->sugar;
return nread;
}

@ -45,7 +45,10 @@ using namespace std;
#include <srs_app_rtc_api.hpp>
#include <srs_protocol_utility.hpp>
extern SrsPps* _srs_pps_pkts;
extern SrsPps* _srs_pps_rpkts;
SrsPps* _srs_pps_rstuns = new SrsPps(_srs_clock);
SrsPps* _srs_pps_rrtps = new SrsPps(_srs_clock);
SrsPps* _srs_pps_rrtcps = new SrsPps(_srs_clock);
extern SrsPps* _srs_pps_addrs;
extern SrsPps* _srs_pps_fast_addrs;
@ -357,6 +360,7 @@ srs_error_t SrsRtcServer::on_udp_packet(SrsUdpMuxSocket* skt)
// For STUN, the peer address may change.
if (!is_rtp_or_rtcp && srs_is_stun((uint8_t*)data, size)) {
++_srs_pps_rstuns->sugar;
string peer_id = skt->peer_id();
SrsStunPacket ping;
@ -390,6 +394,8 @@ srs_error_t SrsRtcServer::on_udp_packet(SrsUdpMuxSocket* skt)
// Note that we don't(except error) switch to the context of session, for performance issue.
if (is_rtp_or_rtcp && !is_rtcp) {
++_srs_pps_rrtps->sugar;
err = session->on_rtp(data, size);
if (err != srs_success) {
session->switch_to_context();
@ -399,9 +405,13 @@ srs_error_t SrsRtcServer::on_udp_packet(SrsUdpMuxSocket* skt)
session->switch_to_context();
if (is_rtp_or_rtcp && is_rtcp) {
++_srs_pps_rrtcps->sugar;
return session->on_rtcp(data, size);
}
if (srs_is_dtls((uint8_t*)data, size)) {
++_srs_pps_rstuns->sugar;
return session->on_dtls(data, size);
}
return srs_error_new(ERROR_RTC_UDP, "unknown packet");
@ -659,16 +669,16 @@ srs_error_t SrsRtcServer::notify(int type, srs_utime_t interval, srs_utime_t tic
}
// Update the pps stat for UDP socket and adddresses.
_srs_pps_pkts->update(); _srs_pps_addrs->update(); _srs_pps_fast_addrs->update();
_srs_pps_rpkts->update(); _srs_pps_rstuns->update(); _srs_pps_rrtps->update(); _srs_pps_rrtcps->update(); _srs_pps_addrs->update(); _srs_pps_fast_addrs->update();
_srs_pps_ids->update(); _srs_pps_fids->update(); _srs_pps_fids_level0->update();
_srs_pps_pli->update(); _srs_pps_twcc->update(); _srs_pps_rr->update();
_srs_pps_snack->update(); _srs_pps_snack2->update(); _srs_pps_sanack->update(); _srs_pps_svnack->update();
_srs_pps_rnack->update(); _srs_pps_rnack2->update();
// TODO: FIXME: Show more data for RTC server.
srs_trace("RTC: Server conns=%u, pkts=%d,%d,%d, fid=%d,%d,%d, rtcp=%d,%d,%d, snk=%d,%d,%d,%d, rnk=%d,%d",
srs_trace("RTC: Server conns=%u, rpkts=%d,%d,%d,%d,%d,%d, fid=%d,%d,%d, rtcp=%d,%d,%d, snk=%d,%d,%d,%d, rnk=%d,%d",
nn_rtc_conns,
_srs_pps_pkts->r10s(), _srs_pps_addrs->r10s(), _srs_pps_fast_addrs->r10s(),
_srs_pps_rpkts->r10s(), _srs_pps_rstuns->r10s(), _srs_pps_rrtps->r10s(), _srs_pps_rrtcps->r10s(), _srs_pps_addrs->r10s(), _srs_pps_fast_addrs->r10s(),
_srs_pps_ids->r10s(), _srs_pps_fids->r10s(), _srs_pps_fids_level0->r10s(),
_srs_pps_pli->r10s(), _srs_pps_twcc->r10s(), _srs_pps_rr->r10s(),
_srs_pps_snack->r10s(), _srs_pps_snack2->r10s(), _srs_pps_sanack->r10s(), _srs_pps_svnack->r10s(),

Loading…
Cancel
Save