Committed by
Gerrit Code Review
Fixed bug ONOS-1676.
- Added comments and updated counters command display. - Modified Json output for counters command. - Fixed indentation and wrapped long code lines Change-Id: I4ccc7f67071ea587ee0b12e2f59582f5e5ca760f Change-Id: Id6cdeda344dd429e3a9f9ab7f027b45e7d6f293a Change-Id: I6b90a868cedfa405f8deabb1cee6988ba6c1f96e Change-Id: I93710bd69e266779220c5d1a240e6a06090da55c
Showing
3 changed files
with
63 additions
and
3 deletions
| ... | @@ -64,14 +64,44 @@ public class CountersListCommand extends AbstractShellCommand { | ... | @@ -64,14 +64,44 @@ public class CountersListCommand extends AbstractShellCommand { |
| 64 | return jsonCounters; | 64 | return jsonCounters; |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | + /** | ||
| 68 | + * Converts info for counters from different databases into a JSON object. | ||
| 69 | + * | ||
| 70 | + * @param partitionedDbCounters counters info | ||
| 71 | + * @param inMemoryDbCounters counters info | ||
| 72 | + */ | ||
| 73 | + private JsonNode jsonAllCounters(Map<String, Long> partitionedDbCounters, | ||
| 74 | + Map<String, Long> inMemoryDbCounters) { | ||
| 75 | + ObjectMapper mapper = new ObjectMapper(); | ||
| 76 | + ArrayNode jsonCounters = mapper.createArrayNode(); | ||
| 77 | + | ||
| 78 | + // Create a JSON node for partitioned database counter | ||
| 79 | + ObjectNode jsonPartitionedDatabaseCounters = mapper.createObjectNode(); | ||
| 80 | + jsonPartitionedDatabaseCounters.put("partitionedDatabaseCounters", | ||
| 81 | + partitionedDbCounters.toString()); | ||
| 82 | + jsonCounters.add(jsonPartitionedDatabaseCounters); | ||
| 83 | + // Create a JSON node for in-memory database counter | ||
| 84 | + ObjectNode jsonInMemoryDatabseCounters = mapper.createObjectNode(); | ||
| 85 | + jsonInMemoryDatabseCounters.put("inMemoryDatabaseCounters", | ||
| 86 | + inMemoryDbCounters.toString()); | ||
| 87 | + jsonCounters.add(jsonInMemoryDatabseCounters); | ||
| 88 | + | ||
| 89 | + return jsonCounters; | ||
| 90 | + } | ||
| 91 | + | ||
| 92 | + | ||
| 67 | @Override | 93 | @Override |
| 68 | protected void execute() { | 94 | protected void execute() { |
| 69 | StorageAdminService storageAdminService = get(StorageAdminService.class); | 95 | StorageAdminService storageAdminService = get(StorageAdminService.class); |
| 70 | - Map<String, Long> counters = storageAdminService.getCounters(); | 96 | + Map<String, Long> partitionedDatabaseCounters = storageAdminService.getPartitionedDatabaseCounters(); |
| 97 | + Map<String, Long> inMemoryDatabaseCounters = storageAdminService.getInMemoryDatabaseCounters(); | ||
| 71 | if (outputJson()) { | 98 | if (outputJson()) { |
| 72 | - print("%s", json(counters)); | 99 | + print("%s", jsonAllCounters(partitionedDatabaseCounters, inMemoryDatabaseCounters)); |
| 73 | } else { | 100 | } else { |
| 74 | - displayCounters(counters); | 101 | + print("Partitioned database counters:"); |
| 102 | + displayCounters(partitionedDatabaseCounters); | ||
| 103 | + print("In-memory database counters:"); | ||
| 104 | + displayCounters(inMemoryDatabaseCounters); | ||
| 75 | } | 105 | } |
| 76 | } | 106 | } |
| 77 | } | 107 | } | ... | ... |
| ... | @@ -40,12 +40,28 @@ public interface StorageAdminService { | ... | @@ -40,12 +40,28 @@ public interface StorageAdminService { |
| 40 | 40 | ||
| 41 | /** | 41 | /** |
| 42 | * Returns information about all the atomic counters in the system. | 42 | * Returns information about all the atomic counters in the system. |
| 43 | + * If 2 counters belonging to 2 different databases have the same name, | ||
| 44 | + * then only one counter from one database is returned. | ||
| 43 | * | 45 | * |
| 44 | * @return mapping from counter name to that counter's next value | 46 | * @return mapping from counter name to that counter's next value |
| 45 | */ | 47 | */ |
| 46 | Map<String, Long> getCounters(); | 48 | Map<String, Long> getCounters(); |
| 47 | 49 | ||
| 48 | /** | 50 | /** |
| 51 | + * Returns information about all the atomic partitioned database counters in the system. | ||
| 52 | + * | ||
| 53 | + * @return mapping from counter name to that counter's next value | ||
| 54 | + */ | ||
| 55 | + Map<String, Long> getPartitionedDatabaseCounters(); | ||
| 56 | + | ||
| 57 | + /** | ||
| 58 | + * Returns information about all the atomic in-memory database counters in the system. | ||
| 59 | + * | ||
| 60 | + * @return mapping from counter name to that counter's next value | ||
| 61 | + */ | ||
| 62 | + Map<String, Long> getInMemoryDatabaseCounters(); | ||
| 63 | + | ||
| 64 | + /** | ||
| 49 | * Returns all the transactions in the system. | 65 | * Returns all the transactions in the system. |
| 50 | * | 66 | * |
| 51 | * @return collection of transactions | 67 | * @return collection of transactions | ... | ... |
| ... | @@ -349,6 +349,20 @@ public class DatabaseManager implements StorageService, StorageAdminService { | ... | @@ -349,6 +349,20 @@ public class DatabaseManager implements StorageService, StorageAdminService { |
| 349 | } | 349 | } |
| 350 | 350 | ||
| 351 | @Override | 351 | @Override |
| 352 | + public Map<String, Long> getPartitionedDatabaseCounters() { | ||
| 353 | + Map<String, Long> counters = Maps.newHashMap(); | ||
| 354 | + counters.putAll(complete(partitionedDatabase.counters())); | ||
| 355 | + return counters; | ||
| 356 | + } | ||
| 357 | + | ||
| 358 | + @Override | ||
| 359 | + public Map<String, Long> getInMemoryDatabaseCounters() { | ||
| 360 | + Map<String, Long> counters = Maps.newHashMap(); | ||
| 361 | + counters.putAll(complete(inMemoryDatabase.counters())); | ||
| 362 | + return counters; | ||
| 363 | + } | ||
| 364 | + | ||
| 365 | + @Override | ||
| 352 | public Collection<Transaction> getTransactions() { | 366 | public Collection<Transaction> getTransactions() { |
| 353 | return complete(transactionManager.getTransactions()); | 367 | return complete(transactionManager.getTransactions()); |
| 354 | } | 368 | } | ... | ... |
-
Please register or login to post a comment