public void run() { lp.checkStore(); } };
if(p.checkStore()) { shost.addProbe(p); } else {
@Test public void create() throws Exception { @SuppressWarnings("unchecked") Probe<String, Number> p = GenerateProbe.quickProbe(testFolder); p.setPd(Full.getPd()); File rrdFile = new File(p.getMainStore().getPath()); Assert.assertTrue("Failed to create probe " + rrdFile.getAbsolutePath(), p.checkStore()); logger.debug("Created " + p + " stored in " + p.getMainStore().getStoreObject()); long endSec = Full.fill(p); logger.debug("fill time: " + endSec); logger.debug(p.getLastUpdate()); Period pr = Full.getPeriod(p, endSec); Graphics2D g2d = new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB).createGraphics(); GraphDesc gd = Full.getGd(); gd.initializeLimits(g2d); GraphNode gn = new GraphNode(p, gd); Graph g = new Graph(gn); g.setPeriod(pr); int h = g.getDimension().height; int w = g.getDimension().width; File outputFile = testFolder.newFile(); OutputStream out = new FileOutputStream(outputFile); g.writePng(out); BufferedImage img = ImageIO.read(outputFile); Assert.assertEquals(h, img.getHeight()); Assert.assertEquals(w, img.getWidth()); Assert.assertTrue(rrdFile.exists()); Assert.assertTrue(rrdFile.length() > 0); }
static public Probe<?, ?> create(TemporaryFolder testFolder, int step) throws InvocationTargetException { HostInfo host = new HostInfo("Empty"); host.setHostDir(testFolder.getRoot()); Probe<?, ?> p = getProbe(); p.setHost(new HostStarter(host)); p.setStep(step); Assert.assertTrue("Fail creating probe", p.checkStore()); return p; }
@SuppressWarnings("unchecked") @Before public void prepare() throws Exception { pm = Tools.makePm(testFolder); hl = new HostsList(pm); GenerateProbe.ChainedMap<Object> args = GenerateProbe.ChainedMap.start().set(PropertiesManager.class, pm); p = GenerateProbe.quickProbe(testFolder, args); p.getPd().add("data", DsType.GAUGE); Assert.assertTrue("Failed to create probe " + p.getMainStore().getPath(), p.checkStore()); }
@Test public void testCreate() throws Exception { @SuppressWarnings("unchecked") Probe<?, ?> p = GenerateProbe.quickProbe(testFolder, GenerateProbe.ChainedMap.start(0)); p.getPd().add("test", DsType.COUNTER); Assert.assertTrue("Probe file creation failed", p.checkStore()); Extractor e = p.getMainStore().getExtractor(); e.addSource("test", "test"); String[] dsNames = e.getNames(); Assert.assertEquals("data source test not found", "test", dsNames[0]); e.release(); }
@Test public void testFill() throws Exception { @SuppressWarnings("unchecked") Probe<?, ?> p = GenerateProbe.quickProbe(testFolder); p.setStep(30); p.getPd().add("test", DsType.GAUGE); Assert.assertTrue("Probe file creation failed", p.checkStore()); Extractor e = p.getMainStore().getExtractor(); e.addSource("test", "test"); String[] dsNames = e.getNames(); Assert.assertEquals("data source test not found", "test", dsNames[0]); long start = p.getLastUpdate().getTime(); for(int i = 1; i <= 30; i++) { JrdsSample s = p.newSample(); long sampletime = i * p.getStep() * 1000 + start; sampletime = (sampletime) - (sampletime % (p.getStep() * 1000)); s.setTime(new Date(sampletime)); s.put("test", i); p.getMainStore().commit(s); } ExtractInfo ei = ExtractInfo.get().make(new Date(start), new Date(start + 30 * p.getStep() * 1000)); DataProcessor dp = p.extract(ei); double[][] values = dp.getValues(); for(int i = 1; i <= 30; i++) { // Check raw values Assert.assertEquals("Wrong values stored", i, values[0][i], 1e-10); long sampletime = i * p.getStep() * 1000 + start; sampletime = (sampletime) - (sampletime % (p.getStep() * 1000)); } }
Probe<String, Number> p = (MokeProbe<String, Number>) GenerateProbe.quickProbe(testFolder, args); p.checkStore(); long endSec = Full.fill(p); Period pr = Full.getPeriod(p, endSec);
@Test public void readDatasourcesNames() throws Exception { GenerateProbe.ChainedMap<Object> factoryArgs = GenerateProbe.ChainedMap.start(1).set("rrdfile", rrdfile.getCanonicalPath()); GenerateProbe.ChainedMap<Object> args = GenerateProbe.ChainedMap.start(2) .set(StoreFactory.class, new RRDToolStoreFactory()) .set(GenerateProbe.FACTORYCONFIG, factoryArgs); Probe<?,?> p = GenerateProbe.fillProbe(new GenerateProbe.EmptyProbe(), testFolder, args); p.getPd().add("speed", DsType.GAUGE); p.getPd().add("weight", DsType.GAUGE); Assert.assertTrue(p.checkStore()); Period period = new Period("1999-03-07T13:00:00", "1999-03-07T13:15:00"); DataProcessor dp = p.extract(ExtractInfo.get().make(period.getBegin(), period.getEnd())); String[] dsNames = dp.getSourceNames(); Assert.assertEquals("data source weight not found", "weight", dsNames[0]); Assert.assertEquals("data source speed not found", "speed", dsNames[1]); Assert.assertEquals("Missing last values", 2, p.getMainStore().getLastValues().size()); }