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