public void configure() { setName(jrds.Util.parseTemplate(getPd().getProbeName(), this)); if(listener != null) { listener.register(this); } }
name = jrds.Util.parseTemplate(p.getPd().getProbeName(), p); p.setName(name); for(String graphName: p.getPd().getGraphClasses()) {
/** * Check the final status of the probe. It must be called once before an * probe can be used * * Open the rrd backend of the probe. it's created if it's needed * */ public boolean checkStore() { ProbeDesc<KeyType> pd = getPd(); if(pd == null) { log(Level.ERROR, "Missing Probe description"); return false; } if(getHost() == null) { log(Level.ERROR, "Missing host"); return false; } // Name can be set by other means if(name == null) name = parseTemplate(pd.getProbeName()); finished = mainStore.checkStoreFile(archives); return finished; }
throw new RuntimeException("Probe " + pd.getProbeName() + "defined without class");
/** * * @see jrds.ProbeConnected#configure() */ public Boolean configure(List<?> args) { if(super.configure()) { ProbeDesc<String> pd = getPd(); query = jrds.Util.parseTemplate(pd.getSpecific("query"), getHost(), args); keyColumn = jrds.Util.parseTemplate(pd.getSpecific("key"), getHost(), args); uptimeQuery = jrds.Util.parseTemplate(pd.getSpecific("uptimeQuery"), getHost(), args); uptimeRow = jrds.Util.parseTemplate(pd.getSpecific("uptimeRow"), getHost(), args); String indexTemplate = pd.getSpecific("index"); if(indexTemplate != null && !"".equals(indexTemplate)) index = jrds.Util.parseTemplate(indexTemplate, getHost(), args); setName(jrds.Util.parseTemplate(pd.getProbeName(), args)); return true; } return false; }
@Test public void loadProbeDesc() throws Exception { JrdsDocument d = Tools.parseRessource("fulldesc.xml"); PropertiesManager pm = new PropertiesManager(); ProbeDescBuilder builder = new ProbeDescBuilder(); builder.setPm(new PropertiesManager()); ProbeDesc<?> pd = builder.makeProbeDesc(d); Assert.assertEquals("name", pd.getName()); Assert.assertEquals("probename", pd.getProbeName()); Assert.assertEquals(jrds.mockobjects.MokeProbe.class, pd.getProbeClass()); Assert.assertEquals("specificvalue1", pd.getSpecific("specificname1")); Assert.assertEquals("specificvalue2", pd.getSpecific("specificname2")); Assert.assertEquals(0.5, pd.getUptimefactor(), 0); Assert.assertEquals((long) pm.step * 2, pd.getHeartBeatDefault()); logger.trace(pd.getCollectMapping()); logger.trace(pd.getDefaultBeans()); // An empty collect string should not be collected Assert.assertEquals(5, pd.getCollectMapping().size()); }