RRDTOOL NEWS ============ ##################################### Major Changes between 1.2.x and 1.3.x ------------------------------------- NEW Fast file access methods (Bernhard Fischer / Tobi Oetiker) ---------------------------- * introduced file-accessor functions rrd_read/rrd_seek/rrd_write * implemented full mmap-based file access with madvise hints for improved scalability, much reduced memory-footprint and much less blocking while accessing the disk * implemented optional full file-descriptor access instead of FILE* access NEW Graphing (Tobi Oetiker) ------------ * libart has been replaced by cairo/pango * pango markup is supported (--pango-markup) * full grid fitting * --graph-render-mode=mono for non anti aliased graphing * --font-render-mode=mono for non anti aliased fonts * fonts come through fontconfig, use the Pango font nameing scheme -> 'Times 20' ... it is not possible to use truetype fonts directly anymore. * Tabs are position independent. * TRENDNAN filter that ignores NAN values while calculating the TREND data. (Timo Stripf) * --full-size-mode to specify the outer border of the image and not just of the graphing canvas (Matthew Chambers) * TEXTALIGN command to alter default text alignment behavior * C API in-memory graphing with rrd_graph_v (Evan Miller) * draw dashed lines in graphs (Thomas Gutzler) * new interface graphv which returns information using the rrd_info interface (Tobi Oetiker and Mark Plaksin) * improved horizontal grid. Have a bit more grid lines and y-axis labels while keeping them far enough apart to not run into each other. NEW Forecasting (Evan Miller) --------------- * the new MHWPREDICT consolidation function uses a variation of the Holt-Winters method. It is a drop-in replacement for HWPREDICT, and is better suited for data whose seasonal variations grow or shrink in proportion to the average. * If you create an RRD with the new MHWPREDICT function, the resulting rrd file will be version 0004 and can only be used in rrdtool 1.3. Rewrites -------- * rrd_restore now uses libxml for parsing which makes things much more tolerant towards xml variations. The old code could mostly just parse the XML as it was output by rrdtool dump. See also: the note at the bottom of this document. (by Florian octo Forster) * rrd_update rewritten to make it more modular. Fixed two longstanding HW bugs in the process (Evan Miller) Internationalization (Takao Fujiwara and Tobi Oetiker) -------------------- * The help output by rrdtool has been internationalized. There are no real translations included with rrdtool yet, contributions are welcome. * The internationalization will only be compiled if libintl and friends are available on your system. Use the configure option --disable-libintl if you want to disable this feature Language Bindings ----------------- * ruby rrd_fetch will return step as a last property -- Mike Perham RRDtool dump / restore incompatibility -------------------------------------- * rrdtool dump 1.3 does emit completely legal XML. Basically this means that it contains an XML header and a DOCTYPE definition. Unfortunately this causes older versions of rrdtool restore to be unhappy. * To restore a new dump with an old rrdtool restore version, either remove the XML header and the doctype by hand (both on the first line of the dump) or use rrdtool dump --no-header. ###################################################################################### Major Changes between 1.0.x and 1.2.x ====================================================================================== Graphing -------- * rewritten graphics generation based on libart. - anti-aliased output - alpha transparency support - truetype fonts * additional graphics formats: EPS, PDF, SVG * extended multi-part documentation * VDEF support; define and use variables. Find, and use, the maximum rate seen by rrdtool; compute and show the average * Sliding window (trend) analysis Compute a smoother average, for instance over the last 6 CDPs * percentile (95th or other) Remove peaks, 95 percent of all rates are at or below the returned value Logging ------- * a second logging interface: rrdtool updatev Verbose updating of the database; show CPDs being created * Aberrant Behavior Detection with Holt-Winters Forecasting Compare current data with expected data, detect and log when the rates are outside expected levels * COMPUTE data type for artificial data-sources calculating their input using RPN math and data from the other data-sources. Incompatibilities ----------------- * Colons in COMMENT arguments to rrdtool graph must be escaped with a backslash * the --alt-y-mrtg option is gone or rather since 1.2.7 it is back but without functionality. * In pipe mode, rrdtool answers with OK only if it was successful with the command. Otherwhise the answer will be ERROR... Behind the Scenes ----------------- * In order to support Holt-Winters and Calculated Datasources, the rrdtool data format has changed. While the new version of rrdtool can read files created with rrdtool 1.0.x. It is not possible to read files created by rrdtool-1.2.x with rrdtool-1.0.x * External libraries are not included with rrdtool anymore. This is in line with todays trend of using shared libraries everywhere. With the exception of the cgi library most things required by rrdtool will be found on every recent system. * Memory Mapped IO support for faster logging.