echo "" # request body starts from this empty line
next_next_leader_time_utc=0
[[ -z "${CNCLI_DIR}" ]] && CNCLI_DIR="${CNODE_HOME}/guild-db/cncli"
CNCLI_DB="${CNCLI_DIR}/cncli.db"
if [[ ! -f "${BLOCKLOG_DB}" ]]; then
-
cncli_error="ERROR: blocklog database not found: ${BLOCKLOG_DB}"
+
cncli_error="ERROR: blocklog database not found: ${BLOCKLOG_DB}" && cncli_error_code=1
elif ! cncliDBinSync; then
-
cncli_error="CNCLI DB out of sync :( [$(printf "%2.4f %%" ${cncli_sync_prog})]"
+
cncli_error="CNCLI DB out of sync :( [$(printf "%2.4f %%" ${cncli_sync_prog})]" && cncli_error_code=1
for status_type in $(sqlite3 "${BLOCKLOG_DB}" "SELECT status, COUNT(status) FROM blocklog WHERE epoch=${epochnum} GROUP BY status;" 2>/dev/null); do
IFS='|' read -ra status <<< ${status_type}; unset IFS
adopted_max_consec=$(( adopted_max_consec + confirmed_max_consec ))
+
if [[ ${SERVED} != true && -n ${cncli_error} ]]; then
+
echo ${cncli_error} && return
export CNCLI_METRIC_cntools_cncli_blocks_metrics_next_leader_time_utc=${next_leader_time_utc}
export CNCLI_METRIC_cntools_cncli_blocks_metrics_next_next_leader_time_utc=${next_next_leader_time_utc}
export CNCLI_METRIC_cntools_cncli_blocks_metrics_ghosted_max_consec=${ghosted_max_consec}
export CNCLI_METRIC_cntools_cncli_blocks_metrics_stolen_max_consec=${stolen_max_consec}
export CNCLI_METRIC_cntools_cncli_blocks_metrics_invalid_max_consec=${invalid_max_consec}
-
export CNCLI_METRIC_cntools_cncli_blocks_metrics_error=${cncli_error}
+
export CNCLI_METRIC_cntools_cncli_blocks_metrics_error=${cncli_error_code}
for metric_var_name in $(env | grep ^CNCLI_METRIC_ | sort | awk -F= '{print $1}'); do
METRIC_NAME=${metric_var_name//CNCLI_METRIC_/}