ec85692d9a480391f86f76925dd3aab8dac37a43
[rrdtool.git] / NEWS
1 RRDTOOL NEWS
2 ============
3
4 #####################################
5 Major Changes between 1.2.x and 1.3.x
6 -------------------------------------
7
8 RRdtool dump / restore Incompatibilities
9 ----------------------------------------
10 rrdtool dump 1.3 does emit completely legal xml. Basically this means that
11 it contains an xml header and a DOCTYPE definition. Unfortunately this
12 causes older versions of rrdtool restore to be unhappy.
13
14 To restore a new dump with ann old rrdtool restore version, either remove
15 the xml header and the doctype by hand (both on the first line of the dump)
16 or use rrdtool dump --no-header.
17
18 NEW File access methods (Bernhard Fischer)
19 -------------------
20 * introduced file-accessor functions rrd_read/rrd_seek/rrd_write
21 * implemented full mmap-based file access with madvise hints for improved
22   scalability, much reduced memory-footprint and much less blocking on
23   disk
24 * implemented optional full file-descriptor access instead of FILE* access
25
26 NEW Graphing (Tobi Oetiker)
27 --------
28 * libart has been replaced by cairo/pango
29 * pango markup is supported (--pango-markup)
30 * full gridfitting 
31 * --graph-render-mode=mono for non antialiased graphing
32 * --font-render-mode=mono for non antialiased fonts
33 * fonts come through fontconfig, use the Pango fontnameing
34   scheme -> 'Times 20' ... it is not possible to use
35   truetype fonts directly anymore.
36 * Tabs are position independent.
37 * TRENDNAN filter that ignores NAN values while caculating the TREND data. (Timo Stripf)
38 * --full-size-mode to specify the outer border of the image and not just of the graphing canvas (Matthew Chambers)
39 * TEXTALIGN command to alter default text alignment behaviour
40 * C API in-memory graphing with rrd_graph_v (Evan Miller)
41 * draw dashed lines in graphs (Thomas Gutzler)
42 * new interface graphv which returns inforamation using the rrd_info
43   interface (Tobi Oetiker and Mark Plaksin)
44 * improved horizontal grid. Have a bit more grid lines and y-axis labels
45   while keeping them fahr enough apart to not run into each other.
46
47 NEW Forecasting (Evan Miller)
48 -----------
49 * the new MHWPREDICT consolidation function uses a variation of the Holt-Winters
50   method. It is a drop-in replacement for HWPREDICT, and is better suited for
51   data whose seasonal variations grow or shrink in proportion to the average.
52
53 * If you create an RRD with the new MHWPREDICT function, the resulting
54   rrdfile will be version 0004 and can only be used in rrdtool 1.3.
55
56 Rewrites
57 --------
58 * rrd_restore now uses libxml for parsing which makes things much more
59   tolerant towards xml variations. The old code could mostly just parse the
60   xml as it was output by rrdtool dump. See also: 'incompatibilities' at the
61   top of this document. (by Florian octo Forster)
62
63 * rrd_update rewritten to make it more modular. Fixed two longstanding
64   HW bugs in the process (Evan Miller)
65
66 Internationalization (Takao Fujiwara and Tobi Oetiker)
67 --------------------
68 * The help output by rrdtool has been internationalized. There are no real
69   translations included with rrdtool yet, contributions are welcome.
70 * The internationalization will only be compiled if libintl and friends are
71   available on your system. Use the configure option --disable-libintl if
72   you want to disable this feature
73
74 Language Bindings
75 -----------------
76 * ruby rrd_fetch will return step as a last property -- Mike Perham
77
78 * python rrdtool.info does now conform with the data structure returned
79   by the other language bindings. This is incompatible with the
80   previous (broken) version --tobi
81
82 * python bindings got updatev support --tobi
83
84 * ruby, perl, python bindings support the new graphv interface --tobi
85
86 Locale Independent Numeric Input
87 --------------------------------
88 * Regardles of locale you are in, rrdtool always expects input to be numbers
89   (LC_NUMERIC) in C or POSIX locale for numbers. (not 1,1 but 1.1) this is
90   necessary to make things like RPN work as it uses , as a separator.
91
92 ######################################################################################
93 Major Changes between 1.0.x and 1.2.x
94 ======================================================================================
95 Graphing
96 --------
97
98 * rewritten graphics generation based on libart.
99   - anti-aliased output
100   - alpha transparency support
101   - truetype fonts
102  
103 * additional graphics formats: EPS, PDF, SVG
104
105 * extended multi-part documentation
106
107 * VDEF support; define and use variables.  Find, and use, the
108   maximum rate seen by rrdtool; compute and show the average
109
110 * Sliding window (trend) analysis
111   Compute a smoother average, for instance over the last 6 CDPs
112
113 * percentile (95th or other)
114   Remove peaks, 95 percent of all rates are at or below the
115   returned value
116
117 Logging
118 -------
119 * a second logging interface: rrdtool updatev
120   Verbose updating of the database; show CPDs being created
121
122 * Aberrant Behavior Detection with Holt-Winters Forecasting
123   Compare current data with expected data, detect and log when
124   the rates are outside expected levels
125
126 * COMPUTE data type for artificial data-sources calculating their
127   input using RPN math and data from the other data-sources.
128  
129 Incompatibilities
130 -----------------
131 * Colons in COMMENT arguments to rrdtool graph must be escaped with a backslash
132
133 * the --alt-y-mrtg option is gone or rather since 1.2.7 it is back but
134   without functionality.
135
136 * In pipe mode, rrdtool answers with OK only if it was successful with the
137   command. Otherwhise the answer will be ERROR...
138
139
140 Behind the Scenes
141 -----------------
142 * In order to support Holt-Winters and Calculated Datasources,
143   the rrdtool data format has changed. While the new version of rrdtool can
144   read files created with rrdtool 1.0.x. It is not possible to read files
145   created by rrdtool-1.2.x with rrdtool-1.0.x
146
147 * External libraries are not included with rrdtool anymore. This is in line
148   with todays trend of using shared libraries everywhere. With the exception
149   of the cgi library most things required by rrdtool will be found on every recent
150   system.
151
152 * Memory Mapped IO support for faster logging.