@cryptotaxi247 / netdata-1 / commits / bb4aa949f

Prepare release 1.2.0

Costa Tsaousis (ktsaou) committed May 16, 2016 at 23:05 UTC bb4aa949f5ac825253d8adc6070661299abc1c3b
6 files changed +79 -272
.gitignore
+2
@@ -76,3 +76,5 @@ cmake_install.cmake
76 .jetbrains*
77
78 contrib/debian/changelog
79 +profile/benchmark-dictionary
80 +profile/benchmark-registry
ChangeLog
+67
@@ -1,3 +1,70 @@
1 +netdata (1.2.0) - 2016-05-16
2 +
3 + At a glance:
4 +
5 + - netdata is now 30% faster
6 + - netdata now has a registry (my-netdata dashboard menu)
7 + - netdata now monitors Linux Containers (docker, lxc, etc)
8 +
9 + IMPORTANT:
10 + This version requires libuuid. The package you need is:
11 +
12 + - uuid-dev (debian/ubuntu), or
13 + - libuuid-devel (centos/fedora/redhat)
14 +
15 + In detail:
16 +
17 + * netdata is now 30% faster !
18 +
19 + - Patches submitted by @fredericopissarra improved overall
20 + netdata performance by 10%.
21 +
22 + - A new improved search function in the internal indexes
23 + made all searches faster by 50%, resulting in about
24 + 20% better performance for the core of netdata.
25 +
26 + - More efficient threads locking in key components
27 + contributed to the overal efficiency.
28 +
29 + * netdata now has a CENTRAL REGISTRY !
30 +
31 + The central registry tracks all your netdata servers
32 + and bookmarks them for you at the 'my-netdata' menu
33 + on all dashboards.
34 +
35 + Every netdata can act as a registry, but there is also
36 + a global registry provided for free for all netdata users!
37 +
38 + * netdata now monitors CONTAINERS !
39 +
40 + docker, lxc, or anything else. For each container it monitors
41 + CPU, RAM, DISK I/O (network interfaces were already monitored)
42 +
43 + * apps.plugin: now uses linux capabilities by default
44 + without setuid to root
45 +
46 + * netdata has now an improved signal handler
47 + thanks to @simonnagl
48 +
49 + * API: new improved CORS support
50 +
51 + * SNMP: counter64 support fixed
52 +
53 + * MYSQL: more charts, about QCache, MyISAM key cache,
54 + InnoDB buffer pools, open files
55 +
56 + * DISK charts now show mount point when available
57 +
58 + * Dashboard: improved support for older web browsers
59 + and mobile web browsers (thanks to @simonnagl)
60 +
61 + * Multi-server dashboards now allow de-coupled refreshes for
62 + each chart, so that if one netdata has a network latency
63 + the other charts are not affected
64 +
65 + * Several other minor improvements and bugfixes
66 +
67 +
68 netdata (1.1.0) - 2016-04-20
69
70 Dozens of commits that improve netdata in several ways:
configure.ac
+4 -4
@@ -4,13 +4,13 @@
4 AC_PREREQ(2.60)
5
6 define([VERSION_MAJOR], [1])
7 -define([VERSION_MINOR], [1])
8 -define([VERSION_FIX], [1])
7 +define([VERSION_MINOR], [2])
8 +define([VERSION_FIX], [0])
9 define([VERSION_NUMBER], VERSION_MAJOR[.]VERSION_MINOR[.]VERSION_FIX)
10 -define([VERSION_SUFFIX], [_master])
10 +define([VERSION_SUFFIX], [])
11
12 dnl Set to "1" for a first RPM release of a new version
13 -PACKAGE_RPM_RELEASE="0.0.$(echo VERSION_SUFFIX | sed s/^_//)"
13 +PACKAGE_RPM_RELEASE="1"
14
15 AC_INIT([netdata], VERSION_NUMBER[]VERSION_SUFFIX)
16
netdata.spec.in
+5
@@ -100,6 +100,11 @@ rm -rf $RPM_BUILD_ROOT
100 %{_datadir}/%{name}/web
101
102 %changelog
103 +* Mon May 16 2016 Costa Tsaousis <costa@tsaousis.gr> - 1.2.0-1
104 +- netdata is now 30% faster.
105 +- netdata now has a registry (my-netdata menu on the dashboard).
106 +- netdata now monitors Linux containers.
107 +- Several more improvements, new features and bugfixes.
108 * Wed Apr 20 2016 Costa Tsaousis <costa@tsaousis.gr> - 1.1.0-1
109 - Several new features (IPv6, SYNPROXY, Users, Users Groups).
110 - A lot of bug fixes and optimizations.
node.d/node_modules/node-int64.js deleted
-268
@@ -1,268 +0,0 @@
1 -// Int64.js
2 -//
3 -// Copyright (c) 2012 Robert Kieffer
4 -// MIT License - http://opensource.org/licenses/mit-license.php
5 -
6 -/**
7 - * Support for handling 64-bit int numbers in Javascript (node.js)
8 - *
9 - * JS Numbers are IEEE-754 binary double-precision floats, which limits the
10 - * range of values that can be represented with integer precision to:
11 - *
12 - * 2^^53 <= N <= 2^53
13 - *
14 - * Int64 objects wrap a node Buffer that holds the 8-bytes of int64 data. These
15 - * objects operate directly on the buffer which means that if they are created
16 - * using an existing buffer then setting the value will modify the Buffer, and
17 - * vice-versa.
18 - *
19 - * Internal Representation
20 - *
21 - * The internal buffer format is Big Endian. I.e. the most-significant byte is
22 - * at buffer[0], the least-significant at buffer[7]. For the purposes of
23 - * converting to/from JS native numbers, the value is assumed to be a signed
24 - * integer stored in 2's complement form.
25 - *
26 - * For details about IEEE-754 see:
27 - * http://en.wikipedia.org/wiki/Double_precision_floating-point_format
28 - */
29 -
30 -// Useful masks and values for bit twiddling
31 -var MASK31 = 0x7fffffff, VAL31 = 0x80000000;
32 -var MASK32 = 0xffffffff, VAL32 = 0x100000000;
33 -
34 -// Map for converting hex octets to strings
35 -var _HEX = [];
36 -for (var i = 0; i < 256; i++) {
37 - _HEX[i] = (i > 0xF ? '' : '0') + i.toString(16);
38 -}
39 -
40 -//
41 -// Int64
42 -//
43 -
44 -/**
45 - * Constructor accepts any of the following argument types:
46 - *
47 - * new Int64(buffer[, offset=0]) - Existing Buffer with byte offset
48 - * new Int64(Uint8Array[, offset=0]) - Existing Uint8Array with a byte offset
49 - * new Int64(string) - Hex string (throws if n is outside int64 range)
50 - * new Int64(number) - Number (throws if n is outside int64 range)
51 - * new Int64(hi, lo) - Raw bits as two 32-bit values
52 - */
53 -var Int64 = module.exports = function(a1, a2) {
54 - if (a1 instanceof Buffer) {
55 - this.buffer = a1;
56 - this.offset = a2 || 0;
57 - } else if (Object.prototype.toString.call(a1) == '[object Uint8Array]') {
58 - // Under Browserify, Buffers can extend Uint8Arrays rather than an
59 - // instance of Buffer. We could assume the passed in Uint8Array is actually
60 - // a buffer but that won't handle the case where a raw Uint8Array is passed
61 - // in. We construct a new Buffer just in case.
62 - this.buffer = new Buffer(a1);
63 - this.offset = a2 || 0;
64 - } else {
65 - this.buffer = this.buffer || new Buffer(8);
66 - this.offset = 0;
67 - this.setValue.apply(this, arguments);
68 - }
69 -};
70 -
71 -
72 -// Max integer value that JS can accurately represent
73 -Int64.MAX_INT = Math.pow(2, 53);
74 -
75 -// Min integer value that JS can accurately represent
76 -Int64.MIN_INT = -Math.pow(2, 53);
77 -
78 -Int64.prototype = {
79 -
80 - constructor: Int64,
81 -
82 - /**
83 - * Do in-place 2's compliment. See
84 - * http://en.wikipedia.org/wiki/Two's_complement
85 - */
86 - _2scomp: function() {
87 - var b = this.buffer, o = this.offset, carry = 1;
88 - for (var i = o + 7; i >= o; i--) {
89 - var v = (b[i] ^ 0xff) + carry;
90 - b[i] = v & 0xff;
91 - carry = v >> 8;
92 - }
93 - },
94 -
95 - /**
96 - * Set the value. Takes any of the following arguments:
97 - *
98 - * setValue(string) - A hexidecimal string
99 - * setValue(number) - Number (throws if n is outside int64 range)
100 - * setValue(hi, lo) - Raw bits as two 32-bit values
101 - */
102 - setValue: function(hi, lo) {
103 - var negate = false;
104 - if (arguments.length == 1) {
105 - if (typeof(hi) == 'number') {
106 - // Simplify bitfield retrieval by using abs() value. We restore sign
107 - // later
108 - negate = hi < 0;
109 - hi = Math.abs(hi);
110 - lo = hi % VAL32;
111 - hi = hi / VAL32;
112 - if (hi > VAL32) throw new RangeError(hi + ' is outside Int64 range');
113 - hi = hi | 0;
114 - } else if (typeof(hi) == 'string') {
115 - hi = (hi + '').replace(/^0x/, '');
116 - lo = hi.substr(-8);
117 - hi = hi.length > 8 ? hi.substr(0, hi.length - 8) : '';
118 - hi = parseInt(hi, 16);
119 - lo = parseInt(lo, 16);
120 - } else {
121 - throw new Error(hi + ' must be a Number or String');
122 - }
123 - }
124 -
125 - // Technically we should throw if hi or lo is outside int32 range here, but
126 - // it's not worth the effort. Anything past the 32'nd bit is ignored.
127 -
128 - // Copy bytes to buffer
129 - var b = this.buffer, o = this.offset;
130 - for (var i = 7; i >= 0; i--) {
131 - b[o+i] = lo & 0xff;
132 - lo = i == 4 ? hi : lo >>> 8;
133 - }
134 -
135 - // Restore sign of passed argument
136 - if (negate) this._2scomp();
137 - },
138 -
139 - /**
140 - * Convert to a native JS number.
141 - *
142 - * WARNING: Do not expect this value to be accurate to integer precision for
143 - * large (positive or negative) numbers!
144 - *
145 - * @param allowImprecise If true, no check is performed to verify the
146 - * returned value is accurate to integer precision. If false, imprecise
147 - * numbers (very large positive or negative numbers) will be forced to +/-
148 - * Infinity.
149 - */
150 - toNumber: function(allowImprecise) {
151 - var b = this.buffer, o = this.offset;
152 -
153 - // Running sum of octets, doing a 2's complement
154 - var negate = b[o] & 0x80, x = 0, carry = 1;
155 - for (var i = 7, m = 1; i >= 0; i--, m *= 256) {
156 - var v = b[o+i];
157 -
158 - // 2's complement for negative numbers
159 - if (negate) {
160 - v = (v ^ 0xff) + carry;
161 - carry = v >> 8;
162 - v = v & 0xff;
163 - }
164 -
165 - x += v * m;
166 - }
167 -
168 - // Return Infinity if we've lost integer precision
169 - if (!allowImprecise && x >= Int64.MAX_INT) {
170 - return negate ? -Infinity : Infinity;
171 - }
172 -
173 - return negate ? -x : x;
174 - },
175 -
176 - /**
177 - * Convert to a JS Number. Returns +/-Infinity for values that can't be
178 - * represented to integer precision.
179 - */
180 - valueOf: function() {
181 - return this.toNumber(false);
182 - },
183 -
184 - /**
185 - * Return string value
186 - *
187 - * @param radix Just like Number#toString()'s radix
188 - */
189 - toString: function(radix) {
190 - return this.valueOf().toString(radix || 10);
191 - },
192 -
193 - /**
194 - * Return a string showing the buffer octets, with MSB on the left.
195 - *
196 - * @param sep separator string. default is '' (empty string)
197 - */
198 - toOctetString: function(sep) {
199 - var out = new Array(8);
200 - var b = this.buffer, o = this.offset;
201 - for (var i = 0; i < 8; i++) {
202 - out[i] = _HEX[b[o+i]];
203 - }
204 - return out.join(sep || '');
205 - },
206 -
207 - /**
208 - * Returns the int64's 8 bytes in a buffer.
209 - *
210 - * @param {bool} [rawBuffer=false] If no offset and this is true, return the internal buffer. Should only be used if
211 - * you're discarding the Int64 afterwards, as it breaks encapsulation.
212 - */
213 - toBuffer: function(rawBuffer) {
214 - if (rawBuffer && this.offset === 0) return this.buffer;
215 -
216 - var out = new Buffer(8);
217 - this.buffer.copy(out, 0, this.offset, this.offset + 8);
218 - return out;
219 - },
220 -
221 - /**
222 - * Copy 8 bytes of int64 into target buffer at target offset.
223 - *
224 - * @param {Buffer} targetBuffer Buffer to copy into.
225 - * @param {number} [targetOffset=0] Offset into target buffer.
226 - */
227 - copy: function(targetBuffer, targetOffset) {
228 - this.buffer.copy(targetBuffer, targetOffset || 0, this.offset, this.offset + 8);
229 - },
230 -
231 - /**
232 - * Returns a number indicating whether this comes before or after or is the
233 - * same as the other in sort order.
234 - *
235 - * @param {Int64} other Other Int64 to compare.
236 - */
237 - compare: function(other) {
238 -
239 - // If sign bits differ ...
240 - if ((this.buffer[this.offset] & 0x80) != (other.buffer[other.offset] & 0x80)) {
241 - return other.buffer[other.offset] - this.buffer[this.offset];
242 - }
243 -
244 - // otherwise, compare bytes lexicographically
245 - for (var i = 0; i < 8; i++) {
246 - if (this.buffer[this.offset+i] !== other.buffer[other.offset+i]) {
247 - return this.buffer[this.offset+i] - other.buffer[other.offset+i];
248 - }
249 - }
250 - return 0;
251 - },
252 -
253 - /**
254 - * Returns a boolean indicating if this integer is equal to other.
255 - *
256 - * @param {Int64} other Other Int64 to compare.
257 - */
258 - equals: function(other) {
259 - return this.compare(other) === 0;
260 - },
261 -
262 - /**
263 - * Pretty output in console.log
264 - */
265 - inspect: function() {
266 - return '[Int64 value:' + this + ' octets:' + this.toOctetString(' ') + ']';
267 - }
268 -};
packaging/tar-compare
+1
@@ -56,6 +56,7 @@ diff -r "$1" $MYTMP/unpack/* | grep "^Only" | sed \
56 -e '/: .*\.o$/d' \
57 -e '/: CMakeLists.txt/d' \
58 -e '/: .travis.yml/d' \
59 + -e '/: profile$/d' \
60 -e '/sbin: \(firehol\|fireqos\|link-balancer\)$/d' \
61 -e '/sbin: \(update-ipsets\|vnetbuild\|commands.sed\)$/d' > $MYTMP/out
62