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