isEnabled("statsd")) { return; } // sampling $sampledData = array(); if ($sampleRate < 1) { foreach ($data as $stat => $value) { if ((mt_rand() / mt_getrandmax()) <= $sampleRate) { $sampledData[$stat] = "$value|@$sampleRate"; } } } else { $sampledData = $data; } if (empty($sampledData)) { return; } // Wrap this in a try/catch - failures in any of this should be silently ignored try { $host = $config->getConfig("statsd.host"); $port = $config->getConfig("statsd.port"); $fp = fsockopen("udp://$host", $port, $errno, $errstr); if (!$fp) { return; } foreach ($sampledData as $stat => $value) { fwrite($fp, "$stat:$value"); } fclose($fp); } catch (Exception $e) { } } }