RTC: Update stat for nack

pull/2199/head
winlin 4 years ago
parent 51e630d53c
commit 81db13f27f

@ -65,6 +65,9 @@ SrsPps* _srs_pps_twcc = new SrsPps(_srs_clock);
SrsPps* _srs_pps_rr = new SrsPps(_srs_clock);
SrsPps* _srs_pps_pub = new SrsPps(_srs_clock);
extern SrsPps* _srs_pps_snack;
extern SrsPps* _srs_pps_snack2;
#define SRS_TICKID_RTCP 0
#define SRS_TICKID_TWCC 2
@ -2281,6 +2284,8 @@ srs_error_t SrsRtcConnection::send_rtcp(char *data, int nb_data)
void SrsRtcConnection::check_send_nacks(SrsRtpNackForReceiver* nack, uint32_t ssrc, uint32_t& sent_nacks, uint32_t& timeout_nacks)
{
++_srs_pps_snack->sugar;
SrsRtcpNack rtcpNack(ssrc);
rtcpNack.set_media_ssrc(ssrc);
@ -2291,6 +2296,8 @@ void SrsRtcConnection::check_send_nacks(SrsRtpNackForReceiver* nack, uint32_t ss
return;
}
++_srs_pps_snack2->sugar;
char buf[kRtcpPacketSize];
SrsBuffer stream(buf, sizeof(buf));

@ -60,6 +60,11 @@ extern SrsPps* _srs_pps_rr;
extern SrsPps* _srs_pps_timer;
extern SrsPps* _srs_pps_pub;
extern SrsPps* _srs_pps_snack;
extern SrsPps* _srs_pps_snack2;
extern SrsPps* _srs_pps_sanack;
extern SrsPps* _srs_pps_svnack;
SrsRtcBlackhole::SrsRtcBlackhole()
{
blackhole = false;
@ -663,14 +668,16 @@ srs_error_t SrsRtcServer::notify(int type, srs_utime_t interval, srs_utime_t tic
_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_timer->update(); _srs_pps_pub->update();
_srs_pps_snack->update(); _srs_pps_snack2->update(); _srs_pps_sanack->update(); _srs_pps_svnack->update();
// TODO: FIXME: Show more data for RTC server.
srs_trace("RTC: Server conns=%u, cpu=%.2f%%, rss=%dMB, pkts=%d, addrs=%d,%d, fid=%d,%d,%d, rtcp=%d,%d,%d, timer=%d,%d",
srs_trace("RTC: Server conns=%u, cpu=%.2f%%, rss=%dMB, pkts=%d, addrs=%d,%d, fid=%d,%d,%d, rtcp=%d,%d,%d, timer=%d,%d, nack=%d,%d,%d,%d",
nn_rtc_conns, u->percent * 100, memory,
_srs_pps_pkts->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_timer->r10s(), _srs_pps_pub->r10s()
_srs_pps_snack->r10s(), _srs_pps_snack2->r10s(), _srs_pps_sanack->r10s(), _srs_pps_svnack->r10s()
);
return err;

@ -48,6 +48,14 @@
#include <srs_app_rtc_codec.hpp>
#endif
#include <srs_protocol_kbps.hpp>
// The NACK sent by us(SFU).
SrsPps* _srs_pps_snack = new SrsPps(_srs_clock);
SrsPps* _srs_pps_snack2 = new SrsPps(_srs_clock);
SrsPps* _srs_pps_sanack = new SrsPps(_srs_clock);
SrsPps* _srs_pps_svnack = new SrsPps(_srs_clock);
// Firefox defaults as 109, Chrome is 111.
const int kAudioPayloadType = 111;
const int kAudioChannel = 2;
@ -1868,6 +1876,8 @@ srs_error_t SrsRtcAudioRecvTrack::check_send_nacks()
{
srs_error_t err = srs_success;
++_srs_pps_sanack->sugar;
uint32_t timeout_nacks = 0;
if ((err = do_check_send_nacks(timeout_nacks)) != srs_success) {
return srs_error_wrap(err, "audio");
@ -1931,6 +1941,8 @@ srs_error_t SrsRtcVideoRecvTrack::check_send_nacks()
{
srs_error_t err = srs_success;
++_srs_pps_svnack->sugar;
uint32_t timeout_nacks = 0;
if ((err = do_check_send_nacks(timeout_nacks)) != srs_success) {
return srs_error_wrap(err, "video");

Loading…
Cancel
Save