mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-08-06 22:22:38 +03:00
Add open_streams metric
Summary: I want to have visibility in to the current count of streams. There are already callback methods onNew/onClosed, unfortunately, the latter is not called when connections are closed, so I had to fix that to prevent the metric from uncontrolled growth. I am still not positive it's correct and was thinking of hooking into QuicStreamState destructor instead. Reviewed By: kvtsoy Differential Revision: D56195487 fbshipit-source-id: 901bce9473327a8f7ef1bc0f70af10899784d681
This commit is contained in:
committed by
Facebook GitHub Bot
parent
688743070d
commit
16501032fa
@@ -22,6 +22,7 @@
|
||||
#include <quic/state/QuicStreamUtilities.h>
|
||||
#include <quic/state/stream/StreamReceiveHandlers.h>
|
||||
#include <quic/state/stream/StreamSendHandlers.h>
|
||||
#include <quic/state/test/MockQuicStats.h>
|
||||
#include <quic/state/test/Mocks.h>
|
||||
|
||||
#include <quic/common/testutil/MockAsyncUDPSocket.h>
|
||||
@@ -4289,6 +4290,26 @@ TEST_P(QuicTransportImplTestBase, BackgroundModeChangeWithStreamChanges) {
|
||||
manager.removeClosedStream(stream2Id);
|
||||
}
|
||||
|
||||
class QuicTransportImplTestCounters : public QuicTransportImplTest {};
|
||||
|
||||
TEST_F(QuicTransportImplTestCounters, TransportResetClosesStreams) {
|
||||
MockQuicStats quicStats;
|
||||
auto transportSettings = transport->getTransportSettings();
|
||||
auto& conn = transport->getConnectionState();
|
||||
conn.statsCallback = &quicStats;
|
||||
|
||||
EXPECT_CALL(quicStats, onNewQuicStream()).Times(2);
|
||||
EXPECT_CALL(quicStats, onQuicStreamClosed()).Times(2);
|
||||
|
||||
auto stream1 = transport->createBidirectionalStream().value();
|
||||
auto stream2 = transport->createBidirectionalStream().value();
|
||||
|
||||
EXPECT_EQ(stream1, 1);
|
||||
EXPECT_EQ(stream2, 5);
|
||||
EXPECT_EQ(conn.streamManager->streamCount(), 2);
|
||||
transport.reset();
|
||||
}
|
||||
|
||||
class QuicTransportImplTestWithGroups : public QuicTransportImplTestBase {};
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(
|
||||
|
Reference in New Issue
Block a user