/** * Return true if is collect key was marked optionnal in the probe * description * * @param collect * @return */ public boolean isOptional(KeyType collect) { return getPd().isOptional(getCollectMapping().get(collect)); }
@Test public void constructAndCheckImmediateHigh() { Probe<String, Number> p = new MokeProbe<String, Number>(); p.setPd(pd); Map<String, String> nameMap = p.getCollectMapping(); Map<String, Number> filteredSamples = new HashMap<String, Number>(); Map<String, Number> resultSample = new HashMap<String, Number>(); for(Map.Entry<String, Number> e: filteredSamples.entrySet()) { String dsName = nameMap.get(e.getKey()); double value = e.getValue().doubleValue(); if(dsName != null) { resultSample.put(dsName, value); } else { logger.debug("Dropped entry: " + e.getKey()); } } } }
/** * Store the collected values in the sample * * @param oneSample */ public boolean injectSample(JrdsSample oneSample, Map<KeyType, ValueType> sampleVals) { log(Level.TRACE, "Collected values: %s", sampleVals); if(getUptime() * pd.getUptimefactor() < pd.getHeartBeatDefault()) { log(Level.INFO, "uptime too low: %.0f", getUptime() * pd.getUptimefactor()); return false; } // Set the default values that might be defined in the probe description for(Map.Entry<String, Double> e: getPd().getDefaultValues().entrySet()) { oneSample.put(e); } Map<?, String> nameMap = getCollectMapping(); log(Level.TRACE, "Collect keys: %s", nameMap); Map<KeyType, Number> filteredSamples = filterValues(sampleVals); log(Level.TRACE, "Filtered values: %s", filteredSamples); for(Map.Entry<KeyType, Number> e: filteredSamples.entrySet()) { String dsName = nameMap.get(e.getKey()); if(dsName != null) { oneSample.put(dsName, e.getValue()); } else { log(Level.TRACE, "Dropped entry: %s", e.getKey()); } } modifySample(oneSample, sampleVals); return true; }