我编写了一些Java代码,通过它我可以从Hyperic Server获取指标以进行某些操作。我无法获取这些指标的价值。
对于eq我有度量CPU空闲但当我使用List<Data Point> dp= m1.getDataPoint()
时m1
是度量CPU空闲的度量数据对象。在输出中,列表dp
的大小为0
。
除了“可用性”之外,我遇到了所有指标的问题。我该怎么办?
我还检查了图形界面中的时间间隔;它显示相应的值。
代码是
// m_rrc is resource ( Process Server) on agent
for (int z = 0; z < m_rrrc.size(); z++) {
System.out.println(m_rrrc.get(z).getName())
MetricsResponse m_mr= m_a.getMetrics(m_rrrc.get(z));
// m_m is metric like CPU idle CPU utilization, System CPU
List<Metric> m_m = m_mr.getMetric();
for (int a = 0; a < m_m.size(); a++) {
MetricDataResponse m_mdr = m_mdapi.getData(m_m.get(a), 1309147200,1309147800);
MetricData m_md = m_mdr.getMetricData();
System.out.println(m_md.getMetricName());
List<DataPoint> m_dp = m_md.getDataPoint();
System.out.println(m_dp.size());
for (int b = 0; b < m_dp.size(); b++) {
System.out.println("abc");
System.out.println(m_dp.get(b).getValue());
System.out.println("i am Prannoy Mittal");
}
}
}
此处所有指标的输出中的数据点列表大小为零
答案 0 :(得分:0)
以下是Hyperic(http://svn.hyperic.org/projects/hqapi/trunk/src/org/hyperic/hq/hqapi1/test/MetricData_test.java)的示例源代码,如果您可以在代码中添加'assertEquals',我相信您会看到问题所在。祝你好运
public void testGetEnabledMetricData() throws Exception {
MetricApi api = getApi().getMetricApi();
Resource r = getLocalPlatformResource(false, false);
MetricsResponse resp = api.getEnabledMetrics(r);
hqAssertSuccess(resp);
assertTrue("No enabled metrics found for " + r.getName(),
resp.getMetric().size() > 0);
Metric m = resp.getMetric().get(0);
long end = System.currentTimeMillis();
long start = end - (8 * 60 * 60 * 1000);
MetricDataResponse dataResponse = api.getMetricData(m.getId(),
start, end);
hqAssertSuccess(dataResponse);
assertTrue("No metric data found for " + m.getName(),
dataResponse.getMetricData().getDataPoint().size() > 0);
for (DataPoint d : dataResponse.getMetricData().getDataPoint()) {
assertTrue("Metric point timestamp greater than end time. ts=" +
d.getTimestamp() + " end=" + end,
d.getTimestamp() <= end);
assertTrue("Metric point timestamp less than start time ts=" +
d.getTimestamp() + " start=" + start,
d.getTimestamp() >= start);
assertTrue("Metric value less than zero",
d.getValue() >= 0);
}
}