public void init() { senderStats = new GatewaySenderStats(system, "test"); bridge = new GatewaySenderMBeanBridge(); bridge.addGatewaySenderStats(senderStats); }
public void testSenderStats() throws InterruptedException{ senderStats.incBatchesRedistributed(); senderStats.incEventsReceived(); senderStats.setQueueSize(10); senderStats.endPut(testStartTime); senderStats.endBatch(testStartTime, 100); senderStats.incEventsNotQueuedConflated(); sample(); assertEquals(1, getTotalBatchesRedistributed()); assertEquals(1, getTotalEventsConflated()); assertEquals(10, getEventQueueSize()); assertTrue(getEventsQueuedRate() >0); assertTrue(getEventsReceivedRate() >0); assertTrue(getBatchesDispatchedRate() >0); assertTrue(getAverageDistributionTimePerBatch() >0); }
logger.debug("{}: Queueing event ({}): {}", sender.getId(), (statistics.getEventsQueued() + 1), gatewayEvent); logger.debug("Event {} is not added to queue.", gatewayEvent); statistics.incEventsFiltered(); return; long start = statistics.startTime(); try { this.queue.put(gatewayEvent); getSender().getCancelCriterion().checkCancelInProgress(e); statistics.endPut(start); if (logger.isDebugEnabled()) { logger.debug("{}: Queued event ({}): {}", sender.getId(), (statistics.getEventsQueued()), gatewayEvent); statistics.incQueueSize(1); if (!this.eventQueueSizeWarning && queueSize >= AbstractGatewaySender.QUEUE_SIZE_THRESHOLD) {
/** * During sender is getting stopped, if there are any cache operation on queue then that event will be stored in temp queue. * Once sender is started, these event from tmp queue will be cleared. */ public void clearTempEventsAfterSenderStopped() { TmpQueueEvent nextEvent = null; while ((nextEvent = tmpQueuedEvents.poll()) != null) { nextEvent.release(); } synchronized (this.queuedEventsSync) { while ((nextEvent = tmpQueuedEvents.poll()) != null) { nextEvent.release(); } this.enqueuedAllTempQueueEvents = false; } statistics.setQueueSize(0); statistics.setTempQueueSize(0); }
public static void checkStats_Failover(String senderId, final int eventsReceived) { Set<GatewaySender> senders = cache.getGatewaySenders(); GatewaySender sender = null; for (GatewaySender s : senders) { if (s.getId().equals(senderId)) { sender = s; break; } } final GatewaySenderStats statistics = ((SerialGatewaySenderImpl)sender) .getStatistics(); assertEquals(eventsReceived, statistics.getEventsReceived()); assertEquals(eventsReceived, (statistics.getEventsQueued() + statistics.getUnprocessedTokensAddedByPrimary() + statistics .getUnprocessedEventsRemovedByPrimary())); }
stats.add(statistics.getEventQueueSize()); stats.add(statistics.getEventsReceived()); stats.add(statistics.getEventsQueued()); stats.add(statistics.getEventsDistributed()); stats.add(statistics.getBatchesDistributed()); stats.add(statistics.getBatchesRedistributed()); stats.add(statistics.getEventsFiltered()); stats.add(statistics.getEventsNotQueuedConflated()); return stats;
stats.incEventsReceived(); getStatistics().incEventsNotQueued(); return; if (logger.isDebugEnabled()) logger.debug("Eviction event not queued: " + event); stats.incEventsNotQueued(); return; getStatistics().incEventsFiltered(); return; this.tmpQueuedEvents.add(new TmpQueueEvent(operation, clonedEvent, substituteValue)); freeClonedEvent = false; stats.incTempQueueSize(); if (isDebugEnabled) { logger.debug("Event : {} is added to TempQueue", clonedEvent);
public static void checkQueueStats(String senderId, final int queueSize, final int eventsReceived, final int eventsQueued, final int eventsDistributed) { Set<GatewaySender> senders = cache.getGatewaySenders(); GatewaySender sender = null; for (GatewaySender s : senders) { if (s.getId().equals(senderId)) { sender = s; break; } } final GatewaySenderStats statistics = ((AbstractGatewaySender)sender).getStatistics(); assertEquals(queueSize, statistics.getEventQueueSize()); assertEquals(eventsReceived, statistics.getEventsReceived()); assertEquals(eventsQueued, statistics.getEventsQueued()); assert(statistics.getEventsDistributed() >= eventsDistributed); }
/** * In case of BatchException we expect that the dispatcher has removed all * the events till the event that threw BatchException. */ public void handleException() { final GatewaySenderStats statistics = this.sender.getStatistics(); statistics.incBatchesRedistributed(); this.resetLastPeekedEvents = true; }
long start = getSender().getStatistics().startTime(); try { this.queue.put(gatewayQueueEvent); e.printStackTrace(); getSender().getStatistics().endPut(start); logger.debug("The Event {} is filtered.", gatewayQueueEvent); getSender().getStatistics().incEventsFiltered();
protected Object peekAhead(PartitionedRegion prQ, int bucketId) throws CacheException { Object object = null; BucketRegionQueue brq = ((BucketRegionQueue)prQ .getDataStore().getLocalBucketById(bucketId)); if (logger.isDebugEnabled()) { logger.debug("{}: Peekahead for the bucket {}",this, bucketId); } try { object = brq.peek(); } catch (BucketRegionQueueUnavailableException e) { //BucketRegionQueue unavailable. Can be due to the BucketRegionQueue being destroyed. return object;//this will be null } if (logger.isDebugEnabled()) { logger.debug("{}: Peeked object from bucket {} object: {}",this, bucketId, object); } if (object == null) { if (this.stats != null) { this.stats.incEventsNotQueuedConflated(); } } return object; // OFFHEAP: ok since callers are careful to do destroys on region queue after finished with peeked object. }
this.unprocessedEvents.size()); GatewaySenderStats statistics = this.sender.getStatistics(); statistics.setQueueSize(eventQueueSize()); // to capture an initial statistics.clearUnprocessedMaps();
public void distribute(EnumListenerEvent operation, EntryEventImpl event, List<Integer> allRemoteDSIds) { final GatewaySenderStats stats = getStatistics(); stats.incEventsReceived(); stats.incEventsNotQueued(); return; if (this.getLogger().fineEnabled()) getLogger().fine("Event is not queued as it is loaded from a loader: " + event); stats.incEventsNotQueued(); return; if (this.getLogger().fineEnabled()) getLogger().fine("Eviction event not queued: " + event); stats.incEventsNotQueued(); return; getLogger().fine("Event is filtered : " + event); stats.incEventsFiltered(); return; stats.incTempQueueSize(); return;
/** * In case of BatchException we expect that the dispatcher has removed all * the events till the event that threw BatchException. */ public void handleException() { final GatewaySenderStats statistics = this.sender.getStatistics(); statistics.incBatchesRedistributed(); this.resetLastPeekedEvents = true; }