public CriticalComponentImpl(CriticalAnalyzer analyzer, int numberOfPaths) { if (analyzer == null) { analyzer = EmptyCriticalAnalyzer.getInstance(); } this.analyzer = analyzer; if (analyzer.isMeasuring()) { measures = new CriticalMeasure[numberOfPaths]; for (int i = 0; i < numberOfPaths; i++) { measures[i] = new CriticalMeasure(); } } else { measures = null; } }
public CriticalComponentImpl(CriticalAnalyzer analyzer, int numberOfPaths) { if (analyzer == null) { analyzer = EmptyCriticalAnalyzer.getInstance(); } this.analyzer = analyzer; if (analyzer.isMeasuring()) { measures = new CriticalMeasure[numberOfPaths]; for (int i = 0; i < numberOfPaths; i++) { measures[i] = new CriticalMeasure(this, i); } } else { measures = null; } }
public CriticalComponentImpl(CriticalAnalyzer analyzer, int numberOfPaths) { if (analyzer == null) { analyzer = EmptyCriticalAnalyzer.getInstance(); } this.analyzer = analyzer; if (analyzer.isMeasuring()) { measures = new CriticalMeasure[numberOfPaths]; for (int i = 0; i < numberOfPaths; i++) { measures[i] = new CriticalMeasure(this, i); } } else { measures = null; } }
public CriticalComponentImpl(CriticalAnalyzer analyzer, int numberOfPaths) { if (analyzer == null) { analyzer = EmptyCriticalAnalyzer.getInstance(); } this.analyzer = analyzer; if (analyzer.isMeasuring()) { measures = new CriticalMeasure[numberOfPaths]; for (int i = 0; i < numberOfPaths; i++) { measures[i] = new CriticalMeasure(this, i); } } else { measures = null; } }
public CriticalComponentImpl(CriticalAnalyzer analyzer, int numberOfPaths) { if (analyzer == null) { analyzer = EmptyCriticalAnalyzer.getInstance(); } this.analyzer = analyzer; if (analyzer.isMeasuring()) { measures = new CriticalMeasure[numberOfPaths]; for (int i = 0; i < numberOfPaths; i++) { measures[i] = new CriticalMeasure(this, i); } } else { measures = null; } }
public CriticalComponentImpl(CriticalAnalyzer analyzer, int numberOfPaths) { if (analyzer == null) { analyzer = EmptyCriticalAnalyzer.getInstance(); } this.analyzer = analyzer; if (analyzer.isMeasuring()) { measures = new CriticalMeasure[numberOfPaths]; for (int i = 0; i < numberOfPaths; i++) { measures[i] = new CriticalMeasure(this, i); } } else { measures = null; } }
public CriticalComponentImpl(CriticalAnalyzer analyzer, int numberOfPaths) { if (analyzer == null) { analyzer = EmptyCriticalAnalyzer.getInstance(); } this.analyzer = analyzer; if (analyzer.isMeasuring()) { measures = new CriticalMeasure[numberOfPaths]; for (int i = 0; i < numberOfPaths; i++) { measures[i] = new CriticalMeasure(); } } else { measures = null; } }
@Test public void testCriticalMeasure() throws Exception { CriticalMeasure measure = new CriticalMeasure(null, 1); long time = System.nanoTime(); CriticalMeasure.TIME_ENTER_UPDATER.set(measure, time - TimeUnit.MINUTES.toNanos(5)); CriticalMeasure.TIME_LEFT_UPDATER.set(measure, time); Assert.assertFalse(measure.isExpired(TimeUnit.SECONDS.toNanos(30))); }
@Test public void testCriticalMeasureTakingLongButSucceeding() throws Exception { CriticalAnalyzer analyzer = new CriticalAnalyzerImpl(); CriticalComponent component = new CriticalComponentImpl(analyzer, 5); CriticalMeasure measure = new CriticalMeasure(component, 1); long time = System.nanoTime(); CriticalMeasure.TIME_ENTER_UPDATER.set(measure, time - TimeUnit.MINUTES.toNanos(5)); measure.leaveCritical(); Assert.assertFalse(measure.isExpired(TimeUnit.SECONDS.toNanos(30))); }
@Test public void testCriticalFailure() throws Exception { CriticalAnalyzer analyzer = new CriticalAnalyzerImpl(); CriticalComponent component = new CriticalComponentImpl(analyzer, 5); CriticalMeasure measure = new CriticalMeasure(component, 1); long time = System.nanoTime(); measure.enterCritical(); CriticalMeasure.TIME_ENTER_UPDATER.set(measure, time - TimeUnit.MINUTES.toNanos(5)); CriticalMeasure.TIME_LEFT_UPDATER.set(measure, time - TimeUnit.MINUTES.toNanos(10)); Assert.assertTrue(measure.isExpired(TimeUnit.SECONDS.toNanos(30))); measure.leaveCritical(); } }