From 5ab59fe770703d0d9130f9ecc48f8f6ebe0a9418 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 31 Mar 2016 17:53:39 -0700 Subject: [PATCH 1/2] suppress overflown AudioRingBuffer debug --- libraries/audio/src/AudioRingBuffer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/audio/src/AudioRingBuffer.cpp b/libraries/audio/src/AudioRingBuffer.cpp index fc46d5fd66..ae69efee92 100644 --- a/libraries/audio/src/AudioRingBuffer.cpp +++ b/libraries/audio/src/AudioRingBuffer.cpp @@ -17,6 +17,7 @@ #include #include +#include #include "AudioLogging.h" @@ -129,7 +130,10 @@ int AudioRingBuffer::writeData(const char* data, int maxSize) { int samplesToDelete = samplesToCopy - samplesRoomFor; _nextOutput = shiftedPositionAccomodatingWrap(_nextOutput, samplesToDelete); _overflowCount++; - qCDebug(audio) << "Overflowed ring buffer! Overwriting old data"; + + const QString RING_BUFFER_OVERFLOW_DEBUG { "AudioRingBuffer::writeData has overflown the buffer. Overwriting old data." }; + static QString repeatedMessage = LogHandler::getInstance().addRepeatedMessageRegex(RING_BUFFER_OVERFLOW_DEBUG); + qCDebug(audio) << qPrintable(RING_BUFFER_OVERFLOW_DEBUG); } if (_endOfLastWrite + samplesToCopy <= _buffer + _bufferLength) { From fc8707dc05442ef2a47848c77c16700bd0693042 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 31 Mar 2016 18:01:00 -0700 Subject: [PATCH 2/2] add suppression for unreasonable sequence number messages --- libraries/networking/src/SequenceNumberStats.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libraries/networking/src/SequenceNumberStats.cpp b/libraries/networking/src/SequenceNumberStats.cpp index f4dc7e62e9..6d7b271606 100644 --- a/libraries/networking/src/SequenceNumberStats.cpp +++ b/libraries/networking/src/SequenceNumberStats.cpp @@ -10,10 +10,13 @@ // #include "SequenceNumberStats.h" -#include "NetworkLogging.h" #include +#include + +#include "NetworkLogging.h" + float PacketStreamStats::getLostRate() const { return (_expectedReceived == 0) ? 0.0f : (float)_lost / (float)_expectedReceived; } @@ -63,6 +66,7 @@ SequenceNumberStats::ArrivalInfo SequenceNumberStats::sequenceNumberReceived(qui arrivalInfo._status = OnTime; _lastReceivedSequence = incoming; _stats._expectedReceived++; + } else { // out of order if (wantExtraDebugging) { @@ -85,6 +89,9 @@ SequenceNumberStats::ArrivalInfo SequenceNumberStats::sequenceNumberReceived(qui } else if (absGap > MAX_REASONABLE_SEQUENCE_GAP) { arrivalInfo._status = Unreasonable; + static const QString UNREASONABLE_SEQUENCE_REGEX { "unreasonable sequence number: \\d+ previous: \\d+" }; + static QString repeatedMessage = LogHandler::getInstance().addRepeatedMessageRegex(UNREASONABLE_SEQUENCE_REGEX); + qCDebug(networking) << "unreasonable sequence number:" << incoming << "previous:" << _lastReceivedSequence; _stats._unreasonable++; @@ -147,6 +154,9 @@ SequenceNumberStats::ArrivalInfo SequenceNumberStats::sequenceNumberReceived(qui arrivalInfo._status = Unreasonable; + static const QString UNREASONABLE_SEQUENCE_REGEX { "unreasonable sequence number: \\d+ \\(possible duplicate\\)" }; + static QString repeatedMessage = LogHandler::getInstance().addRepeatedMessageRegex(UNREASONABLE_SEQUENCE_REGEX); + qCDebug(networking) << "unreasonable sequence number:" << incoming << "(possible duplicate)"; _stats._unreasonable++;