f4b51115ad77bac0972e6ada782ab7f007c27047
[rrdtool.git] / NEWS
1 RRDTOOL NEWS
2 ============
3
4 #####################################
5 Major Changes between 1.2.x and 1.3.x
6 -------------------------------------
7
8 RRdtool dump / restore Incompatibilities
9 ----------------------------------------
10 rrdtool dump 1.3 does emit completely legal xml. Basically this means that
11 it contains an xml header and a DOCTYPE definition. Unfortunately this
12 causes older versions of rrdtool restore to be unhappy.
13
14 To restore a new dump with ann old rrdtool restore version, either remove
15 the xml header and the doctype by hand (both on the first line of the dump)
16 or use rrdtool dump --no-header.
17
18 NEW File access methods (Bernhard Fischer)
19 -------------------
20 * introduced file-accessor functions rrd_read/rrd_seek/rrd_write
21 * implemented full mmap-based file access with madvise hints for improved
22   scalability, much reduced memory-footprint and much less blocking on
23   disk
24 * implemented optional full file-descriptor access instead of FILE* access
25
26 NEW Graphing (Tobi Oetiker)
27 --------
28 * libart has been replaced by cairo/pango
29 * pango markup is supported
30 * full gridfitting 
31 * --graph-render-mode=mono for non antialiased graphing
32 * --font-render-mode=mono for non antialiased fonts
33 * fonts come through fontconfig, use the Pango fontnameing
34   scheme -> 'Times 20' ... it is not possible to use
35   truetype fonts directly anymore.
36 * Tabs are position independent.
37 * TRENDNAN filter that ignores NAN values while caculating the TREND data. (Timo Stripf)
38 * --full-size-mode to specify the outer border of the image and not just of the graphing canvas (Matthew Chambers)
39 * TEXTALIGN command to alter default text alignment behaviour
40 * C API in-memory graphing with rrd_graph_v (Evan Miller)
41 * draw dashed lines in graphs (Thomas Gutzler)
42 * new interface graphv which returns inforamation using the rrd_info
43   interface (Tobi Oetiker and Mark Plaksin)
44
45 NEW Forecasting (Evan Miller)
46 -----------
47 * the new MHWPREDICT consolidation function uses a variation of the Holt-Winters
48   method. It is a drop-in replacement for HWPREDICT, and is better suited for
49   data whose seasonal variations grow or shrink in proportion to the average.
50
51 * If you create an RRD with the new MHWPREDICT function, the resulting
52   rrdfile will be version 0004 and can only be used in rrdtool 1.3.
53
54 Rewrites
55 --------
56 * rrd_restore now uses libxml for parsing which makes things much more
57   tolerant towards xml variations. The old code could mostly just parse the
58   xml as it was output by rrdtool dump. See also: 'incompatibilities' at the
59   top of this document. (by Florian octo Forster)
60
61 * rrd_update rewritten to make it more modular. Fixed two longstanding
62   HW bugs in the process (Evan Miller)
63
64 Internationalization (Takao Fujiwara and Tobi Oetiker)
65 --------------------
66 * The help output by rrdtool has been internationalized. There are no real
67   translations included with rrdtool yet, contributions are welcome.
68 * The internationalization will only be compiled if libintl and friends are
69   available on your system. Use the configure option --disable-libintl if
70   you want to disable this feature
71
72 Language Bindings
73 -----------------
74 * ruby rrd_fetch will return step as a last property -- Mike Perham
75
76 * python rrdtool.info does now conform with the data structure returned
77   by the other language bindings. This is incompatible with the
78   previous (broken) version --tobi
79
80 * python bindings got updatev support --tobi
81
82 * ruby, perl, python bindings support the new graphv interface --tobi
83
84 Locale Independent Numeric Input
85 --------------------------------
86 * Regardles of locale you are in, rrdtool always expects input to be numbers
87   (LC_NUMERIC) in C or POSIX locale for numbers. (not 1,1 but 1.1) this is
88   necessary to make things like RPN work as it uses , as a separator.
89
90 ######################################################################################
91 Major Changes between 1.0.x and 1.2.x
92 ======================================================================================
93 Graphing
94 --------
95
96 * rewritten graphics generation based on libart.
97   - anti-aliased output
98   - alpha transparency support
99   - truetype fonts
100  
101 * additional graphics formats: EPS, PDF, SVG
102
103 * extended multi-part documentation
104
105 * VDEF support; define and use variables.  Find, and use, the
106   maximum rate seen by rrdtool; compute and show the average
107
108 * Sliding window (trend) analysis
109   Compute a smoother average, for instance over the last 6 CDPs
110
111 * percentile (95th or other)
112   Remove peaks, 95 percent of all rates are at or below the
113   returned value
114
115 Logging
116 -------
117 * a second logging interface: rrdtool updatev
118   Verbose updating of the database; show CPDs being created
119
120 * Aberrant Behavior Detection with Holt-Winters Forecasting
121   Compare current data with expected data, detect and log when
122   the rates are outside expected levels
123
124 * COMPUTE data type for artificial data-sources calculating their
125   input using RPN math and data from the other data-sources.
126  
127 Incompatibilities
128 -----------------
129 * Colons in COMMENT arguments to rrdtool graph must be escaped with a backslash
130
131 * the --alt-y-mrtg option is gone or rather since 1.2.7 it is back but
132   without functionality.
133
134 * In pipe mode, rrdtool answers with OK only if it was successful with the
135   command. Otherwhise the answer will be ERROR...
136
137
138 Behind the Scenes
139 -----------------
140 * In order to support Holt-Winters and Calculated Datasources,
141   the rrdtool data format has changed. While the new version of rrdtool can
142   read files created with rrdtool 1.0.x. It is not possible to read files
143   created by rrdtool-1.2.x with rrdtool-1.0.x
144
145 * External libraries are not included with rrdtool anymore. This is in line
146   with todays trend of using shared libraries everywhere. With the exception
147   of the cgi library most things required by rrdtool will be found on every recent
148   system.
149
150 * Memory Mapped IO support for faster logging.