@Override String toString(Object o) { ProbeDesc<?> pd = (ProbeDesc<?>) o; return pd.getName(); } },
public void setPd(ProbeDesc<KeyType> pd) { this.pd = pd; namedLogger = Logger.getLogger("jrds.Probe." + pd.getName()); if(!readSpecific()) { throw new RuntimeException("Creation failed"); } }
Class<? extends Probe<KeyType, ValueType>> probeClass = (Class<? extends Probe<KeyType, ValueType>>) pd.getProbeClass(); if(probeClass == null) { logger.error("Invalid probe description " + pd.getName() + ", probe class name not found"); return null; retValue = c.newInstance(); } catch (LinkageError ex) { logger.warn("Error creating probe's " + pd.getName() + ": " + ex); return null; } catch (ClassCastException ex) { if(t != null) showException = t; logger.warn("Error during probe instantation of type " + pd.getName() + ": ", showException); return null;
root = e.getCause(); logger.error(String.format("Probe %s: invalid bean %s template '%s': %s", pd.getName(), beanName, beanValue, root.getMessage())); return false; root = e.getCause(); logger.error(String.format("Probe %s: invalid bean %s value '%s': %s", pd.getName(), beanName, beanValue, root.getMessage())); return false;
public Document dumpAsXml(boolean sorted) throws ParserConfigurationException, IOException { String probeName = getPd().getName(); String name = getName(); String host = "";
System.out.println(oneLine(p)); System.out.println(doTitle(pd.getName())); System.out.println(); System.out.println(doTitle("Source type"));
} catch (SecurityException e) { } catch (NoSuchMethodException e) { logger.warn("Probe arguments not matching configurators for " + p.getPd().getName() + ": " + e.getMessage()); return false; } catch (Exception ex) { if(t != null) showException = t; logger.warn("Error during probe creation of type " + p.getPd().getName() + " with args " + constArgs + ": ", showException); return false;
private void setAttributes(Map<String, ProbeDesc.DefaultBean> defaultBeans, JrdsElement probeNode, Probe<?, ?> p, Object... context) throws InvocationTargetException { // Resolve the beans for(JrdsElement attrNode: probeNode.getChildElementsByName("attr")) { String name = attrNode.getAttribute("name"); GenericBean bean = p.getPd().getBean(name); if(bean == null) { // Context[0] should be the host logger.error(context[0] + "/" + p.getPd().getName() + ": unknown bean '" + name + "'"); continue; } String textValue = Util.parseTemplate(attrNode.getTextContent(), context); logger.trace(Util.delayedFormatString("Found attribute %s with value %s", name, textValue)); bean.set(p, textValue); if(defaultBeans.containsKey(name)) { defaultBeans.remove(name); } } }
public MokeProbe(ProbeDesc<A> pd) { probeType = pd.getName(); setPd(pd); setStep(300); }
setAttributes(defaultBeans, probeNode, p, host, properties); } catch (IllegalArgumentException e) { logger.error(String.format("Can't configure %s for %s: %s", pd.getName(), host, e)); return null;
setMethod(root.getElementbyName("index"), pd, "setIndex"); logger.trace(Util.delayedFormatString("Creating probe description %s", pd.getName())); logger.trace(Util.delayedFormatString("Adding graph: %s", graphName)); } else { logger.info(Util.delayedFormatString("Missing graph %s for probe %s", graphName, pd.getName())); logger.debug(Util.delayedFormatString("No graph defined for probe %s", pd.getName())); for(Map<String, Object> dsMap: doDsList(pd.getName(), root)) { pd.add(dsMap);
Optional.ofNullable(p.getQualifiedName()).ifPresent( i -> w.key("probequalifiedname").value(i)); Optional.ofNullable(p.getName()).ifPresent( i-> w.key("probeinstancename").value(i)); Optional.ofNullable(p.getPd().getName()).ifPresent( i-> w.key("probename").value(i)); Optional.ofNullable(p.getHost().getName()).ifPresent( i-> w.key("hostname").value(i)); Optional.ofNullable(params.getPid()).ifPresent( i-> w.key("pid").value(i));
@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()); }
@Test public void testDsreplace() throws Exception { JrdsDocument d = Tools.parseRessource("dsoverride.xml"); PropertiesManager pm = Tools.makePm(testFolder); HostBuilder hb = new HostBuilder(); ProbeFactory pf = new MokeProbeFactory(); hb.setProbeFactory(pf); hb.setPm(pm); hb.setTimers(Tools.getSimpleTimerMap()); HostInfo host = new HostInfo("testDsreplace"); host.setHostDir(pm.rrddir); Probe<?, ?> p = hb.makeProbe(d.getRootElement().getElementbyName("probe"), host, null); ProbeDesc<?> pd = p.getPd(); Assert.assertNotNull(pd); Assert.assertEquals(1, pd.getSize()); Assert.assertNotSame(pf.getProbeDesc(pd.getName()), pd.getSize()); }