$fetchedData = null; if ($status == 200) { $dataAr = json_decode($data, true); $indexInResult = isset($query['indexInResult']) ? $query['indexInResult'] : 0; if (isset($dataAr['results'][$indexInResult][$query['keyToFetch']])) { $fetchedData = $dataAr['results'][$indexInResult][$query['keyToFetch']]; } } if ($fetchedData !== null && $fetchedData >= 0) { switch ($query['statsdMetricType']) { case 'gauge': $statsd->gauge($query['statsdKey'], $fetchedData); echo "Updating metric type 'gauge', key: " . $query['statsdKey'] . ", value: " . $fetchedData . PHP_EOL; break; case 'set': $statsd->set($query['statsdKey'], $fetchedData); echo "Updating metric type 'set', key: " . $query['statsdKey'] . ", value: " . $fetchedData . PHP_EOL; break; case 'increment': $statsd->increment($query['statsdKey'], $fetchedData); echo "Updating metric type 'increment', key: " . $query['statsdKey'] . ", value: " . $fetchedData . PHP_EOL; break; case 'decrement': $statsd->decrement($query['statsdKey'], $fetchedData); echo "Updating metric type 'decrement', key: " . $query['statsdKey'] . ", value: " . $fetchedData . PHP_EOL; break; default: echo "Unknown or missing metric type '" . $query['statsdMetricType'] . "'"; exit(1); } }