-
Notifications
You must be signed in to change notification settings - Fork 576
Add QUIC_PERF_COUNTER_CONN_LOAD_REJECT counter. #4120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I'm not opposed to this, but I'm curious why the Listener statistics isn't enough, since this is all in-proc for .NET. |
Looks like we're getting a compile error:
This is coming from: QuicTraceEvent(
PerfCountersRundown,
"[ lib] Perf counters Rundown, Counters=%!CID!",
CASTED_CLOG_BYTEARRAY(sizeof(PerfCounterSamples), PerfCounterSamples)); Which uses: #define CLOG_BYTEARRAY(Len, Data) (uint8_t)(Len), (uint8_t*)(Data)
#define CASTED_CLOG_BYTEARRAY(Len, Data) CLOG_BYTEARRAY((unsigned char)(Len), (const unsigned char*)(Data)) The issue is that you just pushed past 256 bytes. I need to look at what needs to be changed to address this. |
Ok, luckily the ETW event actually takes a 16-bit in, not 8-bit, so it's just a few macros we need to update I believe. Let's define #define CLOG_BYTEARRAY16(Len, Data) (uint16_t)(Len), (uint8_t*)(Data)
#define CASTED_CLOG_BYTEARRAY16(Len, Data) CLOG_BYTEARRAY16((unsigned short)(Len), (const unsigned char*)(Data)) And use that in the two places you're getting errors. Note - You will also need to define the version for all the other platforms. I think you can just copy/paste and make a similar update. |
I am working on introducing some global diagnostic counters which can be observed using external tools (e.g. That aside, global perf counter for load-rejected connections seemed to me a good one to have in MsQuic anyway so I figured it would be better overall to add it here. |
Looks like you need to update the CLOG files too now. |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #4120 +/- ##
===========================================
- Coverage 87.38% 64.97% -22.41%
===========================================
Files 56 56
Lines 16984 15187 -1797
===========================================
- Hits 14841 9868 -4973
- Misses 2143 5319 +3176 ☔ View full report in Codecov by Sentry. |
f0b42d7
to
992d553
Compare
Description
This PR adds a counter which reports the number of connections which were automatically rejected on MsQuic layer because the the worker is already overloaded and is barely able to service current connections.
Testing
Tested by running .NET System.Net.Quic tests suite in parallel which exhibited this problem in the past.
Documentation
Documentation was added.