@cryptotaxi247 / netdata-1 / commits / df246405d

nc-backend.sh uses tee to show the metrics on console

Costa Tsaousis (ktsaou) committed Jun 17, 2017 at 14:16 UTC df246405de7a4cf96c53b39e7af36ebe6e146559
1 file changed +16 -6
contrib/nc-backend.sh
+16 -6
@@ -10,6 +10,18 @@ log() {
10 logger --stderr --id=$$ --tag "netdata-nc-backend" "${*}"
11 }
12
13 +mync() {
14 + local ret
15 +
16 + log "Running: nc ${*}"
17 + nc "${@}"
18 + ret=$?
19 +
20 + log "nc stopped with return code ${ret}."
21 +
22 + return ${ret}
23 +}
24 +
25 listen_save_replay_forever() {
26 local file="${1}" port="${2}" real_backend_host="${3}" real_backend_port="${4}" ret delay=1 started ended
27
@@ -18,19 +30,16 @@ listen_save_replay_forever() {
30 log "Starting nc to listen on port ${port} and save metrics to ${file}"
31
32 started=$(date +%s)
21 - nc -l "${port}" >>"${file}"
22 - ret=$?
33 + mync -l "${port}" | tee -a -p --output-error=exit "${file}"
34 ended=$(date +%s)
35
25 - log "nc stopped with return code ${ret}."
26 -
36 if [ -s "${file}" ]
37 then
38 if [ ! -z "${real_backend_host}" -a ! -z "${real_backend_port}" ]
39 then
40 log "Attempting to send the metrics to the real backend at ${real_backend_host}:${real_backend_port}"
41
33 - nc "${real_backend_host}" "${real_backend_port}" <"${file}"
42 + mync "${real_backend_host}" "${real_backend_port}" <"${file}"
43 ret=$?
44
45 if [ ${ret} -eq 0 ]
@@ -50,12 +59,13 @@ listen_save_replay_forever() {
59 # if nc cannot listen to port
60 if [ $((ended - started)) -lt 5 ]
61 then
53 - log "nc has been stopped too fast. Waiting 30 secs."
62 + log "nc has been stopped too fast."
63 delay=30
64 else
65 delay=1
66 fi
67
68 + log "Waiting ${delay} seconds before listening again for data."
69 sleep ${delay}
70 done
71 }