16 require(dirname(dirname(dirname(dirname(__FILE__)))) .
'/tools/bootstrap.inc.php');
28 parent::__construct(
$argv);
30 if (
sizeof($this->argv) < 3) {
35 $this->contextId = (int)
$argv[1];
36 $this->dateStart =
$argv[2];
37 $this->dateEnd =
$argv[3];
44 echo
"Generate fake usage data in the metrics table.\n"
45 .
"Usage: {$this->scriptName} [contextId] [dateStart] [dateEnd]\n"
46 .
"contextId The context to add metrics for.\n"
47 .
"dateStart Add metrics after this date. YYYY-MM-DD\n"
48 .
"dateEnd Add metrics after this date. YYYY-MM-DD\n";
57 $currentDate =
new DateTime($this->dateStart);
58 $endDate =
new DateTime($this->dateEnd);
59 $endDateTimeStamp = $endDate->getTimestamp();
61 $metricsDao = DAORegistry::getDao(
'MetricsDAO');
64 while ($currentDate->getTimestamp() < $endDateTimeStamp) {
65 foreach ($submissionIds as $submissionId) {
66 $metricsDao->insertRecord([
67 'load_id' =>
'test_events_' . $currentDate->format(
'Ymd'),
68 'assoc_type' => ASSOC_TYPE_SUBMISSION,
69 'assoc_id' => $submissionId,
70 'submission_id' => $submissionId,
71 'metric_type' => METRIC_TYPE_COUNTER,
72 'metric' => rand(1, 10),
73 'day' => $currentDate->format(
'Ymd'),
77 $currentDate->add(
new DateInterval(
'P1D'));
80 echo $count .
" records added for " . count($submissionIds) .
" submissions.\n";
87 import(
'classes.submission.Submission');
88 $submissionsIterator =
Services::get(
'submission')->getMany([
'contextId' => $this->contextId,
'status' => STATUS_PUBLISHED]);
90 foreach ($submissionsIterator as $submission) {
91 $submissionIds[] = $submission->getId();
93 return $submissionIds;