af022721ac2ded96c740168f75f51a5459cb7fb7
[rrdtool.git] / NEWS
1 #####################################
2 Major Changes between 1.4.x and ...
3 -------------------------------------
4 $Id$
5
6 RRD Graph
7 ---------
8 * GRAD element for graph, it acts more or less like an AREA,
9   except you can specify a second color and a height which is used to
10   create a gradient from one color to the next
11   by Rian Shelley
12
13 * RRDcached awareness. Instead of just flushing the file, data can now
14   be pulled in from remote RRDcached instances.
15
16 RRDcached
17 ----------
18 * New FETCH command allowing rrd_fetch to operate through the daemon and
19   thus work remotely. By Florian Forster
20
21
22
23
24 #####################################
25 Major Changes between 1.3.x and 1.4.x
26 -------------------------------------
27
28 RRD Caching Daemon (rrdcached)
29 ------------------------------
30 by Florian Forster and Kevin Brintnall
31
32 The RRD Caching Daemon can dramatically improve the 'update' performance
33 of your system.  Due to file handling overheads, the time it takes todo one
34 update is virtually the same as to doing two updates in a row.
35
36 The Cache Daemon intercepts rrdtool update calls, assembling multiple
37 updates before writing them to the actual rrd file. When calling rrdtool
38 graph in such a setup, the command will tell the daemon to flush out all
39 pending updates for the rrd files, required to draw the graph.
40
41 See rrdcached documentation.
42
43 RRD Dumping and Restoring (rrdtool dump/restore)
44 ------------------------------------------------
45 by Tobi Oetiker
46
47 The output of rrdtool dump has been adjusted to be simpler to parse by
48 existing xml parsers.
49
50 The restore core has been completely re-written yet again and is now relying
51 on an incremental xml parser. This has the advantage that the memory
52 consumption while restoring xml files is only slightly larger than the
53 resulting rrd file. Which is much less than the requirements of the 1.3 and
54 even 1.2
55
56 RRD Graphing functions (rrdtool graph)
57 --------------------------------------
58 by Martin Sperl
59
60 * VDEF PERCENTNAN (a PRECENT that ignores NAN)
61
62 * CDEF PREDICT and PREDICTSIGMA functions for on-the-fly
63   data prediction without the need to modify existing rrd files as it is
64   required for HoltWinters.
65
66 * LibDBI integration provides a path to read data directly of a supported
67   SQL database into rrdtool graph. See rrdgraph_libdbi documentation.
68
69 Miscellaneous Changes
70 ---------------------
71 * graph legends can now be placed left, right or above the graph with the
72   new --legend-direction and --legend-positon placement options. 
73   by Melchior Rabe
74
75 * switched to using automake 1.11 which provides a 'silent' build process,
76   causing errors and warnings to stand out much more than before.
77   by Tobi Oetiker
78
79 * switched from intltoolize to autopoint for the i18n configuration.
80   by Tobi Oetiker
81
82 * new graph option --grid-dash on:off to configure the dash length
83   in the grid painted over the graph by Tobi Oetiker
84
85 * lua bindings for rrdtool
86   by Fidelis Assis
87
88 * various improvements to rrd_open functions and mmap handling
89   by Daniel Pocock
90
91 * allow the HW smoothing window size to be set to 0 with rrdtool tune
92   by sylvain luiset
93
94 * new graph option --border to set the 3d border width 
95   by Bernhard Reutner-Fischer
96
97 * draw different color markers (enable with --dynamic-labels) depending on the
98   type of element in the graph by Loïc Tortay
99
100 for more detail see the CHANGES file.
101
102 #####################################
103 Major Changes between 1.2.x and 1.3.x
104 -------------------------------------
105
106 NEW Fast file access methods (Bernhard Fischer / Tobi Oetiker)
107 ----------------------------
108 * introduced file-accessor functions rrd_read/rrd_seek/rrd_write
109
110 * implemented full mmap-based file access with madvise hints for
111   improved scalability, much reduced memory-footprint and much less
112   blocking while accessing the disk
113
114 * implemented optional full file-descriptor access instead of FILE*
115   access
116
117 NEW Graphing (Tobi Oetiker)
118 ------------
119 * libart has been replaced by cairo/pango
120
121 * pango markup is supported (--pango-markup)
122
123 * full grid fitting
124
125 * --graph-render-mode=mono for non anti aliased graphing
126
127 * --font-render-mode=mono for non anti aliased fonts
128
129 * fonts come through fontconfig, use the Pango font naming scheme
130   -> 'Times 20' ... it is not possible to use true-type fonts
131   directly anymore.
132
133 * Tabs are position independent.
134
135 * TRENDNAN filter that ignores NAN values while calculating the
136   TREND data. (Timo Stripf)
137
138 * --full-size-mode to specify the outer border of the image and not
139   just of the graphing canvas (Matthew Chambers)
140
141 * TEXTALIGN command to alter default text alignment behavior
142
143 * C API in-memory graphing with rrd_graph_v (Evan Miller)
144
145 * draw dashed lines in graphs (Thomas Gutzler)
146
147 * new interface graphv which returns information using the rrd_info
148   interface (Tobi Oetiker and Mark Plaksin)
149
150 * improved horizontal grid. Have a bit more grid lines and y-axis
151   labels while keeping them far enough apart to not run into each
152   other.
153
154 NEW Forecasting (Evan Miller)
155 ---------------
156 * the new MHWPREDICT consolidation function uses a variation of the
157   Holt-Winters method. It is a drop-in replacement for HWPREDICT,
158   and is better suited for data whose seasonal variations grow or
159   shrink in proportion to the average.
160
161 * If you create an RRD with the new MHWPREDICT function, the
162   resulting rrd file will be version 0004 and can only be used in
163   rrdtool 1.3.
164
165 Rewrites
166 --------
167 * rrd_restore now uses libxml for parsing which makes things much
168   more tolerant towards xml variations. The old code could mostly
169   just parse the XML as it was output by rrdtool dump. See also:
170   the note at the bottom of this document. (by Florian octo
171   Forster)
172
173 * rrd_update rewritten to make it more modular. Fixed two
174   longstanding HW bugs in the process (Evan Miller)
175
176 Internationalization (Takao Fujiwara and Tobi Oetiker)
177 --------------------
178 * The help output by rrdtool has been internationalized. There are
179   no real translations included with rrdtool yet, contributions are
180   welcome.
181
182 * The internationalization will only be compiled if libintl and
183   friends are available on your system. Use the configure option
184   --disable-libintl if you want to disable this feature
185
186 Language Bindings
187 -----------------
188 * ruby rrd_fetch will return step as a last property -- Mike Perham
189
190 RRDtool dump / restore incompatibility
191 --------------------------------------
192 * rrdtool dump 1.3 does emit completely legal XML. Basically this
193   means that it contains an XML header and a DOCTYPE definition.
194   Unfortunately this causes older versions of rrdtool restore to be
195   unhappy.
196
197 * To restore a new dump with an old rrdtool restore version, either
198   remove the XML header and the doctype by hand (both on the first
199   line of the dump) or use rrdtool dump --no-header.
200
201
202 ######################################################################################
203 Major Changes between 1.0.x and 1.2.x
204 ======================================================================================
205 Graphing
206 --------
207
208 * rewritten graphics generation based on libart.
209   - anti-aliased output
210   - alpha transparency support
211   - truetype fonts
212  
213 * additional graphics formats: EPS, PDF, SVG
214
215 * extended multi-part documentation
216
217 * VDEF support; define and use variables.  Find, and use, the
218   maximum rate seen by rrdtool; compute and show the average
219
220 * Sliding window (trend) analysis
221   Compute a smoother average, for instance over the last 6 CDPs
222
223 * percentile (95th or other)
224   Remove peaks, 95 percent of all rates are at or below the
225   returned value
226
227 Logging
228 -------
229 * a second logging interface: rrdtool updatev
230   Verbose updating of the database; show CPDs being created
231
232 * Aberrant Behavior Detection with Holt-Winters Forecasting
233   Compare current data with expected data, detect and log when
234   the rates are outside expected levels
235
236 * COMPUTE data type for artificial data-sources calculating their
237   input using RPN math and data from the other data-sources.
238  
239 Incompatibilities
240 -----------------
241 * Colons in COMMENT arguments to rrdtool graph must be escaped with a backslash
242
243 * the --alt-y-mrtg option is gone or rather since 1.2.7 it is back but
244   without functionality.
245
246 * In pipe mode, rrdtool answers with OK only if it was successful with the
247   command. Otherwhise the answer will be ERROR...
248
249
250 Behind the Scenes
251 -----------------
252 * In order to support Holt-Winters and Calculated Datasources,
253   the rrdtool data format has changed. While the new version of rrdtool can
254   read files created with rrdtool 1.0.x. It is not possible to read files
255   created by rrdtool-1.2.x with rrdtool-1.0.x
256
257 * External libraries are not included with rrdtool anymore. This is in line
258   with todays trend of using shared libraries everywhere. With the exception
259   of the cgi library most things required by rrdtool will be found on every recent
260   system.
261
262 * Memory Mapped IO support for faster logging.