-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathstdout-timeboundary-printer.php
43 lines (30 loc) · 1.42 KB
/
stdout-timeboundary-printer.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
/**
* DruidFamiliar Stdout TimeBoundary Printer Example
*
* Run this via the command line, e.g. `php stdout-printer.php`
* and you should see nicely formatted time boundary data. :)
*/
use DruidFamiliar\Response\TimeBoundaryResponse;
require_once('../vendor/autoload.php');
$examplesDir = dirname(__FILE__);
$examplesConfig = require_once($examplesDir . '/_examples-config.php');
$druidHost = $examplesConfig['druid-host'];
$druidPort = $examplesConfig['druid-port'];
$druidDataSource = $examplesConfig['druid-dataSource'];
date_default_timezone_set('America/Denver');
$c = new \DruidFamiliar\QueryExecutor\DruidNodeDruidQueryExecutor($druidHost, $druidPort);
$q = new \DruidFamiliar\QueryGenerator\TimeBoundaryDruidQueryGenerator($druidDataSource);
$p = new \DruidFamiliar\QueryParameters\TimeBoundaryQueryParameters($druidDataSource);
/**
* @var TimeBoundaryResponse $r
*/
$r = $c->executeQuery($q, $p, new DruidFamiliar\ResponseHandler\TimeBoundaryResponseHandler());
echo "TimeBoundary data for DataSource \"$druidDataSource\": ";
$startTime = new DateTime( $r->minTime );
$endTime = new DateTime( $r->maxTime );
$formattedStartTime = $startTime->format("F m, Y h:i:s A");
$formattedEndTime = $endTime->format("F m, Y h:i:s A");
echo $formattedStartTime . " to " . $formattedEndTime . "\n";
// Outputs:
// TimeBoundary data for DataSource "referral-visit-test-data": June 06, 2011 12:00:11 AM to June 06, 2011 12:00:11 AM