public function rollBack()
 {
     $start = millitime();
     $ret = parent::rollBack();
     function_log('PDO->rollBack()', millitime() - $start);
     return $ret;
 }
Esempio n. 2
0
function millitimeDiff($start, $now = NULL)
{
    if (!$now) {
        $now = millitime();
    }
    return $now - $start;
}
 public function execute(array $input_parameters = null)
 {
     $start = millitime();
     $ret = parent::execute($input_parameters);
     function_log('PDOStatement->execute()', millitime() - $start);
     return $ret;
 }
Esempio n. 4
0
<?php

require dirname(__DIR__) . '/vendor/autoload.php';
use ServerBench\Core\Singleton;
use ServerBench\Timer\Timer;
$timer = new Timer();
function millitime()
{
    return (int) (gettimeofday(true) * 1000);
}
$timer->runAfterMs(100, function () {
    echo "\nafter 100 ms\n";
});
$timer->runAtMs((int) millitime() + 200, function () {
    echo "\nat 200 ms\n";
});
$timer->runEveryMs(3000, function () {
    echo "\nevery 3000 ms\n";
});
while (!$timer->isEmpty()) {
    $timer->execute();
    var_dump($timer->nearestTimeMs() - (int) (gettimeofday(true) * 1000));
    usleep(100000);
}
 * Benchmarking against EventEmitter (original by Igor Wiedler)
 */
$loader = (require __DIR__ . '/../vendor/autoload.php');
require 'diff.php';
$start = millitime();
$emitter = new \Evenement\EventEmitter();
$counter = 1;
$listeners = 100;
$emitters = 10000;
for ($i = 1; $i <= $listeners; $i++) {
    $emitter->on('listener_' . $i, function () use(&$counter) {
        $counter++;
    });
}
for ($i = 1; $i <= $emitters; $i++) {
    $emitter->emit('listener_' . $i);
}
$time_EventEmitter = millitimeDiff($start);
$start = millitime();
$emitter = new \Evenement\EventEmitterRegex();
$counter = 1;
for ($i = 1; $i <= $listeners; $i++) {
    $emitter->on('listener_' . $i, function () use(&$counter) {
        $counter++;
    });
}
for ($i = 1; $i <= $emitters; $i++) {
    $emitter->emit('listener_' . $i . '$');
}
$time_EventEmitterRegex = millitimeDiff($start);
printf("Time for {$listeners} listeners and {$emitters} emits\n" . "EventEmitter:     \t\t\t %-5d ms\n" . "EventEmitterRegex:\t\t\t %-5d ms\n", $time_EventEmitter, $time_EventEmitterRegex);
 public function generateAuthenticationToken($companyId, $userId, $privateKeyPath)
 {
     $tokenString = $companyId . ' ' . $userId . ' ' . millitime();
     try {
         $tokenEncrypted = $this->_encryptToken($tokenString, $privateKeyPath);
     } catch (Exception $e) {
         throw $e;
     }
     $tokenEncoded = bin2hex($tokenEncrypted);
     return $tokenEncoded;
 }
Esempio n. 7
0
/**
 * Extract custom data from the post request. Used in R5 and above
 * Array format:
 * {
 *      "GraphName": {
 *          "ColumnName": Value
 *      },
 *      ...
 * }
 * @return array
 */
function extractCustomData()
{
    global $config;
    $start = millitime();
    // What custom data is separated by
    $separator = $config['graph']['separator'];
    // Array of data to return
    $data = array();
    foreach ($_POST as $key => $value) {
        // verify we have a number as the key
        if (!is_numeric($value)) {
            continue;
        }
        // Find the first position of the separator
        $r_index = strrpos($key, $separator);
        // Did we not match one?
        if ($r_index === false) {
            continue;
        }
        // Extract the data :-)
        $graphName = str_replace('_', ' ', substr($key, 3, $r_index - 3));
        $columnName = str_replace('_', ' ', substr($key, $r_index + 2));
        // Set it :-)
        $data[$graphName][$columnName] = $value;
    }
    return $data;
}