This commit is contained in:
Nick Banks 2021-09-15 14:19:39 -04:00 коммит произвёл GitHub
Родитель e2ef1c733c
Коммит 0ecdb81ef6
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
8 изменённых файлов: 34 добавлений и 0 удалений

Просмотреть файл

@ -158,6 +158,10 @@ QUIC_PERF_COUNTER_CONN_OPER_COMPLETED | Total connection operations processed ev
QUIC_PERF_COUNTER_WORK_OPER_QUEUE_DEPTH | Current worker operations queued
QUIC_PERF_COUNTER_WORK_OPER_QUEUED | Total worker operations queued ever
QUIC_PERF_COUNTER_WORK_OPER_COMPLETED | Total worker operations processed ever
QUIC_PERF_COUNTER_PATH_VALIDATED | Total path challenges that succeed ever
QUIC_PERF_COUNTER_PATH_FAILURE | Total path challenges that fail ever
QUIC_PERF_COUNTER_SEND_STATELESS_RESET | Total stateless reset packets sent ever
QUIC_PERF_COUNTER_SEND_STATELESS_RETRY | Total stateless retry packets sent ever
## Windows Performance Monitor

Просмотреть файл

@ -129,6 +129,10 @@ MsQuicPcwStartup(
{ 30, 0, QUIC_PERF_COUNTER_WORK_OPER_QUEUE_DEPTH * sizeof(int64_t), sizeof(int64_t)},
{ 31, 0, QUIC_PERF_COUNTER_WORK_OPER_QUEUED * sizeof(int64_t), sizeof(int64_t)},
{ 32, 0, QUIC_PERF_COUNTER_WORK_OPER_COMPLETED * sizeof(int64_t), sizeof(int64_t)},
{ 33, 0, QUIC_PERF_COUNTER_PATH_VALIDATED * sizeof(int64_t), sizeof(int64_t)},
{ 34, 0, QUIC_PERF_COUNTER_PATH_FAILURE * sizeof(int64_t), sizeof(int64_t)},
{ 35, 0, QUIC_PERF_COUNTER_SEND_STATELESS_RESET * sizeof(int64_t), sizeof(int64_t)},
{ 36, 0, QUIC_PERF_COUNTER_SEND_STATELESS_RETRY * sizeof(int64_t), sizeof(int64_t)},
};
RtlZeroMemory(&RegInfo, sizeof(RegInfo));

Просмотреть файл

@ -966,6 +966,8 @@ QuicBindingProcessStatelessOperation(
QUIC_STATELESS_RESET_TOKEN_LENGTH
).Buffer);
QuicPerfCounterIncrement(QUIC_PERF_COUNTER_SEND_STATELESS_RESET);
} else if (OperationType == QUIC_OPER_TYPE_RETRY) {
CXPLAT_DBG_ASSERT(RecvPacket->DestCid != NULL);
@ -1049,6 +1051,8 @@ QuicBindingProcessStatelessOperation(
QuicCidBufToStr(RecvPacket->DestCid, RecvPacket->DestCidLen).Buffer,
(uint16_t)sizeof(Token));
QuicPerfCounterIncrement(QUIC_PERF_COUNTER_SEND_STATELESS_RETRY);
} else {
CXPLAT_TEL_ASSERT(FALSE); // Should be unreachable code.
goto Exit;

Просмотреть файл

@ -4711,6 +4711,7 @@ QuicConnRecvFrames(
QUIC_PATH* TempPath = &Connection->Paths[i];
if (!TempPath->IsPeerValidated &&
!memcmp(Frame.Data, TempPath->Challenge, sizeof(Frame.Data))) {
QuicPerfCounterIncrement(QUIC_PERF_COUNTER_PATH_VALIDATED);
QuicPathSetValid(Connection, TempPath, QUIC_PATH_VALID_PATH_RESPONSE);
break;
}

Просмотреть файл

@ -792,6 +792,7 @@ QuicLossDetectionRetransmitFrames(
Connection,
"Path[%hhu] validation timed out",
Path->ID);
QuicPerfCounterIncrement(QUIC_PERF_COUNTER_PATH_FAILURE);
QuicPathRemove(Connection, PathIndex);
} else {
Path->SendChallenge = TRUE;

Просмотреть файл

@ -464,6 +464,10 @@ typedef enum QUIC_PERFORMANCE_COUNTERS {
QUIC_PERF_COUNTER_WORK_OPER_QUEUE_DEPTH,// Current worker operations queued.
QUIC_PERF_COUNTER_WORK_OPER_QUEUED, // Total worker operations queued ever.
QUIC_PERF_COUNTER_WORK_OPER_COMPLETED, // Total worker operations processed ever.
QUIC_PERF_COUNTER_PATH_VALIDATED, // Total path challenges that succeed ever.
QUIC_PERF_COUNTER_PATH_FAILURE, // Total path challenges that fail ever.
QUIC_PERF_COUNTER_SEND_STATELESS_RESET, // Total stateless reset packets sent ever.
QUIC_PERF_COUNTER_SEND_STATELESS_RETRY, // Total stateless retry packets sent ever.
QUIC_PERF_COUNTER_MAX,
} QUIC_PERFORMANCE_COUNTERS;

Просмотреть файл

@ -194,6 +194,10 @@ DumpMsQuicPerfCounters(
printf(" WORK_OPER_QUEUE_DEPTH: %llu\n", (unsigned long long)Counters[QUIC_PERF_COUNTER_WORK_OPER_QUEUE_DEPTH]);
printf(" WORK_OPER_QUEUED: %llu\n", (unsigned long long)Counters[QUIC_PERF_COUNTER_WORK_OPER_QUEUED]);
printf(" WORK_OPER_COMPLETED: %llu\n", (unsigned long long)Counters[QUIC_PERF_COUNTER_WORK_OPER_COMPLETED]);
printf(" PATH_VALIDATED: %llu\n", (unsigned long long)Counters[QUIC_PERF_COUNTER_PATH_VALIDATED]);
printf(" PATH_FAILURE: %llu\n", (unsigned long long)Counters[QUIC_PERF_COUNTER_PATH_FAILURE]);
printf(" SEND_STATELESS_RESET: %llu\n", (unsigned long long)Counters[QUIC_PERF_COUNTER_SEND_STATELESS_RESET]);
printf(" SEND_STATELESS_RETRY: %llu\n", (unsigned long long)Counters[QUIC_PERF_COUNTER_SEND_STATELESS_RETRY]);
}
//

Просмотреть файл

@ -296,6 +296,18 @@ QuicTraceGlobalEvent(
case QUIC_PERF_COUNTER_WORK_OPER_COMPLETED:
printf(" Total worker operations processed ever: ");
break;
case QUIC_PERF_COUNTER_PATH_VALIDATED:
printf(" Total path challenges that succeed ever: ");
break;
case QUIC_PERF_COUNTER_PATH_FAILURE:
printf(" Total path challenges that fail ever: ");
break;
case QUIC_PERF_COUNTER_SEND_STATELESS_RESET:
printf(" Total stateless reset packets sent ever: ");
break;
case QUIC_PERF_COUNTER_SEND_STATELESS_RETRY:
printf(" Total stateless retry packets sent ever: ");
break;
default:
printf(" Unknown: ");
break;