@Override public void execute(Output output, String... params) throws Exception { Value name = Value.indexOf(0, params); if (name.isEmptyString()) { output.line("No class name given. Try: doc <classname>"); return; } Injector.getAllLoadedClasses() .stream() .filter(c -> c.getName().toLowerCase().contains(name.asString().toLowerCase())) .forEach(c -> { output.line(c.getName()); output.separator(); for (Method m : c.getMethods()) { output.line(m.toString()); } output.blankLine(); }); }
private void outputAffectedRows(Output output, AtomicInteger rows) { output.separator(); output.apply("%s rows affected", rows.get()); output.blankLine(); }
output.blankLine(); for (Map.Entry<String, Tuple<String, String>> e : mongo.traceData.entrySet()) { output.line(e.getKey()); output.separator(); output.blankLine(); output.line("Query"); output.line(e.getValue().getFirst()); output.blankLine(); output.line("Report"); output.line(e.getValue().getSecond()); output.blankLine(); output.blankLine(); output.line("Where limit specifies the minimal query duration in milliseconds to be eligible for tracing."); output.line("Call 'mongo tracing' to view and reset trace data."); output.blankLine(); output.line("Mongo DB Statistics"); output.separator();
output.blankLine(); output.apply("Frequency Limited Tasks"); output.separator(); output.blankLine(); output.apply("Background Loops"); output.separator(); output.blankLine(); List<Operation> ops = Operation.getActiveOperations(); if (!ops.isEmpty()) { output.blankLine(); output.apply("Active Operations"); output.separator();
}); output.separator(); output.blankLine(); });
@Override public void execute(Output output, String... params) throws Exception { if (!redis.isConfigured()) { output.line("Redis is not configured..."); return; } if (params.length > 1 && "unlock".equals(params[0])) { output.line("Killing lock: " + params[1]); redis.unlock(params[1], true); } output.line("Redis Statistics"); output.separator(); for (Map.Entry<String, String> e : redis.getInfo().entrySet()) { output.apply("%-40s %40s", e.getKey(), e.getValue()); } output.blankLine(); output.line("Redis Locks (use redis unlock <lock> to forcefully remove a lock)"); output.separator(); for (Redis.LockInfo info : redis.getLockList()) { output.apply("%-45s %-5s %-25s %-15s", info.name, info.value, info.since != null ? info.since.toString() : "-", info.ttl != null ? info.ttl.toString() + "s" : "-"); } }
private void outputMapping(Output output, String name) { Class<? extends Entity> type = index.getType(name); EntityDescriptor ed = index.getDescriptor(type); GetMappingsResponse res = index.getClient() .admin() .indices() .prepareGetMappings(index.getIndexName(ed.getIndex())) .setTypes(ed.getType()) .execute() .actionGet(); try { ByteArrayOutputStream out = new ByteArrayOutputStream(); output.blankLine(); output.line(name); output.separator(); Iterator<ImmutableOpenMap<String, MappingMetaData>> outerIter = res.mappings().valuesIt(); while (outerIter.hasNext()) { ImmutableOpenMap<String, MappingMetaData> c = outerIter.next(); outputMapping(output, c); } output.line(new String(out.toByteArray(), Charsets.UTF_8)); } catch (IOException e) { output.line(Exceptions.handle(e).getMessage()); } }
@Override public void execute(Output output, String... params) { if (params.length == 2) { output.apply("Setting %s to: %s", params[0], params[1]); Log.setLevel(params[0], Level.toLevel(params[1])); output.blankLine(); } else { output.line("Usage: logger <name> <LEVEL>"); output.blankLine(); output.line("Known loggers:"); output.separator(); for (Log l : Log.getAllLoggers()) { output.line(l.getName()); } output.separator(); } }
@Override public void execute(Output output, String... params) { if (params.length > 0) { for (Cache<?, ?> c : CacheManager.getCaches()) { if (Value.indexOf(0, params).asString().equals(c.getName())) { output.apply("Flushing: %s", params[0]); c.clear(); } } } else { output.line("Use cache <name> to flush the given cache..."); } output.blankLine(); output.apply("%-53s %8s %8s %8s", "NAME", "SIZE", "MAX-SIZE", "HIT-RATE"); output.separator(); for (Cache<?, ?> c : CacheManager.getCaches()) { output.apply("%-53s %8d %8d %8d", c.getName(), c.getSize(), c.getMaxSize(), c.getHitRate()); } output.separator(); }
@Override public void execute(Output output, String... params) throws Exception { output.line(Product.getProduct().toString()); output.blankLine(); output.line("MODULES"); output.separator(); output.blankLine(); Product.getModules().forEach(m -> { output.line(m.getName()); output.line(m.getDetails()); output.blankLine(); }); output.separator(); }
@Override public void execute(Output output, String... params) throws Exception { output.blankLine(); output.apply("C O N S O L E - %s", Product.getProduct()); output.blankLine(); output.apply("%-20s %s", "CMD", "DESCRIPTION"); output.separator(); List<Command> parts = new ArrayList<>(ctx.getParts(Command.class)); parts.sort(Comparator.comparing(Command::getName)); for (Command cmd : parts) { output.apply("%-20s %s", cmd.getName(), cmd.getDescription()); } output.separator(); }
private void balance(Output output) { output.line("Enabling automatic allocation."); changeAllocationMode("all"); output.line("Enabled automatic allocation."); output.blankLine(); }
private void unbalance(Output output) { output.line("Disabling automatic allocation."); changeAllocationMode("none"); output.line("Disabled automatic allocation."); output.blankLine(); }