public DatabaseStats getBtreeStatsUncached() throws Exception { // fast stats does not provide detailed Btree structure. // This is invasive and will affect performance. return database.getStats(new StatsConfig().setFast(false)); }
private EnvironmentStats getEnvironmentStats(boolean fast) { StatsConfig config = new StatsConfig(); config.setFast(fast); return environment.getStats(config); }
public String getStats(String storeName, boolean fast) { try { if(environments.containsKey(storeName)) { StatsConfig config = new StatsConfig(); config.setFast(fast); Environment env = environments.get(storeName); return env.getStats(config).toString(); } else { // return empty string if environment not created yet return ""; } } catch(DatabaseException e) { throw new VoldemortException(e); } }
public DatabaseStats getStats(boolean setFast) { try { StatsConfig config = new StatsConfig(); config.setFast(setFast); return this.getBdbDatabase().getStats(config); } catch(DatabaseException e) { this.bdbEnvironmentStats.reportException(e); logger.error(e); throw new VoldemortException(e); } }
private EnvironmentStats getStats(Environment environment) { StatsConfig config = new StatsConfig(); config.setFast(true); return environment.getStats(config); }
/** * Helper for creating a StatsConfig object to use as an operation * parameter. */ private StatsConfig getStatsConfig(Object[] params) { StatsConfig statsConfig = new StatsConfig(); if ((params != null) && (params.length > 0) && (params[0] != null)) { Boolean clear = (Boolean) params[0]; statsConfig.setClear(clear.booleanValue()); } if ((params != null) && (params.length > 1) && (params[1] != null)) { Boolean fast = (Boolean) params[1]; statsConfig.setFast(fast.booleanValue()); } return statsConfig; }
/** * Helper for creating a StatsConfig object to use as an operation * parameter. */ protected StatsConfig getStatsConfig(Object[] params) { StatsConfig statsConfig = new StatsConfig(); if ((params != null) && (params.length > 0) && (params[0] != null)) { Boolean clear = (Boolean) params[0]; statsConfig.setClear(clear.booleanValue()); } if ((params != null) && (params.length > 1) && (params[1] != null)) { Boolean fast = (Boolean) params[1]; statsConfig.setFast(fast.booleanValue()); } return statsConfig; } }
@Override public BackendStats getEntryStatistics(BackendStatsConfig config) { StatsConfig statsConfig = new StatsConfig() .setFast(config.onlyCollectFast()) .setClear(config.resetStatsAfterCollection()) ; final long start = System.currentTimeMillis(); BDBBackendStats stats = new BDBBackendStats(config, start); stats.db = _store.getStats(statsConfig); stats.env = _store.getEnvironment().getStats(statsConfig); // don't accept "0 msecs" as answer :) stats.setTimeTakenMsecs(Math.max(1L, System.currentTimeMillis() - start)); return stats; }
public static Map<String,Map<String,Object>> getEnvironmentStatistics(Environment environment, boolean reset) { StatsConfig config = new StatsConfig(); config.setClear(reset); config.setFast(false); EnvironmentStats stats = environment.getStats(config); Collection<StatGroup> statGroups = stats.getStatGroups(); return getStatsFromStatGroup(statGroups); }
public static Map<String,Object> getTransactionStatistics(Environment environment, boolean reset) { StatsConfig config = new StatsConfig(); config.setClear(reset); config.setFast(false); final TransactionStats stats = environment.getTransactionStats(config); Map<String,Object> results = new LinkedHashMap<>(); results.put(TXN_ACTIVE.getName(), stats.getNActive()); results.put(TXN_BEGINS.getName(), stats.getNBegins()); results.put(TXN_COMMITS.getName(), stats.getNCommits()); results.put(TXN_ABORTS.getName(), stats.getNAborts()); results.put(TXN_XAPREPARES.getName(), stats.getNXAPrepares()); results.put(TXN_XACOMMITS.getName(), stats.getNXACommits()); results.put(TXN_XAABORTS.getName(), stats.getNXAAborts()); return results; }
protected BackendStats _getStats(Database db, BackendStatsConfig config, boolean includeEnvStats) { StatsConfig statsConfig = new StatsConfig() .setFast(config.onlyCollectFast()) .setClear(config.resetStatsAfterCollection()) ; /* 16-May-2013, tatu: Would be great to be able to remove/clear deprecated * entries here... alas, no mutators, so need to leave them as is, * for now. */ // Should we require creationTime to be accessed via TimeMaster? BDBBackendStats stats = new BDBBackendStats(config, System.currentTimeMillis()); final long start = System.currentTimeMillis(); stats.db = db.getStats(statsConfig); if (includeEnvStats) { stats.env = db.getEnvironment().getStats(statsConfig); } // let's not accept "no time taken" as valid, always at least 1 msec: final long taken = System.currentTimeMillis() - start; stats.setTimeTakenMsecs(Math.max(1L, taken)); return stats; }
public static Map<String,Object> getDatabaseStatistics(Environment environment, String database, boolean reset) { DatabaseConfig dbConfig = new DatabaseConfig(); dbConfig.setReadOnly(true); DbInternal.setUseExistingConfig(dbConfig, true); try (Database db = environment.openDatabase(null, database, dbConfig)) { StatsConfig config = new StatsConfig(); config.setClear(reset); config.setFast(false); BtreeStats stats = (BtreeStats) db.getStats(config); Map<String, Object> results = new TreeMap<>(); results.put(BTREE_BIN_COUNT.getName(), stats.getBottomInternalNodeCount()); results.put(BTREE_DELETED_LN_COUNT.getName(), stats.getDeletedLeafNodeCount()); results.put(BTREE_IN_COUNT.getName(), stats.getInternalNodeCount()); results.put(BTREE_LN_COUNT.getName(), stats.getLeafNodeCount()); results.put(BTREE_MAINTREE_MAXDEPTH.getName(), stats.getMainTreeMaxDepth()); results.put(BTREE_INS_BYLEVEL.getName(), Arrays.asList(stats.getINsByLevel())); results.put(BTREE_BINS_BYLEVEL.getName(), Arrays.asList(stats.getBINsByLevel())); results.put(BTREE_BIN_ENTRIES_HISTOGRAM.getName(), Arrays.asList(stats.getBINEntriesHistogram())); results.put(BTREE_RELATCHES_REQUIRED.getName(), stats.getRelatches()); results.put(BTREE_ROOT_SPLITS.getName(), stats.getRootSplits()); return results; } }
statsConfig.setFast(false);