diff --git a/qa/1355 b/qa/1355 index 29e62d0d43..5feafe1898 100755 --- a/qa/1355 +++ b/qa/1355 @@ -37,11 +37,13 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _filter_pmproxy_log() { sed -e 's/, command keys//g' | \ - grep -oE "Lost connection.+|Trying to connect to Redis.+|Cannot connect to Redis.+|Redis .+ setup" + sed -e 's/^.*Info: Key /key /g' | \ + sed -e 's/LOADING .* is loading/loading/g' | \ + grep -oE "Lost connection.+|Trying to connect to .+|Cannot connect to .+|.+ setup" } # real QA test starts here -echo "Start Redis server" +echo "Start key server" key_server_port=`_find_free_port` $key_server --port $key_server_port --save "" > $tmp.keys.log 2>&1 & key_server_pid=$! @@ -79,7 +81,7 @@ tail -n +$lineno $tmp.pmproxy.log | _filter_pmproxy_log lineno=$((`wc -l < $tmp.pmproxy.log` + 1)) echo -echo "Start Redis proxy again (loading error for first 3 seconds)" +echo "Start key server proxy again (loading error for first 3 seconds)" $python src/key_server_proxy.py --loading_delay 3 127.0.0.1:$keysproxyport 127.0.0.1:$key_server_port > $tmp.keysproxy.log & keysproxy_pid=$! _wait_for_port $keysproxyport diff --git a/qa/1355.out b/qa/1355.out index 3649c619e6..357717d117 100644 --- a/qa/1355.out +++ b/qa/1355.out @@ -1,11 +1,11 @@ QA output created by 1355 -Start Redis server -Start Redis proxy to fake loading error for first 3 seconds +Start key server +Start key server proxy to fake loading error for first 3 seconds Start pmproxy == Observe a loading error and reconnect -Cannot connect to Redis: LOADING Redis is loading the dataset in memory -Redis slots, schema version setup +Cannot connect to key server: loading the dataset in memory +key server slots, schema version setup Stop key server proxy diff --git a/qa/1370 b/qa/1370 index a01e58808d..99ed53b9d3 100755 --- a/qa/1370 +++ b/qa/1370 @@ -151,6 +151,10 @@ for cmd in $(cat $tmp.cmds.txt); do [ X"$opt" = X--start ] && continue [ X"$opt" = X--timezone ] && continue ;; + pmproxy) + [ X"$opt" = X--redishost ] && continue + [ X"$opt" = X--redisport ] && continue + ;; esac grep -q -- "$opt" <$tmp.man || echo "$bn.1 missing $opt" done diff --git a/qa/1442.out b/qa/1442.out index 5afa7cf51b..a59ee41fbb 100644 --- a/qa/1442.out +++ b/qa/1442.out @@ -16,69 +16,225 @@ pmproxy.control.files Data Type: 32-bit int InDom: PM_INDOM_NULL 0xffffffff Semantics: instant Units: none -pmproxy.keys.discover.monitored - Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff +pmproxy.pid + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: discrete Units: none -pmproxy.keys.discover.purged +pmproxy.cpu.user Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: discrete Units: none + Semantics: counter Units: millisec + +pmproxy.cpu.sys + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: millisec + +pmproxy.cpu.total + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: millisec + +pmproxy.mem.maxrss + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: Kbyte + +pmproxy.mem.datasz + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: Kbyte + +pmproxy.map.context.size + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.map.metric.size + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.map.label.size + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.map.instance.size + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.keys.requests.total + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.keys.requests.error + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.keys.requests.inflight.total + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: count + +pmproxy.keys.requests.inflight.bytes + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: byte + +pmproxy.keys.requests.total_bytes + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: byte + +pmproxy.keys.responses.total + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.keys.responses.error + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.keys.responses.time + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: microsec + +pmproxy.keys.responses.total_bytes + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: byte + +pmproxy.http.uncompressed.count + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.http.uncompressed.bytes + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: byte + +pmproxy.http.compressed.count + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.http.compressed.bytes + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: byte + +pmproxy.discover.monitored + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.discover.purged + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.discover.changed_callbacks + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.throttled_changed_callbacks + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.throttle + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: sec + +pmproxy.discover.metadata.callbacks + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.metadata.loops + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.metadata.decode.desc + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.metadata.decode.indom + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.metadata.decode.label + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.metadata.decode.helptext + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.metadata.partial_reads + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.logvol.callbacks + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.logvol.loops + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.logvol.change_vol + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.logvol.new_contexts + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count -pmproxy.keys.discover.metadata.callbacks +pmproxy.discover.logvol.get_archive_end_failed Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.metadata.loops +pmproxy.discover.logvol.decode.result Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.metadata.decode.desc +pmproxy.discover.logvol.decode.result_pmids Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.metadata.decode.indom +pmproxy.discover.logvol.decode.mark_record Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.metadata.decode.label +pmproxy.discover.logvol.decode.result_errors Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.metadata.decode.helptext +pmproxy.series.query.calls Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.logvol.callbacks +pmproxy.series.descs.calls Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.logvol.loops +pmproxy.series.instances.calls Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.logvol.change_vol +pmproxy.series.sources.calls Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.logvol.decode.result +pmproxy.series.metrics.calls Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.logvol.decode.result_pmids +pmproxy.series.values.calls Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.logvol.decode.mark_record +pmproxy.series.labels.calls Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.logvol.new_contexts +pmproxy.series.labelvalues.calls Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.keys.discover.logvol.get_archive_end_failed +pmproxy.series.load.calls Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count + +pmproxy.webgroup.gc.context.scans + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.webgroup.gc.context.drops + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none == Metadata after @@ -94,6 +250,98 @@ pmproxy.control.files Data Type: 32-bit int InDom: PM_INDOM_NULL 0xffffffff Semantics: instant Units: none +pmproxy.pid + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: discrete Units: none + +pmproxy.cpu.user + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: millisec + +pmproxy.cpu.sys + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: millisec + +pmproxy.cpu.total + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: millisec + +pmproxy.mem.maxrss + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: Kbyte + +pmproxy.mem.datasz + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: Kbyte + +pmproxy.map.context.size + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.map.metric.size + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.map.label.size + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.map.instance.size + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.keys.requests.total + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.keys.requests.error + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.keys.requests.inflight.total + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: count + +pmproxy.keys.requests.inflight.bytes + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: byte + +pmproxy.keys.requests.total_bytes + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: byte + +pmproxy.keys.responses.total + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.keys.responses.error + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.keys.responses.time + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: microsec + +pmproxy.keys.responses.total_bytes + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: byte + +pmproxy.http.uncompressed.count + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.http.uncompressed.bytes + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: byte + +pmproxy.http.compressed.count + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.http.compressed.bytes + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: byte + pmproxy.discover.monitored Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: instant Units: none @@ -102,58 +350,122 @@ pmproxy.discover.purged Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: instant Units: none +pmproxy.discover.changed_callbacks + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.throttled_changed_callbacks + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.throttle + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: sec + pmproxy.discover.metadata.callbacks Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count pmproxy.discover.metadata.loops Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count pmproxy.discover.metadata.decode.desc Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count pmproxy.discover.metadata.decode.indom Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count pmproxy.discover.metadata.decode.label Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count pmproxy.discover.metadata.decode.helptext Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count + +pmproxy.discover.metadata.partial_reads + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count pmproxy.discover.logvol.callbacks Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count pmproxy.discover.logvol.loops Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count pmproxy.discover.logvol.change_vol Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count + +pmproxy.discover.logvol.new_contexts + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.discover.logvol.get_archive_end_failed + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count pmproxy.discover.logvol.decode.result Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count pmproxy.discover.logvol.decode.result_pmids Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count pmproxy.discover.logvol.decode.mark_record Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.discover.logvol.new_contexts +pmproxy.discover.logvol.decode.result_errors Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count -pmproxy.discover.logvol.get_archive_end_failed +pmproxy.series.query.calls + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.series.descs.calls + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.series.instances.calls + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.series.sources.calls + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.series.metrics.calls + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.series.values.calls + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.series.labels.calls Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: counter Units: none + Semantics: counter Units: count + +pmproxy.series.labelvalues.calls + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.series.load.calls + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: counter Units: count + +pmproxy.webgroup.gc.context.scans + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none + +pmproxy.webgroup.gc.context.drops + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none diff --git a/qa/1600.out b/qa/1600.out index 219c182e0d..7aca4641d3 100644 --- a/qa/1600.out +++ b/qa/1600.out @@ -1,5 +1,5 @@ QA output created by 1600 -Start test Redis server ... +Start test key server ... PING PONG diff --git a/qa/1601.out b/qa/1601.out index c39b84f5be..71314168cf 100644 --- a/qa/1601.out +++ b/qa/1601.out @@ -1,5 +1,5 @@ QA output created by 1601 -Start test Redis server ... +Start test key server ... PING PONG diff --git a/qa/1602 b/qa/1602 index 7e494e2b15..e902e32a48 100755 --- a/qa/1602 +++ b/qa/1602 @@ -119,16 +119,16 @@ $keys_cli -p $proxyport get pcpqa:$seq:ten echo # check resp protocol error handling -echo "== keys_cli empty key set" +echo "== key server cli empty key set" $keys_cli -p $proxyport keys no-such-key | _filter_key_server_err echo -echo "== keys_cli handle errors 1" +echo "== key server cli handle errors 1" $keys_cli -p $proxyport get foo bar baz | _filter_key_server_err echo -echo "== keys_cli handle errors 2" +echo "== key server cli handle errors 2" $keys_cli -p $proxyport set foo bar baz | _filter_key_server_err echo -echo "== keys_cli nonexistant key" +echo "== key server cli nonexistant key" $keys_cli -p $proxyport get abc echo diff --git a/qa/1602.out b/qa/1602.out index 647a3ec52b..582c8b61ab 100644 --- a/qa/1602.out +++ b/qa/1602.out @@ -26,7 +26,7 @@ cluster_size:3 PING PONG -== keys-cli set two keys +== key server cli set two keys OK OK @@ -38,22 +38,22 @@ sample.long.one sample.long.ten value 10 -== keys_cli get two keys +== key server cli get two keys 1 10 -== keys_cli empty key set +== key server cli empty key set -== keys_cli handle errors 1 +== key server cli handle errors 1 expected error -== keys_cli handle errors 2 +== key server cli handle errors 2 expected error -== keys-cli nonexistant key +== key server cli nonexistant key == key server cluster key distribution diff --git a/qa/1604.out b/qa/1604.out index ecfe6f323b..11ca00d717 100644 --- a/qa/1604.out +++ b/qa/1604.out @@ -1,5 +1,5 @@ QA output created by 1604 -Start test Redis server ... +Start test key server ... PING PONG diff --git a/qa/1689.out b/qa/1689.out index 940ea4a8ab..26411807a6 100644 --- a/qa/1689.out +++ b/qa/1689.out @@ -189,101 +189,101 @@ pmproxy.http.uncompressed.count PMID: 4.3.2 [Count of uncompresed transfers] Help: Number of uncompressed HTTP transfers -pmproxy.map.context.size PMID: 4.1.6 [context map dictionary size] - Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: instant Units: none -Help: -Number of entries in the context map dictionary - -pmproxy.map.instance.size PMID: 4.1.9 [instance names map dictionary size] - Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: instant Units: none -Help: -Number of entries in the instance name map dictionary - -pmproxy.map.label.size PMID: 4.1.8 [label names map dictionary size] - Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: instant Units: none -Help: -Number of entries in the labels map dictionary - -pmproxy.map.metric.size PMID: 4.1.7 [metric names map dictionary size] - Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: instant Units: none -Help: -Number of entries in the metric names map dictionary - -pmproxy.mem.datasz PMID: 4.1.5 [virtual data size] - Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: instant Units: Kbyte -Help: -Process memory virtual data size from sbrk(2) - -pmproxy.mem.maxrss PMID: 4.1.4 [maximum RSS] - Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: instant Units: Kbyte -Help: -Maximum memory resident set size from getrusage(2) - -pmproxy.pid PMID: 4.1.0 [PID for the current process] - Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff - Semantics: discrete Units: none -Help: -Process identifier for the current process - pmproxy.keys.requests.error PMID: 4.2.2 [number of request errors] Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: counter Units: count Help: -Total number of Redis request errors +Total number of key server request errors pmproxy.keys.requests.inflight.bytes PMID: 4.2.7 [bytes allocated for inflight requests] Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: instant Units: byte Help: -Memory currently allocated for inflight Redis requests +Memory currently allocated for inflight key server requests pmproxy.keys.requests.inflight.total PMID: 4.2.6 [inflight requests] Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: instant Units: count Help: -Total number of inflight Redis requests +Total number of inflight key server requests pmproxy.keys.requests.total PMID: 4.2.1 [number of requests] Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: counter Units: count Help: -Total number of Redis requests sent +Total number of key server requests sent pmproxy.keys.requests.total_bytes PMID: 4.2.8 [total bytes sent for requests] Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: counter Units: byte Help: -Cumulative count of bytes sent for all Redis requests +Cumulative count of bytes sent for all key server requests pmproxy.keys.responses.error PMID: 4.2.4 [number of error responses] Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: counter Units: count Help: -Total number of Redis error responses received +Total number of key server error responses received pmproxy.keys.responses.time PMID: 4.2.5 [total time for responses] Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: counter Units: microsec Help: -Cumulative time taken to receive all Redis responses +Cumulative time taken to receive all key server responses pmproxy.keys.responses.total PMID: 4.2.3 [number of responses] Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: counter Units: count Help: -Total number of Redis responses received +Total number of key server responses received pmproxy.keys.responses.total_bytes PMID: 4.2.9 [total bytes received in responses] Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff Semantics: counter Units: byte Help: -Cumulative count of bytes received in Redis responses +Cumulative count of bytes received in key server responses + +pmproxy.map.context.size PMID: 4.1.6 [context map dictionary size] + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none +Help: +Number of entries in the context map dictionary + +pmproxy.map.instance.size PMID: 4.1.9 [instance names map dictionary size] + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none +Help: +Number of entries in the instance name map dictionary + +pmproxy.map.label.size PMID: 4.1.8 [label names map dictionary size] + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none +Help: +Number of entries in the labels map dictionary + +pmproxy.map.metric.size PMID: 4.1.7 [metric names map dictionary size] + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: none +Help: +Number of entries in the metric names map dictionary + +pmproxy.mem.datasz PMID: 4.1.5 [virtual data size] + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: Kbyte +Help: +Process memory virtual data size from sbrk(2) + +pmproxy.mem.maxrss PMID: 4.1.4 [maximum RSS] + Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: instant Units: Kbyte +Help: +Maximum memory resident set size from getrusage(2) + +pmproxy.pid PMID: 4.1.0 [PID for the current process] + Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff + Semantics: discrete Units: none +Help: +Process identifier for the current process pmproxy.series.descs.calls PMID: 4.6.2 [calls to /series/descs] Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff diff --git a/qa/1690.out b/qa/1690.out index 582e780851..1a43b2364f 100644 --- a/qa/1690.out +++ b/qa/1690.out @@ -1,5 +1,5 @@ QA output created by 1690 -Start test Redis server ... +Start test key server ... PING PONG diff --git a/qa/1691.out b/qa/1691.out index 6ef491ca18..f5046e2459 100644 --- a/qa/1691.out +++ b/qa/1691.out @@ -1,5 +1,5 @@ QA output created by 1691 -Start test Redis server ... +Start test key server ... PING PONG @@ -26,7 +26,7 @@ f0983eec7e7c01361317266c4259467d35e0ec3e e7aa0bd3dc7afc149badec1808fa4fa5c63a7fa3 Metric: kernel.all.cpu.user -Clear Redis DB +Clear key server DB OK Load archive using: exclude.metrics = kernel.all.cpu.i*, kernel.all.cpu.user diff --git a/qa/1695.out b/qa/1695.out index 4d3e304569..293c3e94fe 100644 --- a/qa/1695.out +++ b/qa/1695.out @@ -1,5 +1,5 @@ QA output created by 1695 -Start test Redis server ... +Start test key server ... PING PONG === checking metric scrape operation === diff --git a/qa/1697.out b/qa/1697.out index 9c12f743c5..a7c5d6320f 100644 --- a/qa/1697.out +++ b/qa/1697.out @@ -1,5 +1,5 @@ QA output created by 1697 -Start test Redis server ... +Start test key server ... PING PONG diff --git a/qa/1773.out b/qa/1773.out index 1a2b98db98..0c84e459e5 100644 --- a/qa/1773.out +++ b/qa/1773.out @@ -1,5 +1,5 @@ QA output created by 1773 -Start test Redis server ... +Start test key server ... PING PONG diff --git a/qa/1871.out b/qa/1871.out index 2317a3dd4b..dd5514bbc5 100644 --- a/qa/1871.out +++ b/qa/1871.out @@ -1,5 +1,5 @@ QA output created by 1871 -=== Start test Redis server === +=== Start test key server === PING PONG diff --git a/qa/1872.out b/qa/1872.out index d32f570a7a..c2bd4ca51f 100644 --- a/qa/1872.out +++ b/qa/1872.out @@ -1,5 +1,5 @@ QA output created by 1872 -=== Start test Redis server === +=== Start test key server === PING PONG diff --git a/qa/1874.out b/qa/1874.out index d91078da38..1b569df4a3 100644 --- a/qa/1874.out +++ b/qa/1874.out @@ -1,5 +1,5 @@ QA output created by 1874 -Start test Redis server ... +Start test key server ... PING PONG diff --git a/qa/archives/pmproxy.0 b/qa/archives/pmproxy.0 index 2c965f8df6..c08f7c28db 100644 Binary files a/qa/archives/pmproxy.0 and b/qa/archives/pmproxy.0 differ diff --git a/qa/archives/pmproxy.index b/qa/archives/pmproxy.index index bc4d04f0a3..62a124f2b4 100644 Binary files a/qa/archives/pmproxy.index and b/qa/archives/pmproxy.index differ diff --git a/qa/archives/pmproxy.meta b/qa/archives/pmproxy.meta index 6c57749111..4fd7a41782 100644 Binary files a/qa/archives/pmproxy.meta and b/qa/archives/pmproxy.meta differ diff --git a/qa/common.check b/qa/common.check index 1fd593cc07..f1551a3efc 100644 --- a/qa/common.check +++ b/qa/common.check @@ -1660,9 +1660,8 @@ _check_key_server_version() else _notrun "No key server command line interface found" fi - eval __`$keys_cli -p "$1" info server | - grep "$keys_ver:" | - sed -e 's/:/=/g' -e 's/\..*//g'` + eval __key_server_version=`$keys_cli -p "$1" info server | + grep "$keys_ver:" | sed -e 's/^.*://g' -e 's/\..*//g'` [ $__key_server_version -ge 5 ] || _notrun "Key server @ port $1: version $__key_server_version too old" } diff --git a/src/libpcp_web/src/logrewrite.conf b/src/libpcp_web/src/logrewrite.conf index 2ce215597d..dec14c0d75 100644 --- a/src/libpcp_web/src/logrewrite.conf +++ b/src/libpcp_web/src/logrewrite.conf @@ -2,12 +2,23 @@ # parts of their metadata have changed over time to fix # previous errors and inconsistencies. +metric pmproxy.discover.monitored { sem -> instant } +metric pmproxy.discover.purged { sem -> instant } + metric pmproxy.redis.requests.inflight.bytes { type -> U64 } -metric pmproxy.redis.responses.wait { name -> pmproxy.redis.responses.time } metric pmproxy.redis.requests.inflight.bytes { sem -> instant } metric pmproxy.redis.requests.inflight.total { sem -> instant } -metric pmproxy.discover.monitored { sem -> instant } -metric pmproxy.discover.purged { sem -> instant } + +metric pmproxy.redis.responses.wait { name -> pmproxy.keys.responses.time } +metric pmproxy.redis.responses.time { name -> pmproxy.keys.responses.time } +metric pmproxy.redis.responses.total_bytes { name -> pmproxy.keys.responses.total_bytes } +metric pmproxy.redis.responses.error { name -> pmproxy.keys.responses.error } +metric pmproxy.redis.responses.total { name -> pmproxy.keys.responses.total } +metric pmproxy.redis.requests.total_bytes { name -> pmproxy.keys.requests.total_bytes } +metric pmproxy.redis.requests.inflight.bytes { name -> pmproxy.keys.requests.inflight.bytes } +metric pmproxy.redis.requests.inflight.total { name -> pmproxy.keys.requests.inflight.total } +metric pmproxy.redis.requests.error { name -> pmproxy.keys.requests.error } +metric pmproxy.redis.requests.total { name -> pmproxy.keys.requests.total } metric pmproxy.redis.discover.monitored { name -> pmproxy.discover.monitored } metric pmproxy.redis.discover.monitored { sem -> instant }