@Override
protected void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> requests, EmsBean bean) {
super.getValues(report, requests, bean);
EmsAttribute loadAttribute = bean.getAttribute(LOAD_NAME);
Object loadValue = loadAttribute.refresh();
EmsAttribute dataFileLocationAttribute = bean.getAttribute(DATA_FILE_LOCATIONS_NAME);
Object dataFileLocationValue = dataFileLocationAttribute.refresh();
double load = 0;
if (loadValue != null && dataFileLocationValue != null && dataFileLocationValue instanceof String[]) {
//Please visit for details: https://issues.apache.org/jira/browse/CASSANDRA-2749
//The average usage of all partitions with the data will be reported.
//Cassandra selects the partition with most free space for SStable flush and compaction.
load = Double.parseDouble(loadValue.toString());
load = load / 1024d; //transform in MB
}
for (MeasurementScheduleRequest request : requests) {
if (OWNERSHIP_METRIC_NAME.equals(request.getName()) && host != null) {
EmsAttribute attribute = bean.getAttribute(OWNERSHIP_METRIC_NAME);
Object valueObject = attribute.refresh();
if (valueObject instanceof Map<?, ?>) {
@SuppressWarnings("unchecked")
Map<InetAddress, Float> ownership = (Map<InetAddress, Float>) valueObject;
Float value = ownership.get(host);
if (value == null) {