"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "clc/modules/cluster-manager/src/main/java/com/eucalyptus/cluster/callback/reporting/FullTableScanAbsoluteMetricConverter.java" between
eucalyptus-4.4.1.tar.gz and eucalyptus-4.4.2.tar.gz

About: Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) is an infrastructure for implementing "cloud computing" on clusters (compatible with Amazon’s EC2 interface, but designed to support multiple client-side interfaces).

FullTableScanAbsoluteMetricConverter.java  (eucalyptus-4.4.1):FullTableScanAbsoluteMetricConverter.java  (eucalyptus-4.4.2)
skipping to change at line 55 skipping to change at line 55
protected static List<AbsoluteMetricQueueItem> dealWithAbsoluteMetrics(Iterabl e<AbsoluteMetricQueueItem> dataBatch) { protected static List<AbsoluteMetricQueueItem> dealWithAbsoluteMetrics(Iterabl e<AbsoluteMetricQueueItem> dataBatch) {
List<AbsoluteMetricQueueItem> regularMetrics = Lists.newArrayList(); List<AbsoluteMetricQueueItem> regularMetrics = Lists.newArrayList();
List<SimpleAbsoluteMetricHistory> absoluteMetricsToInsert = Lists.newArrayLi st(); List<SimpleAbsoluteMetricHistory> absoluteMetricsToInsert = Lists.newArrayLi st();
SortedAbsoluteMetrics sortedAbsoluteMetrics = sortAbsoluteMetrics(dataBatch) ; SortedAbsoluteMetrics sortedAbsoluteMetrics = sortAbsoluteMetrics(dataBatch) ;
regularMetrics.addAll(sortedAbsoluteMetrics.getRegularMetrics()); regularMetrics.addAll(sortedAbsoluteMetrics.getRegularMetrics());
AbsoluteMetricMap absoluteMetricMap = sortedAbsoluteMetrics.getAbsoluteMetri cMap(); AbsoluteMetricMap absoluteMetricMap = sortedAbsoluteMetrics.getAbsoluteMetri cMap();
try (final TransactionResource db = Entities.transactionFor(AbsoluteMetricHi story.class)) { try (final TransactionResource db = Entities.transactionFor(AbsoluteMetricHi story.class)) {
int count = 0; int count = 0;
Criteria criteria = Entities.createCriteria(AbsoluteMetricHistory.class); Criteria criteria = Entities.createCriteria(AbsoluteMetricHistory.class);
ScrollableResults absoluteMetrics = criteria.setCacheMode(CacheMode.IGNORE final ScrollableResults absoluteMetrics = criteria.setCacheMode(CacheMode.
).scroll(ScrollMode.FORWARD_ONLY); IGNORE).scroll(ScrollMode.FORWARD_ONLY);
while (absoluteMetrics.next()) { try {
AbsoluteMetricHistory absoluteMetricHistory = (AbsoluteMetricHistory) ab while ( absoluteMetrics.next( ) ) {
soluteMetrics.get(0); AbsoluteMetricHistory absoluteMetricHistory = (AbsoluteMetricHistory)
if (absoluteMetricMap.containsKey( absoluteMetrics.get( 0 );
absoluteMetricHistory.getNamespace(), absoluteMetricHistory.getMetricN if ( absoluteMetricMap.containsKey(
ame(), absoluteMetricHistory.getNamespace( ), absoluteMetricHistory.getMe
absoluteMetricHistory.getDimensionName(), absoluteMetricHistory.getDim tricName( ),
ensionValue())) { absoluteMetricHistory.getDimensionName( ), absoluteMetricHistory.g
MetricsAndOtherFields metricsAndOtherFields = etDimensionValue( ) ) ) {
absoluteMetricMap.getMetricsAndOtherFields(absoluteMetricHistory.get MetricsAndOtherFields metricsAndOtherFields =
Namespace(), absoluteMetricMap.getMetricsAndOtherFields( absoluteMetricHistor
absoluteMetricHistory.getMetricName(), absoluteMetricHistory.getDi y.getNamespace( ),
mensionName(), absoluteMetricHistory.getMetricName( ), absoluteMetricHistor
absoluteMetricHistory.getDimensionValue()); y.getDimensionName( ),
Map<TimestampAndMetricValue, MetricDatum> metricDatumMap = metricsAndO absoluteMetricHistory.getDimensionValue( ) );
therFields.getMetricDatumMap(); Map<TimestampAndMetricValue, MetricDatum> metricDatumMap = metricsAn
SequentialMetrics sequentialMetrics = calculateSequentialMetrics(absol dOtherFields.getMetricDatumMap( );
uteMetricHistory, metricDatumMap, metricsAndOtherFields.getAccountId(), metricsA SequentialMetrics sequentialMetrics = calculateSequentialMetrics( ab
ndOtherFields.getRelativeMetricName()); soluteMetricHistory, metricDatumMap, metricsAndOtherFields.getAccountId( ), metr
absoluteMetricMap.removeEntries(absoluteMetricHistory.getNamespace(), icsAndOtherFields.getRelativeMetricName( ) );
absoluteMetricHistory.getMetricName(), absoluteMetricMap.removeEntries( absoluteMetricHistory.getNamespace(
absoluteMetricHistory.getDimensionName(), absoluteMetricHistory.getD ), absoluteMetricHistory.getMetricName( ),
imensionValue()); absoluteMetricHistory.getDimensionName( ), absoluteMetricHistory
for (AbsoluteMetricQueueItem regularMetric: sequentialMetrics.getRegul .getDimensionValue( ) );
arMetrics()) { for ( AbsoluteMetricQueueItem regularMetric : sequentialMetrics.getR
if (AbsoluteMetricHelper.AWS_EBS_NAMESPACE.equals(regularMetric.getN egularMetrics( ) ) {
amespace())) { if ( AbsoluteMetricHelper.AWS_EBS_NAMESPACE.equals( regularMetric.
if (AbsoluteMetricHelper.VOLUME_READ_OPS_METRIC_NAME.equals(regula getNamespace( ) ) ) {
rMetric.getMetricDatum().getMetricName())) { // special case if ( AbsoluteMetricHelper.VOLUME_READ_OPS_METRIC_NAME.equals( re
regularMetrics.add(AbsoluteMetricHelper.createVolumeThroughputMe gularMetric.getMetricDatum( ).getMetricName( ) ) ) { // special case
tric(regularMetric.getAccountId(), regularMetric.getNamespace(), regularMetric.g regularMetrics.add( AbsoluteMetricHelper.createVolumeThroughpu
etMetricDatum())); tMetric( regularMetric.getAccountId( ), regularMetric.getNamespace( ), regularMe
} else if (AbsoluteMetricHelper.VOLUME_TOTAL_READ_WRITE_TIME_METRI tric.getMetricDatum( ) ) );
C_NAME.equals(regularMetric.getMetricDatum().getMetricName())) { } else if ( AbsoluteMetricHelper.VOLUME_TOTAL_READ_WRITE_TIME_ME
AbsoluteMetricHelper.convertVolumeTotalReadWriteTimeToVolumeIdle TRIC_NAME.equals( regularMetric.getMetricDatum( ).getMetricName( ) ) ) {
Time(regularMetric.getMetricDatum()); AbsoluteMetricHelper.convertVolumeTotalReadWriteTimeToVolumeId
leTime( regularMetric.getMetricDatum( ) );
}
} }
regularMetrics.add( regularMetric );
}
absoluteMetricHistory.setTimestamp( sequentialMetrics.getUpdateTimes
tamp( ) );
absoluteMetricHistory.setLastMetricValue( sequentialMetrics.getUpdat
eValue( ) );
if ( ++count % AbsoluteMetricQueue.ABSOLUTE_METRIC_NUM_DB_OPERATIONS
_UNTIL_SESSION_FLUSH == 0 ) {
Entities.flushSession( AbsoluteMetricHistory.class );
Entities.clearSession( AbsoluteMetricHistory.class );
} }
regularMetrics.add(regularMetric);
}
absoluteMetricHistory.setTimestamp(sequentialMetrics.getUpdateTimestam
p());
absoluteMetricHistory.setLastMetricValue(sequentialMetrics.getUpdateVa
lue());
if (++count % AbsoluteMetricQueue.ABSOLUTE_METRIC_NUM_DB_OPERATIONS_UN
TIL_SESSION_FLUSH == 0) {
Entities.flushSession(AbsoluteMetricHistory.class);
Entities.clearSession(AbsoluteMetricHistory.class);
} }
} }
} finally {
absoluteMetrics.close( );
} }
db.commit(); db.commit();
} }
// Now parse entries only in the map... // Now parse entries only in the map...
for (AbsoluteMetricMap.NamespaceMetricNameAndDimension namespaceMetricNameAn dDimension: absoluteMetricMap.keySet()) { for (AbsoluteMetricMap.NamespaceMetricNameAndDimension namespaceMetricNameAn dDimension: absoluteMetricMap.keySet()) {
AbsoluteMetricHistory absoluteMetricHistory = new AbsoluteMetricHistory(); AbsoluteMetricHistory absoluteMetricHistory = new AbsoluteMetricHistory();
absoluteMetricHistory.setNamespace(namespaceMetricNameAndDimension.getName space()); absoluteMetricHistory.setNamespace(namespaceMetricNameAndDimension.getName space());
absoluteMetricHistory.setMetricName(namespaceMetricNameAndDimension.getMet ricName()); absoluteMetricHistory.setMetricName(namespaceMetricNameAndDimension.getMet ricName());
absoluteMetricHistory.setDimensionName(namespaceMetricNameAndDimension.get DimensionName()); absoluteMetricHistory.setDimensionName(namespaceMetricNameAndDimension.get DimensionName());
absoluteMetricHistory.setDimensionValue(namespaceMetricNameAndDimension.ge tDimensionValue()); absoluteMetricHistory.setDimensionValue(namespaceMetricNameAndDimension.ge tDimensionValue());
 End of changes. 4 change blocks. 
48 lines changed or deleted 52 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)