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