JRobin :: RRDTool Choice for the Java World :: FAQ
Keywords: jrobin,java,api,rrdtool,rrd,round,robin,database,round robin database,mrtg

HOME | Library | JRobin API | Utilities | Support | About Us | Forum
Support
Forum
FAQ
Bug tracker
RRDTool manpages
> | # FAQ RRDTool is so famous and so powerful. What is the purpose of JRobin? We do believe that Java developers should have a tool equivalent to RRDTool, but written in pure Java. Java application which uses RRDTool as a data back-end is not portable, RRDTool is written in C and therefore has to be recompiled for each specific OS. Such combination of programming technologies (Java + C) is still possible, but not in accordance with the basic rule of Java programming: code once, run everywhere. However, we did not try to "reinvent the wheel". We took a deep look into RRDTool, we used the same logic and exactly the same concept and definitions, we insisted on the same RRD output for the same RRD input but we did nothing else. Be honest and tell me: Is there anything I can do with RRDTool that I cannot do with JRobin? There is no core RRDTool operation (create, update, fetch) that cannot be performed with JRobin with the same effects/results. Graphing portion of JRobin is still evolving. There are still some minor differences between graphing capabilities of RRDTool and JRobin, and if you are using some 'fancy' graphing features of RRDTool chances are that you won't find an easy way to implement them with JRobin. And to be really honest, we have to mention that JRobin has some graphing features you won't find in RRDTool. The whole RRD concept is new to me. What should I read first? JRobin is made for people with some basic knowledge of Tobi Oetiker's RRDTool. If you are able to use the most important RRDTool commands (create, update, fetch and graph), you are probably ready to start using JRobin right away. If you are a novice RRDTool/JRobin user, try to read this tutorial first (it's all about RRDTool, but all that you learn there is applicable to JRobin as well). Then check our quick reference. I have some Java application which uses RRDTool for data storing and aggregation. How much time will it take to port my app to JRobin? If you have a solid knowledge of RRDTool concepts and logic, you'll be able to translate your RRDTool commands to JRobin java code in a very short time (simple apps won't take more than a few hours of coding and testing). Take a look at this quick reference and check if our estimation is correct. I tried JRobin and I like it but I have hundreds of RRD files created with RRDTool. I would like to switch from RRDTool to JRobin, but I want to convert my existing RRDTool files to JRobin's native format. Do the following. First, dump your RRD file created with RRDTool to XML file:
>     rrdtool dump old.rrd > old.xml
> Then create a small Java program with the following code in your main() method:
>     RrdDb newRrd = new RrdDb("new.rrd", "old.xml");
>     newRrd.close();
Run the main() method, and you'll find the "new.rrd" file side by side with your "old.rrd" file, both containing the same data in it. If you have a really big XML file (> 1Mb), provide more memory to your JVM (-Xmx128m switch would help for XML files of several Megs, just place it somewhere in your java command line). JRobin 1.3.x is shipped with a convertor utility which will probably serve for the purpose. Why does JRobin uses it's own format for RRD files? Because RRDTool files are not portable (did you know that?). RRD files created with RRDTool for Linux cannot be updated with RRDTool for Windows. There is no such thing as "platform independent definition of RRDTool binary file format" which can be used as a starting point for JRobin development. Some people tried to use RRDTool's binary file (RRD) format in their Java projects - but it seems to me that no significant progress was made (jrrd ended with version 0.1 in year 2001). Is JRobin faster than RRDTool? Of course - not :) JRobin basically does the some kind of job as RRDTool. Only a fool could expect from any Java code to run as fast as its counterpart written in plain C. But chances are that with proper coding style and careful application design you won't notice this. Some users of JRobin also used native-code java compiler and reported that native-compiled JRobin is faster than RRDTool. I think I've just found a bug in JRobin. What should I do with it? Report the bug here. Development team will be happy to see it :) I have made a nice application with JRobin. Anyone interested? We would like to hear (and learn) from successful JRobin users and your comments are important to us. We would also like to see your app, or at least a screenshot of it. If you agree, we'll put the screenshot and a link to your site on our "JRobin world" page. And if you put our logo on your JRobin based site, it will be highly appreciated. I tried to use JRobin but I still have problems. Is there anybody out there to help me? Try to post a topic to JRobin Forum. You'll probably get the response from developers or other JRobin users participating in the Forum. I would like to suggest a new feature for some future release of JRobin. How? JRobin Forum is a great place for this. Each new request will be seriously discussed. JRobin is written in Java. Any plans to port it to C#? No. One of the main goals of JRobin was to create a portable RRDTool equivalent which could run on any platform without recompilation. C# runs on MS Windows only. Back to the top Copyright © 2003, 2004 Sasa Markovic & Arne Vandamme. All Rights Reserved.