public void reset() {
        msgRateOut = 0;
        msgThroughputOut = 0;
        bytesOutCounter = 0;
        msgOutCounter = 0;
        msgRateRedeliver = 0;
        messageAckRate = 0;
        chunkedMessageRate = 0;
        msgBacklog = 0;
        backlogSize = 0;
        msgBacklogNoDelayed = 0;
        unackedMessages = 0;
        type = null;
        msgRateExpired = 0;
        totalMsgExpired = 0;
        lastExpireTimestamp = 0L;
        lastMarkDeleteAdvancedTimestamp = 0L;
        consumers.clear();
        consumersAfterMarkDeletePosition.clear();
        nonContiguousDeletedMessagesRanges = 0;
        nonContiguousDeletedMessagesRangesSerializedSize = 0;
        earliestMsgPublishTimeInBacklog = 0L;
        delayedMessageIndexSizeInBytes = 0;
        subscriptionProperties.clear();
        filterProcessedMsgCount = 0;
        filterAcceptedMsgCount = 0;
        filterRejectedMsgCount = 0;
        filterRescheduledMsgCount = 0;
        bucketDelayedIndexStats.clear();
    }
@Test
    public void testReset() {
        SubscriptionStatsImpl stats = new SubscriptionStatsImpl();
        stats.earliestMsgPublishTimeInBacklog = 1L;
        stats.reset();
        assertEquals(stats.earliestMsgPublishTimeInBacklog, 0L);

    }