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