Beispiel #1
0
use Mongotd\Storage;
use Mongotd\StorageMiddleware\FilterCounterValues;
use Mongotd\StorageMiddleware\InsertCounterValues;
$config = json_decode(file_get_contents('retrievalLoadTestConfig.json'), true);
date_default_timezone_set($config['timezone']);
$start = new \DateTime($config['starttime']);
$end = new \DateTime('now');
$conn = new Connection($config['dbhost'], $config['dbname'], $config['dbprefix']);
$sid = '1';
$nid = '1';
$pipelineFactory = new Factory($conn);
$pipeline = new Pipeline();
$storage = new Storage();
$storage->addMiddleware(new FilterCounterValues());
$storage->addMiddleware(new InsertCounterValues($conn));
if ($config['doInsertion']) {
    $conn->db()->drop();
    $conn->createIndexes();
    $dateperiod = new \DatePeriod($start, DateInterval::createFromDateString($config['insertIntervalInSeconds'] . ' seconds'), $end);
    $cvs = [];
    foreach ($dateperiod as $datetime) {
        $cvs[] = new CounterValue($sid, $nid, $datetime, rand());
    }
    $storage->store($cvs);
    echo "Insertion done\n";
}
$timerStart = microtime(true);
$sequence = $pipelineFactory->createMultiAction($sid, $nid, $start, $end, $config['retrieveResolution'], $config['retrieveAggregation']);
$pipeline->run($sequence);
$totalTime = microtime(true) - $timerStart;
echo 'Retrieved in: ' . $totalTime . " seconds\n";
Beispiel #2
0
 public function setUp()
 {
     $this->conn = new Connection('127.0.0.1', 'test', 'test');
     $this->conn->db()->drop();
 }
Beispiel #3
0
use Mongotd\Logger;
use Mongotd\Pipeline\Factory;
use Mongotd\Pipeline\Pipeline;
use Mongotd\Storage;
use Mongotd\StorageMiddleware\CalculateDeltas;
use Mongotd\StorageMiddleware\FilterCounterValues;
use Mongotd\StorageMiddleware\FindAnomaliesUsingHwTest;
use Mongotd\StorageMiddleware\FindAnomaliesUsingKsTest;
use Mongotd\StorageMiddleware\FindAnomaliesUsingSigmaTest;
use Mongotd\StorageMiddleware\InsertCounterValues;
use Mongotd\StorageMiddleware\StoreAnomalies;
$config = json_decode(file_get_contents('loadTestConfig.json'), true);
date_default_timezone_set($config['timezone']);
$start = new \DateTime($config['starttime']);
$conn = new Connection($config['dbhost'], $config['dbname'], $config['dbprefix']);
$conn->db()->drop();
$conn->createIndexes();
$pipelineFactory = new Factory($conn);
$pipeline = new Pipeline();
$storage = new Storage();
$storage->addMiddleware(new FilterCounterValues());
$storage->addMiddleware(new CalculateDeltas($conn, new Logger(null), $config['insertIntervalInSeconds']));
$storage->addMiddleware(new InsertCounterValues($conn));
if ($config['anomalyDetectionMethod'] == 'ks') {
    $storage->addMiddleware(new FindAnomaliesUsingKsTest($conn));
    $storage->addMiddleware(new StoreAnomalies($conn));
} else {
    if ($config['anomalyDetectionMethod'] == 'hw') {
        $storage->addMiddleware(new FindAnomaliesUsingHwTest($conn));
        $storage->addMiddleware(new StoreAnomalies($conn));
    } else {