private void persistLatencySamples(MonitoredService service, Map<String, Number> entries, File rrdRepositoryRoot, String rrdBaseName) { RrdRepository repository = new RrdRepository(); repository.setStep(m_pollerConfig.getStep(m_pkg)); repository.setRraList(m_pollerConfig.getRRAList(m_pkg)); repository.setHeartBeat(repository.getStep() * HEARTBEAT_STEP_MULTIPLIER); repository.setRrdBaseDir(rrdRepositoryRoot); // When making calls directly to RrdUtils#createRrd() and RrdUtils#updateRrd(), // the behavior was as follows: // 1) All samples get written to response/${ipAddr}/${rrdBaseName}.rrd // This happens whether or not storeByGroup is enabled. // 2) If multiple entries are present, the DSs are created in the same order that they // appear in the map LatencyCollectionResource latencyResource = new LatencyCollectionResource(service.getSvcName(), service.getIpAddr(), service.getNodeLocation()); for (final Entry<String, Number> entry : entries.entrySet()) { final String ds = entry.getKey(); final Number value = entry.getValue() != null ? entry.getValue() : Double.NaN; LatencyCollectionAttributeType latencyType = new LatencyCollectionAttributeType(rrdBaseName, ds); latencyResource.addAttribute(new LatencyCollectionAttribute(latencyResource, latencyType, ds, value.doubleValue())); } ServiceParameters params = new ServiceParameters(Collections.emptyMap()); CollectionSetVisitor persister = m_persisterFactory.createPersister(params, repository, false, true, true); SingleResourceCollectionSet collectionSet = new SingleResourceCollectionSet(latencyResource, new Date()); collectionSet.setStatus(CollectionStatus.SUCCEEDED); collectionSet.visit(persister); }
pkg.setRrd(rrd); expect(m_pollerConfig.getRRAList(pkg)).andReturn(rras).anyTimes(); expect(m_pollerConfig.getStep(pkg)).andReturn(step).anyTimes();
repository.setStep(m_pollerConfig.getStep(pkg)); repository.setHeartBeat(repository.getStep() * HEARTBEAT_STEP_MULTIPLIER); repository.setRraList(m_pollerConfig.getRRAList(pkg)); repository.setRrdBaseDir(new File(rrdRepository));
repository.setStep(m_pollerConfig.getStep(pkg)); repository.setHeartBeat(repository.getStep() * HEARTBEAT_STEP_MULTIPLIER); repository.setRraList(m_pollerConfig.getRRAList(pkg)); repository.setRrdBaseDir(new File(rrdRepository));