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