@Override public void run() { boolean active = true; try { Thread.sleep(5000); } catch (InterruptedException e) { active = false; } while (active) { Transaction t = Cat.newTransaction("AlertDatabase", TimeHelper.getMinuteStr()); long current = System.currentTimeMillis(); try { Map<String, ProductLine> productLines = m_productLineConfigManager.getCompany().getProductLines(); for (ProductLine productLine : productLines.values()) { try { if (productLine.isDatabaseMonitorDashboard()) { processProductLine(productLine); } } catch (Exception e) { Cat.logError(e); } } t.setStatus(Transaction.SUCCESS); } catch (Exception e) { t.setStatus(e); } finally { m_currentReports.clear(); m_lastReports.clear(); t.complete(); } long duration = System.currentTimeMillis() - current; try { if (duration < DURATION) { Thread.sleep(DURATION - duration); } } catch (InterruptedException e) { active = false; } } }
@Override public void run() { boolean active = true; try { Thread.sleep(5000); } catch (InterruptedException e) { active = false; } while (active) { Transaction t = Cat.newTransaction("AlertApp", TimeHelper.getMinuteStr()); long current = System.currentTimeMillis(); try { MonitorRules monitorRules = m_appRuleConfigManager.getMonitorRules(); Map<String, Rule> rules = monitorRules.getRules(); for (Entry<String, Rule> entry : rules.entrySet()) { try { processRule(entry.getValue()); } catch (Exception e) { Cat.logError(e); } } t.setStatus(Transaction.SUCCESS); } catch (Exception e) { t.setStatus(e); Cat.logError(e); } finally { t.complete(); } long duration = System.currentTimeMillis() - current; try { if (duration < DURATION) { Thread.sleep(DURATION - duration); } } catch (InterruptedException e) { active = false; } } }