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