- Timestamp:
- 01/28/13 10:18:30 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
DCWoRMS/trunk/src/simulator/stats/implementation/out/StringSerializer.java
r543 r805 14 14 import simulator.stats.implementation.ResourcePowerStats; 15 15 import simulator.stats.implementation.ResourceStats; 16 import simulator.stats.implementation.ResourceTemperatureStats; 16 17 import simulator.stats.implementation.ResourceUsageStats; 17 18 import simulator.stats.implementation.TaskStats; … … 429 430 return buffer.toString(); 430 431 } 432 433 public Object visit(ResourceTemperatureStats resourceTemperatureStats) { 434 Map<Long, Double> resourceTemperature = resourceTemperatureStats.getHistory(); 435 436 int mapSize = resourceTemperature.size(); 437 /* 438 * FIXME: 439 * Integer.MAX_VALUE = 2147483647. We assume, that each line contains 440 * max 30 signs - this gives max 71582788 lines. If resourceUsage map 441 * contains more elements then we have a problem, because content of 442 * resourceUsage map will not fit in the buffer. 443 * This will need further attention in the future. 444 */ 445 int maxSize = (Integer.MAX_VALUE / 30 ) - 1; 446 if(mapSize >= maxSize){ 447 log.error("Resource temperature data is to long to fit in the buffer."); 448 return null; 449 } 450 451 int size = 30 * resourceTemperature.size(); 452 453 StringBuffer buffer = null; 454 455 if(printedHeaders.add(resourceTemperatureStats.getUsageType())) { 456 buffer = new StringBuffer(size + 42); 457 String[] headers = resourceTemperatureStats.getHeaders(); 458 for(int i = 0; i < headers.length; i++) 459 { 460 buffer.append(headers[i]); 461 buffer.append(fieldSeparator); 462 } 463 buffer.append(System.getProperty("line.separator")); 464 } else { 465 buffer = new StringBuffer(size); 466 } 467 468 469 for (Long timestamp : resourceTemperature.keySet()) { 470 471 buffer.append(resourceTemperatureStats.getResourceName()); 472 buffer.append(fieldSeparator); 473 Double value = resourceTemperature.get(timestamp); 474 buffer.append(timestamp); 475 buffer.append(fieldSeparator); 476 buffer.append(DataCenterWorkloadSimulator.DFAULT_NUMBER_FORMAT 477 .format(value)); 478 buffer.append(fieldSeparator); 479 buffer.append(System.getProperty("line.separator")); 480 481 } 482 483 if(resourceTemperature.size() > 0) { 484 buffer.append("mean: "+resourceTemperatureStats.getMeanValue() + " sum: " +resourceTemperatureStats.getSumValue()); 485 buffer.append(System.getProperty("line.separator")); 486 } 487 488 return buffer.toString(); 489 } 490 431 491 432 492 public Object visit(GSSAccumulatorsStats accStats) {
Note: See TracChangeset
for help on using the changeset viewer.