提交 42f35a95 编写于 作者: F Frankie Wu

fix historical report issue

上级 8dba38a5
......@@ -137,6 +137,7 @@ class StatusInfoCollector extends BaseVisitor {
MemoryMXBean bean = ManagementFactory.getMemoryMXBean();
Runtime runtime = Runtime.getRuntime();
memory.setMax(runtime.maxMemory());
memory.setTotal(runtime.totalMemory());
memory.setFree(runtime.freeMemory());
memory.setHeapUsage(bean.getHeapMemoryUsage().getUsed());
......
......@@ -36,6 +36,7 @@
<attribute name="usable" value-type="long" />
</entity>
<entity name="memory">
<attribute name="max" value-type="int" />
<attribute name="total" value-type="int" />
<attribute name="free" value-type="int" />
<attribute name="heap-usage" value-type="int" />
......
......@@ -26,6 +26,7 @@
<attribute name="usable" value-type="long" primitive="true" />
</entity>
<entity name="memory" class-name="MemoryInfo">
<attribute name="max" value-type="long" primitive="true" />
<attribute name="total" value-type="long" primitive="true" />
<attribute name="free" value-type="long" primitive="true" />
<attribute name="heap-usage" value-type="long" primitive="true" />
......
......@@ -17,7 +17,7 @@ public class IPSeekerManager {
String area = loc.getArea();
String country = loc.getCountry();
if (area.isEmpty() && country.isEmpty()) {
if (area.trim().isEmpty() && country.trim().isEmpty()) {
return "";
} else {
return area + "@" + country;
......
......@@ -29,24 +29,18 @@ public class HistoricalEventService extends BaseHistoricalModelService<EventRepo
protected EventReport buildModel(ModelRequest request) throws Exception {
String domain = request.getDomain();
long date = Long.parseLong(request.getProperty("date"));
EventReport report = getLocalReport(date, domain);
EventReport report;
// try remote report
if (report == null && !isLocalMode()) {
report = getRemoteReport(date, domain);
if (isLocalMode()) {
report = getReportFromLocalDisk(date, domain);
} else {
report = getReportFromDatabase(date, domain);
}
return report;
}
private EventReport getLocalReport(long timestamp, String domain) throws Exception {
Bucket<String> bucket = m_bucketManager.getReportBucket(timestamp, "event");
String xml = bucket.findById(domain);
return xml == null ? null : new DefaultXmlParser().parse(xml);
}
private EventReport getRemoteReport(long timestamp, String domain) throws Exception {
private EventReport getReportFromDatabase(long timestamp, String domain) throws Exception {
List<Report> reports = m_reportDao.findAllByPeriodDomainTypeName(new Date(timestamp), domain, 1, getName(),
ReportEntity.READSET_FULL);
DefaultXmlParser parser = new DefaultXmlParser();
......@@ -63,6 +57,13 @@ public class HistoricalEventService extends BaseHistoricalModelService<EventRepo
}
}
return merger.getEventReport();
return merger == null ? null :merger.getEventReport();
}
private EventReport getReportFromLocalDisk(long timestamp, String domain) throws Exception {
Bucket<String> bucket = m_bucketManager.getReportBucket(timestamp, "event");
String xml = bucket.findById(domain);
return xml == null ? null : new DefaultXmlParser().parse(xml);
}
}
......@@ -30,24 +30,18 @@ public class HistoricalHeartbeatService extends BaseHistoricalModelService<Heart
protected HeartbeatReport buildModel(ModelRequest request) throws Exception {
String domain = request.getDomain();
long date = Long.parseLong(request.getProperty("date"));
HeartbeatReport report = getLocalReport(date, domain);
HeartbeatReport report;
// try remote report
if (report == null && !isLocalMode()) {
report = getRemoteReport(date, domain);
if (isLocalMode()) {
report = getReportFromLocalDisk(date, domain);
} else {
report = getReportFromDatabase(date, domain);
}
return report;
}
private HeartbeatReport getLocalReport(long timestamp, String domain) throws Exception {
Bucket<String> bucket = m_bucketManager.getReportBucket(timestamp, "heartbeat");
String xml = bucket.findById(domain);
return xml == null ? null : new DefaultXmlParser().parse(xml);
}
private HeartbeatReport getRemoteReport(long timestamp, String domain) throws Exception {
private HeartbeatReport getReportFromDatabase(long timestamp, String domain) throws Exception {
List<Report> reports = m_reportDao.findAllByPeriodDomainTypeName(new Date(timestamp), domain, 1, getName(),
ReportEntity.READSET_FULL);
DefaultXmlParser parser = new DefaultXmlParser();
......@@ -64,6 +58,13 @@ public class HistoricalHeartbeatService extends BaseHistoricalModelService<Heart
}
}
return merger.getHeartbeatReport();
return merger == null ? null : merger.getHeartbeatReport();
}
private HeartbeatReport getReportFromLocalDisk(long timestamp, String domain) throws Exception {
Bucket<String> bucket = m_bucketManager.getReportBucket(timestamp, "heartbeat");
String xml = bucket.findById(domain);
return xml == null ? null : new DefaultXmlParser().parse(xml);
}
}
......@@ -29,24 +29,18 @@ public class HistoricalIpService extends BaseHistoricalModelService<IpReport> {
protected IpReport buildModel(ModelRequest request) throws Exception {
String domain = request.getDomain();
long date = Long.parseLong(request.getProperty("date"));
IpReport report = getLocalReport(date, domain);
IpReport report;
// try remote report
if (report == null && !isLocalMode()) {
report = getRemoteReport(date, domain);
if (isLocalMode()) {
report = getReportFromLocalDisk(date, domain);
} else {
report = getReportFromDatabase(date, domain);
}
return report;
}
private IpReport getLocalReport(long timestamp, String domain) throws Exception {
Bucket<String> bucket = m_bucketManager.getReportBucket(timestamp, "ip");
String xml = bucket.findById(domain);
return xml == null ? null : new DefaultXmlParser().parse(xml);
}
private IpReport getRemoteReport(long timestamp, String domain) throws Exception {
private IpReport getReportFromDatabase(long timestamp, String domain) throws Exception {
List<Report> reports = m_reportDao.findAllByPeriodDomainTypeName(new Date(timestamp), domain, 1, getName(),
ReportEntity.READSET_FULL);
DefaultXmlParser parser = new DefaultXmlParser();
......@@ -63,6 +57,13 @@ public class HistoricalIpService extends BaseHistoricalModelService<IpReport> {
}
}
return merger.getIpReport();
return merger == null ? null : merger.getIpReport();
}
private IpReport getReportFromLocalDisk(long timestamp, String domain) throws Exception {
Bucket<String> bucket = m_bucketManager.getReportBucket(timestamp, "ip");
String xml = bucket.findById(domain);
return xml == null ? null : new DefaultXmlParser().parse(xml);
}
}
......@@ -30,24 +30,18 @@ public class HistoricalProblemService extends BaseHistoricalModelService<Problem
protected ProblemReport buildModel(ModelRequest request) throws Exception {
String domain = request.getDomain();
long date = Long.parseLong(request.getProperty("date"));
ProblemReport report = getLocalReport(date, domain);
ProblemReport report;
// try remote report
if (report == null && !isLocalMode()) {
report = getRemoteReport(date, domain);
if (isLocalMode()) {
report = getReportFromLocalDisk(date, domain);
} else {
report = getReportFromDatabase(date, domain);
}
return report;
}
private ProblemReport getLocalReport(long timestamp, String domain) throws Exception {
Bucket<String> bucket = m_bucketManager.getReportBucket(timestamp, "problem");
String xml = bucket.findById(domain);
return xml == null ? null : new DefaultXmlParser().parse(xml);
}
private ProblemReport getRemoteReport(long timestamp, String domain) throws Exception {
private ProblemReport getReportFromDatabase(long timestamp, String domain) throws Exception {
List<Report> reports = m_reportDao.findAllByPeriodDomainTypeName(new Date(timestamp), domain, 1, getName(),
ReportEntity.READSET_FULL);
DefaultXmlParser parser = new DefaultXmlParser();
......@@ -64,6 +58,13 @@ public class HistoricalProblemService extends BaseHistoricalModelService<Problem
}
}
return merger.getProblemReport();
return merger == null ? null : merger.getProblemReport();
}
private ProblemReport getReportFromLocalDisk(long timestamp, String domain) throws Exception {
Bucket<String> bucket = m_bucketManager.getReportBucket(timestamp, "problem");
String xml = bucket.findById(domain);
return xml == null ? null : new DefaultXmlParser().parse(xml);
}
}
......@@ -29,24 +29,18 @@ public class HistoricalTransactionService extends BaseHistoricalModelService<Tra
protected TransactionReport buildModel(ModelRequest request) throws Exception {
String domain = request.getDomain();
long date = Long.parseLong(request.getProperty("date"));
TransactionReport report = getLocalReport(date, domain);
TransactionReport report;
// try remote report
if (report == null && !isLocalMode()) {
report = getRemoteReport(date, domain);
if (isLocalMode()) {
report = getReportFromLocalDisk(date, domain);
} else {
report = getReportFromDatabase(date, domain);
}
return report;
}
private TransactionReport getLocalReport(long timestamp, String domain) throws Exception {
Bucket<String> bucket = m_bucketManager.getReportBucket(timestamp, "transaction");
String xml = bucket.findById(domain);
return xml == null ? null : new DefaultXmlParser().parse(xml);
}
private TransactionReport getRemoteReport(long timestamp, String domain) throws Exception {
private TransactionReport getReportFromDatabase(long timestamp, String domain) throws Exception {
List<Report> reports = m_reportDao.findAllByPeriodDomainTypeName(new Date(timestamp), domain, 1, getName(),
ReportEntity.READSET_FULL);
DefaultXmlParser parser = new DefaultXmlParser();
......@@ -63,6 +57,13 @@ public class HistoricalTransactionService extends BaseHistoricalModelService<Tra
}
}
return merger.getTransactionReport();
return merger == null ? null : merger.getTransactionReport();
}
private TransactionReport getReportFromLocalDisk(long timestamp, String domain) throws Exception {
Bucket<String> bucket = m_bucketManager.getReportBucket(timestamp, "transaction");
String xml = bucket.findById(domain);
return xml == null ? null : new DefaultXmlParser().parse(xml);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册