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