зеркало из https://github.com/microsoft/statsd.git
Validate negative sampling
This commit is contained in:
Родитель
5e56e42ee5
Коммит
8ddd61b34d
|
@ -11,6 +11,15 @@ function isNumber(str) {
|
||||||
return Boolean(str && !isNaN(str));
|
return Boolean(str && !isNaN(str));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isValidSampleRate(str) {
|
||||||
|
var validSampleRate = false;
|
||||||
|
if(str.length > 1 && str[0] === '@') {
|
||||||
|
var numberStr = str.substring(1);
|
||||||
|
validSampleRate = isNumber(numberStr) && numberStr[0] != '-';
|
||||||
|
}
|
||||||
|
return validSampleRate;
|
||||||
|
}
|
||||||
|
|
||||||
function is_valid_packet(fields) {
|
function is_valid_packet(fields) {
|
||||||
|
|
||||||
// test for existing metrics type
|
// test for existing metrics type
|
||||||
|
@ -19,8 +28,8 @@ function is_valid_packet(fields) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// filter out malformed sample rates
|
// filter out malformed sample rates
|
||||||
if (fields[2] !== undefined) {
|
if(fields[2] !== undefined) {
|
||||||
if (fields[2].length <= 1 || fields[2][0] != '@' || !isNumber(fields[2].substring(1))) {
|
if(!isValidSampleRate(fields[2])) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,6 +112,7 @@ module.exports = {
|
||||||
test.equals(helpers.is_valid_packet(['345345', 'ms', '@.']), false);
|
test.equals(helpers.is_valid_packet(['345345', 'ms', '@.']), false);
|
||||||
test.equals(helpers.is_valid_packet(['345345', 'ms', '@.1.']), false);
|
test.equals(helpers.is_valid_packet(['345345', 'ms', '@.1.']), false);
|
||||||
test.equals(helpers.is_valid_packet(['345345', 'ms', '@.1.2.3']), false);
|
test.equals(helpers.is_valid_packet(['345345', 'ms', '@.1.2.3']), false);
|
||||||
|
test.equals(helpers.is_valid_packet(['345345', 'ms', '@-1.0']), false);
|
||||||
test.done();
|
test.done();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче