本文整理汇总了Java中org.jrobin.core.RrdBackendFactory类的典型用法代码示例。如果您正苦于以下问题:Java RrdBackendFactory类的具体用法?Java RrdBackendFactory怎么用?Java RrdBackendFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RrdBackendFactory类属于org.jrobin.core包,在下文中一共展示了RrdBackendFactory类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: Statistics
import org.jrobin.core.RrdBackendFactory; //导入依赖的package包/类
/**
* Creates a new instance of this class.
*
* @param name the name of the statistics, must be a simple name without spaces and special characters
* @param label the label to be shown on the generated statistics graphics
* @param unit the unit to be shown on the generated statistics graphics
* @param description the description to be shown on the UI
* @param valueProvider the provider for statistics values
* @param storageDir where the JRobin file should be stored
* @param resolutionSeconds the resolution in seconds
* @param rrdBackendFactory the backend factory to be used
* @throws IOException if a JRobin file access error occurred
*/
public Statistics(String name, String label, String unit, String description, ValueProvider valueProvider, String storageDir,
int resolutionSeconds, RrdBackendFactory rrdBackendFactory) throws IOException {
if (name == null || name.length() > 20) {
throw new IllegalArgumentException("JRobin names cannot exceed 20 characaters!");
}
_name = Utils.checkNotNull(name);
_label = Utils.checkNotNull(label);
_unit = Utils.checkNotNull(unit);
_description = Utils.checkNotNull(description);
_valueProvider = Utils.checkNotNull(valueProvider);
_resolutionSeconds = resolutionSeconds;
_rrdBackendFactory = Utils.checkNotNull(rrdBackendFactory);
_rrdPath = storageDir != null ? new File(storageDir, name + ".rrd").getCanonicalPath() : name + ".rrd";
initRrdDb(false);
}
示例2: stopListening
import org.jrobin.core.RrdBackendFactory; //导入依赖的package包/类
public void stopListening() {
if (_db == null) return;
try {
_db.close();
} catch (IOException ioe) {
_log.error("Error closing", ioe);
}
_rate.setSummaryListener(null);
if (!_isPersistent) {
// close() does not release resources for memory backend
try {
((RrdMemoryBackendFactory)RrdBackendFactory.getFactory(RrdMemoryBackendFactory.NAME)).delete(_db.getPath());
} catch (RrdException re) {}
}
_db = null;
}
示例3: initBackendFactory
import org.jrobin.core.RrdBackendFactory; //导入依赖的package包/类
/**
* JavaMelody uses a custom RrdNioBackendFactory,
* in order to use its own and cancelable file sync timer.
* @param timer Timer
* @throws IOException e
*/
public static void initBackendFactory(Timer timer) throws IOException {
RrdNioBackend.setFileSyncTimer(timer);
try {
if (!RrdBackendFactory.getDefaultFactory().getFactoryName()
.equals(RrdNioBackendFactory.FACTORY_NAME)) {
RrdBackendFactory.registerAndSetAsDefaultFactory(new RrdNioBackendFactory());
}
} catch (final RrdException e) {
throw createIOException(e);
}
}
示例4: start
import org.jrobin.core.RrdBackendFactory; //导入依赖的package包/类
public void start() {
try {
// Set that RRD files will be stored in the database
RrdBackendFactory.registerAndSetAsDefaultFactory(new RrdSqlBackendFactory());
// After 10 milliseconds begin sampling in 60 second intervals. Note: We need to start
// asap so that the UI can access this info upon start up
taskEngine.scheduleAtFixedRate(samplingTask, 10, STAT_RESOULUTION * 1000L);
}
catch (RrdException e) {
Log.error("Error initializing RrdbPool.", e);
}
}
示例5: testBackends
import org.jrobin.core.RrdBackendFactory; //导入依赖的package包/类
@Test
public void testBackends() throws Exception {
final RrdBackendFactory[] factories = new RrdBackendFactory[] {
new RrdFileBackendFactory(),
new RrdNioBackendFactory(),
new RrdNioByteBufferBackendFactory(),
new RrdJRobin14FileBackendFactory(LockMode.EXCEPTION_IF_LOCKED),
new RrdJRobin14FileBackendFactory(LockMode.WAIT_IF_LOCKED),
new RrdJRobin14FileBackendFactory(LockMode.NO_LOCKS)
};
for (final RrdBackendFactory factory : factories) {
// LogUtils.infof(this, "starting with backend factory %s", factory);
m_sineFull.delete();
m_sineSource.delete();
long factoryStart = System.nanoTime();
createMockSineRrds(factory);
for (int i = 0; i < 10; i++) {
final File newFile = m_converter.createTempRrd(m_sineFull);
try {
m_converter.consolidateRrdFile(m_sineSource, newFile);
} finally {
newFile.delete();
}
}
long nanos = System.nanoTime() - factoryStart;
LogUtils.infof(this, "factory %s took %f seconds", factory, (nanos / 1000000000D));
}
}
示例6: execute
import org.jrobin.core.RrdBackendFactory; //导入依赖的package包/类
public void execute(final String[] args) throws ParseException, ConverterException, RrdException {
if (args.length == 0) {
LogUtils.errorf(this, "no files or directories specified!");
System.exit(1);
}
final Options options = new Options();
options.addOption("h", "help", false, "This help.");
options.addOption("f", "factory", true, "The JRobin factory to use. (Default: " + DEFAULT_JROBIN_FACTORY + ")");
options.addOption("l", "log", true, "The log level to use. (Default: " + DEFAULT_LOG_LEVEL + ")");
options.addOption("t", "threads", true, "Number of threads to start. (Default: " + DEFAULT_NUMBER_OF_THREADS + ")");
options.addOption("c", "clean", false, "Remove old single-metric JRBs and temporal files. (Use it only after migrating all your files)");
options.addOption("v", "validate", false, "Validate current JRBs ffiles.");
final CommandLineParser parser = new GnuParser();
final CommandLine cmd = parser.parse(options, args);
LogUtils.setLevel(Level.valueOf(cmd.getOptionValue("l", DEFAULT_LOG_LEVEL)));
RrdBackendFactory.setDefaultFactory(cmd.getOptionValue("f", DEFAULT_JROBIN_FACTORY));
final Set<File> rrds = new ConcurrentSkipListSet<File>();
if (cmd.hasOption("h")) {
new HelpFormatter().printHelp("jrobin-converter [options] [file-or-directory1] [...file-or-directoryN]", options);
System.exit(1);
}
if (cmd.getArgList().size() == 0) {
LogUtils.infof(this, "No files or directories specified! Exiting.");
System.exit(0);
}
if (cmd.hasOption("c")) {
new RrdCleaner().execute(cmd);
System.exit(1);
}
if (cmd.hasOption("v")) {
new RrdValidator().execute(cmd);
System.exit(1);
}
int threads = DEFAULT_NUMBER_OF_THREADS;
if (cmd.hasOption("t")) {
try {
threads = Integer.valueOf(cmd.getOptionValue("t"));
} catch (final NumberFormatException e) {
LogUtils.warnf(JRobinConverter.class, e, "failed to format -t %s to a number", cmd.getOptionValue("t"));
}
}
final ExecutorService executor = Executors.newFixedThreadPool(threads);
for (final Object arg : cmd.getArgList()) {
LogUtils.infof(this, "Scanning %s for storeByGroup data.", arg);
final File f = new File((String)arg);
if (f.exists()) {
if (f.isDirectory()) {
rrds.addAll(findGroupRrds(f));
for (final File rrdFile : findGroupRrds(f)) {
consolidateRrd(executor, rrdFile);
}
} else {
consolidateRrd(executor, f);
}
}
}
LogUtils.infof(this, "Finished scanning for storeByGroup RRDs. (Total RRD count: %d)", m_total.get());
executor.shutdown();
}
示例7: setFactory
import org.jrobin.core.RrdBackendFactory; //导入依赖的package包/类
@BeforeClass
public static void setFactory() throws RrdException {
RrdBackendFactory.setDefaultFactory("MNIO");
LogUtils.setLevel(Level.DEBUG);
}
示例8: beforeClass
import org.jrobin.core.RrdBackendFactory; //导入依赖的package包/类
@BeforeClass
public static void beforeClass() throws Exception {
if (!RrdBackendFactory.isInstanceCreated()) {
RrdBackendFactory.setDefaultFactory("FILE");
}
}
示例9: execute
import org.jrobin.core.RrdBackendFactory; //导入依赖的package包/类
public void execute(final String[] args) throws ParseException, ConverterException, RrdException {
if (args.length == 0) {
LogUtils.errorf(this, "no files or directories specified!");
System.exit(1);
}
final Options options = new Options();
options.addOption("h", "help", false, "This help.");
options.addOption("f", "factory", true, "The JRobin factory to use. (Default: " + DEFAULT_JROBIN_FACTORY + ")");
options.addOption("l", "log", true, "The log level to use. (Default: " + DEFAULT_LOG_LEVEL + ")");
options.addOption("t", "threads", true, "Number of threads to start. (Default: " + DEFAULT_NUMBER_OF_THREADS + ")");
final CommandLineParser parser = new GnuParser();
final CommandLine cmd = parser.parse(options, args);
LogUtils.setLevel(Level.valueOf(cmd.getOptionValue("l", DEFAULT_LOG_LEVEL)));
RrdBackendFactory.setDefaultFactory(cmd.getOptionValue("f", DEFAULT_JROBIN_FACTORY));
final Set<File> rrds = Collections.synchronizedSet(new TreeSet<File>());
if (cmd.hasOption("h")) {
new HelpFormatter().printHelp("jrobin-converter [options] [file-or-directory1] [...file-or-directoryN]", options);
System.exit(1);
}
if (cmd.getArgList().size() == 0) {
LogUtils.infof(this, "No files or directories specified! Exiting.");
System.exit(0);
}
int threads = DEFAULT_NUMBER_OF_THREADS;
if (cmd.hasOption("t")) {
try {
threads = Integer.valueOf(cmd.getOptionValue("t"));
} catch (final NumberFormatException e) {
LogUtils.warnf(JRobinConverter.class, e, "failed to format -t %s to a number", cmd.getOptionValue("t"));
}
}
final ExecutorService executor = Executors.newFixedThreadPool(threads);
for (final Object arg : cmd.getArgList()) {
LogUtils.infof(this, "Scanning %s for storeByGroup data.", arg);
final File f = new File((String)arg);
if (f.exists()) {
if (f.isDirectory()) {
rrds.addAll(findGroupRrds(f));
for (final File rrdFile : findGroupRrds(f)) {
consolidateRrd(executor, rrdFile);
}
} else {
consolidateRrd(executor, f);
}
}
}
LogUtils.infof(this, "Finished scanning for storeByGroup RRDs. (Total RRD count: %d)", m_total.get());
executor.shutdown();
}