mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Cover Kbps statistic
This commit is contained in:
parent
6e9c7dd11e
commit
6e44aa4a4f
2 changed files with 46 additions and 2 deletions
|
@ -181,7 +181,7 @@ private:
|
||||||
SrsKbpsSlice os;
|
SrsKbpsSlice os;
|
||||||
SrsWallClock* clk;
|
SrsWallClock* clk;
|
||||||
public:
|
public:
|
||||||
// We will free the clock c.
|
// We won't free the clock c.
|
||||||
SrsKbps(SrsWallClock* c);
|
SrsKbps(SrsWallClock* c);
|
||||||
virtual ~SrsKbps();
|
virtual ~SrsKbps();
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -5929,7 +5929,6 @@ VOID TEST(ProtocolKbpsTest, RAWStatistic)
|
||||||
SrsAutoFree(SrsKbps, conn);
|
SrsAutoFree(SrsKbps, conn);
|
||||||
conn->set_io(io, io);
|
conn->set_io(io, io);
|
||||||
|
|
||||||
// Kbps without io, gather delta.
|
|
||||||
SrsKbps* kbps = new SrsKbps(clock->set_clock(0));
|
SrsKbps* kbps = new SrsKbps(clock->set_clock(0));
|
||||||
SrsAutoFree(SrsKbps, kbps);
|
SrsAutoFree(SrsKbps, kbps);
|
||||||
kbps->set_io(conn, conn);
|
kbps->set_io(conn, conn);
|
||||||
|
@ -5958,6 +5957,51 @@ VOID TEST(ProtocolKbpsTest, RAWStatistic)
|
||||||
EXPECT_EQ(800, kbps->get_send_kbps_30s());
|
EXPECT_EQ(800, kbps->get_send_kbps_30s());
|
||||||
EXPECT_EQ(0, kbps->get_send_kbps_5m());
|
EXPECT_EQ(0, kbps->get_send_kbps_5m());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (true) {
|
||||||
|
MockWallClock* clock = new MockWallClock();
|
||||||
|
SrsAutoFree(MockWallClock, clock);
|
||||||
|
|
||||||
|
SrsKbps* kbps = new SrsKbps(clock->set_clock(0));
|
||||||
|
SrsAutoFree(SrsKbps, kbps);
|
||||||
|
|
||||||
|
// No io, no data.
|
||||||
|
kbps->set_io(NULL, NULL);
|
||||||
|
EXPECT_EQ(0, kbps->get_recv_bytes());
|
||||||
|
EXPECT_EQ(0, kbps->get_send_bytes());
|
||||||
|
|
||||||
|
// With io, zero data.
|
||||||
|
MockStatistic* io = new MockStatistic();
|
||||||
|
SrsAutoFree(MockStatistic, io);
|
||||||
|
|
||||||
|
kbps->set_io(io, io);
|
||||||
|
EXPECT_EQ(0, kbps->get_recv_bytes());
|
||||||
|
EXPECT_EQ(0, kbps->get_send_bytes());
|
||||||
|
|
||||||
|
// With io with data.
|
||||||
|
io->set_in(100 * 1000)->set_out(100 * 1000);
|
||||||
|
EXPECT_EQ(100 * 1000, kbps->get_recv_bytes());
|
||||||
|
EXPECT_EQ(100 * 1000, kbps->get_send_bytes());
|
||||||
|
|
||||||
|
// No io, cached data.
|
||||||
|
kbps->set_io(NULL, NULL);
|
||||||
|
EXPECT_EQ(100 * 1000, kbps->get_recv_bytes());
|
||||||
|
EXPECT_EQ(100 * 1000, kbps->get_send_bytes());
|
||||||
|
|
||||||
|
// Use the same IO, but as a fresh io.
|
||||||
|
kbps->set_io(io, io);
|
||||||
|
EXPECT_EQ(100 * 1000, kbps->get_recv_bytes());
|
||||||
|
EXPECT_EQ(100 * 1000, kbps->get_send_bytes());
|
||||||
|
|
||||||
|
io->set_in(150 * 1000)->set_out(150 * 1000);
|
||||||
|
EXPECT_EQ(150 * 1000, kbps->get_recv_bytes());
|
||||||
|
EXPECT_EQ(150 * 1000, kbps->get_send_bytes());
|
||||||
|
|
||||||
|
// No io, cached data.
|
||||||
|
kbps->set_io(NULL, NULL);
|
||||||
|
EXPECT_EQ(150 * 1000, kbps->get_recv_bytes());
|
||||||
|
EXPECT_EQ(150 * 1000, kbps->get_send_bytes());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue