Changeset 539 for DCWoRMS/trunk/build/classes/simulator/stats/implementation/out/StringSerializer.java
- Timestamp:
- 10/31/12 13:52:06 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/trunk/build/classes/simulator/stats/implementation/out/StringSerializer.java
r477 r539 11 11 import simulator.stats.implementation.GSSAccumulatorsStats; 12 12 import simulator.stats.implementation.JobStats; 13 import simulator.stats.implementation.ResourceEnergyStats; 13 import simulator.stats.implementation.ResourceAirFlowStats; 14 import simulator.stats.implementation.ResourcePowerStats; 14 15 import simulator.stats.implementation.ResourceStats; 15 16 import simulator.stats.implementation.ResourceUsageStats; … … 258 259 259 260 public Object visit(ResourceUsageStats resourceUsageStats) { 260 Map<Long, Integer> resourceUsage = resourceUsageStats.getUsage();261 Map<Long, Double> resourceUsage = resourceUsageStats.getHistory(); 261 262 262 263 int mapSize = resourceUsage.size(); … … 297 298 buffer.append(resourceUsageStats.getResourceName()); 298 299 buffer.append(fieldSeparator); 299 Integervalue = resourceUsage.get(timestamp);300 Double value = resourceUsage.get(timestamp); 300 301 buffer.append(timestamp); 301 302 buffer.append(fieldSeparator); … … 306 307 307 308 } 308 309 buffer.append("mean: " + resourceUsageStats.getMeanUsage()); 310 buffer.append(System.getProperty("line.separator")); 311 return buffer.toString(); 312 } 313 314 public Object visit(ResourceEnergyStats resourceEnergyStats) { 315 Map<Long, Double> resourceEnergy = resourceEnergyStats.getEnergy(); 309 if(resourceUsage.size() > 0){ 310 buffer.append("mean: " + resourceUsageStats.getMeanValue()); 311 buffer.append(System.getProperty("line.separator")); 312 } 313 return buffer.toString(); 314 } 315 316 public Object visit(ResourcePowerStats resourceEnergyStats) { 317 Map<Long, Double> resourceEnergy = resourceEnergyStats.getHistory(); 316 318 317 319 int mapSize = resourceEnergy.size(); … … 361 363 362 364 } 363 buffer.append("mean: "+resourceEnergyStats.getMeanUsage() + " sum: " +resourceEnergyStats.getSumUsage()); 364 buffer.append(System.getProperty("line.separator")); 365 366 if(resourceEnergy.size() > 0) { 367 buffer.append("mean: "+resourceEnergyStats.getMeanValue() + " sum: " +resourceEnergyStats.getSumValue()); 368 buffer.append(System.getProperty("line.separator")); 369 } 370 371 return buffer.toString(); 372 } 373 374 public Object visit(ResourceAirFlowStats resourceAirFlowStats) { 375 Map<Long, Double> resourceAirFlow = resourceAirFlowStats.getHistory(); 376 377 int mapSize = resourceAirFlow.size(); 378 /* 379 * FIXME: 380 * Integer.MAX_VALUE = 2147483647. We assume, that each line contains 381 * max 30 signs - this gives max 71582788 lines. If resourceUsage map 382 * contains more elements then we have a problem, because content of 383 * resourceUsage map will not fit in the buffer. 384 * This will need further attention in the future. 385 */ 386 int maxSize = (Integer.MAX_VALUE / 30 ) - 1; 387 if(mapSize >= maxSize){ 388 log.error("Resource usage data is to long to fit in the buffer."); 389 return null; 390 } 391 392 int size = 30 * resourceAirFlow.size(); 393 394 StringBuffer buffer = null; 395 396 if(printedHeaders.add(resourceAirFlowStats.getUsageType())) { 397 buffer = new StringBuffer(size + 42); 398 String[] headers = resourceAirFlowStats.getHeaders(); 399 for(int i = 0; i < headers.length; i++) 400 { 401 buffer.append(headers[i]); 402 buffer.append(fieldSeparator); 403 } 404 buffer.append(System.getProperty("line.separator")); 405 } else { 406 buffer = new StringBuffer(size); 407 } 408 409 410 for (Long timestamp : resourceAirFlow.keySet()) { 411 412 buffer.append(resourceAirFlowStats.getResourceName()); 413 buffer.append(fieldSeparator); 414 Double value = resourceAirFlow.get(timestamp); 415 buffer.append(timestamp); 416 buffer.append(fieldSeparator); 417 buffer.append(DataCenterWorkloadSimulator.DFAULT_NUMBER_FORMAT 418 .format(value)); 419 buffer.append(fieldSeparator); 420 buffer.append(System.getProperty("line.separator")); 421 422 } 423 424 if(resourceAirFlow.size() > 0) { 425 buffer.append("mean: "+resourceAirFlowStats.getMeanValue() + " sum: " +resourceAirFlowStats.getSumValue()); 426 buffer.append(System.getProperty("line.separator")); 427 } 365 428 366 429 return buffer.toString();
Note: See TracChangeset
for help on using the changeset viewer.