public boolean removeSampleHandler(SampleHandler handler) { synchronized (this) { boolean removed = false; MarkableSampleHandler markableHandler = new MarkableSampleHandler(handler); List<MarkableSampleHandler> oldHandlers = this.currentHandlers; if (oldHandlers.contains(markableHandler)) { if (logger.isTraceEnabled(LogMarker.STATISTICS_VERBOSE)) { logger.trace(LogMarker.STATISTICS_VERBOSE, "SampleHandlers#removeSampleHandler removing markableHandler from {}", this); } List<MarkableSampleHandler> newHandlers = new ArrayList<MarkableSampleHandler>(oldHandlers); removed = newHandlers.remove(markableHandler); this.currentHandlers = Collections.unmodifiableList(newHandlers); } return removed; } }
public MarkableIterator(boolean marked) { List<MarkableSampleHandler> matchingHandlers = new ArrayList<MarkableSampleHandler>(); List<MarkableSampleHandler> handlers = SampleHandlers.this.currentHandlers(); for (MarkableSampleHandler handler : handlers) { if (handler.isMarked() == marked) { matchingHandlers.add(handler); } } this.iterator = matchingHandlers.iterator(); }
private void notifyAllHandlersOfSample(List<MarkableSampleHandler> handlers, List<ResourceInstance> updatedResources, long nanosTimeStamp) { final boolean isDebugEnabled_STATISTICS = logger.isTraceEnabled(LogMarker.STATISTICS_VERBOSE); if (isDebugEnabled_STATISTICS) { logger.trace(LogMarker.STATISTICS_VERBOSE, "SampleCollector#notifyAllHandlersOfSample timeStamp={}", nanosTimeStamp); } if (isDebugEnabled_STATISTICS) { logger.trace(LogMarker.STATISTICS_VERBOSE, "SampleCollector#notifyAllHandlersOfSample updatedResources.size()={}, handlers={}", updatedResources.size(), handlers); } for (MarkableSampleHandler handler : handlers) { handler.sampled(nanosTimeStamp, Collections.unmodifiableList(updatedResources)); } }
if (!handler.isMarked()) { List<ResourceType> allocatedResourceTypes = new ArrayList<ResourceType>(); for (ResourceInstance resourceInstance : resources) { if (!allocatedResourceTypes.contains(resourceType)) { handler.allocatedResourceType(resourceType); allocatedResourceTypes.add(resourceType); handler.allocatedResourceInstance(resourceInstance); handler.allocatedResourceType(resourceType); handler.mark(); count++;
public boolean addSampleHandler(SampleHandler handler) { synchronized (this) { boolean added = false; MarkableSampleHandler markableHandler = new MarkableSampleHandler(handler); List<MarkableSampleHandler> oldHandlers = this.currentHandlers; if (!oldHandlers.contains(markableHandler)) { if (logger.isTraceEnabled(LogMarker.STATISTICS_VERBOSE)) { logger.trace(LogMarker.STATISTICS_VERBOSE, "SampleHandlers#addSampleHandler adding markableHandler to {}", this); } List<MarkableSampleHandler> newHandlers = new ArrayList<MarkableSampleHandler>(oldHandlers); added = newHandlers.add(markableHandler); this.currentHandlers = Collections.unmodifiableList(newHandlers); } return added; } }
private void notifyOldHandlers(List<MarkableSampleHandler> handlers, List<ResourceInstance> ri) { final boolean isDebugEnabled_STATISTICS = logger.isTraceEnabled(LogMarker.STATISTICS_VERBOSE); if (isDebugEnabled_STATISTICS) { logger.trace(LogMarker.STATISTICS_VERBOSE, "SampleCollector#notifyOldHandlers ri={}", ri); } int count = 0; for (ResourceInstance resource : ri) { for (MarkableSampleHandler handler : handlers) { if (handler.isMarked()) { handler.destroyedResourceInstance(resource); count++; } } } if (isDebugEnabled_STATISTICS) { logger.trace(LogMarker.STATISTICS_VERBOSE, "SampleCollector#notifyOldHandlers notified {} old handlers", count); } }
private void notifyOldHandlersOfResource(List<MarkableSampleHandler> handlers, ResourceInstance resource) { final boolean isDebugEnabled_STATISTICS = logger.isTraceEnabled(LogMarker.STATISTICS_VERBOSE); if (isDebugEnabled_STATISTICS) { logger.trace(LogMarker.STATISTICS_VERBOSE, "SampleCollector#notifyOldHandlersOfResource resource={}", resource); } int count = 0; for (MarkableSampleHandler handler : handlers) { if (handler.isMarked()) { handler.allocatedResourceInstance(resource); count++; } } if (isDebugEnabled_STATISTICS) { logger.trace(LogMarker.STATISTICS_VERBOSE, "SampleCollector#notifyOldHandlersOfResource notified {} old handlers", count); } }
private void notifyOldHandlersOfResourceType(List<MarkableSampleHandler> handlers, ResourceType type) { final boolean isDebugEnabled_STATISTICS = logger.isTraceEnabled(LogMarker.STATISTICS_VERBOSE); if (isDebugEnabled_STATISTICS) { logger.trace(LogMarker.STATISTICS_VERBOSE, "SampleCollector#notifyOldHandlersOfResourceType type={}", type); } int count = 0; for (MarkableSampleHandler handler : handlers) { if (handler.isMarked()) { handler.allocatedResourceType(type); count++; } } if (isDebugEnabled_STATISTICS) { logger.trace(LogMarker.STATISTICS_VERBOSE, "SampleCollector#notifyOldHandlersOfResourceType notified {} old handlers", count); } }
public boolean contains(SampleHandler handler) { MarkableSampleHandler markableHandler = new MarkableSampleHandler(handler); return this.currentHandlers.contains(markableHandler); }
protected int countMarkableSampleHandlers(SampleHandler handler) { int count = 0; List<MarkableSampleHandler> list = currentHandlers(); for (MarkableSampleHandler wrapper : list) { if (wrapper.getSampleHandler() == handler) { count++; } } return count; }