You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2016/12/13 22:15:27 UTC
[1/5] airavata-php-gateway git commit: AIRAVATA-1792 Username
filtering in exp stats
Repository: airavata-php-gateway
Updated Branches:
refs/heads/develop 838ca7c9c -> a895abedf
AIRAVATA-1792 Username filtering in exp stats
Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/84032b41
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/84032b41
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/84032b41
Branch: refs/heads/develop
Commit: 84032b41ac436aea785e7fdd1beaf23f8902bbbe
Parents: 8522381
Author: Marcus Christie <ma...@iu.edu>
Authored: Mon Dec 12 16:09:08 2016 -0500
Committer: Marcus Christie <ma...@iu.edu>
Committed: Mon Dec 12 16:09:08 2016 -0500
----------------------------------------------------------------------
app/controllers/AdminController.php | 5 +-
app/libraries/AdminUtilities.php | 11 +-
app/libraries/Airavata/API/Airavata.php | 84 ++++++++-
app/views/admin/experiment-statistics.blade.php | 8 +-
app/views/admin/manage-experiments.blade.php | 184 +++++++++++++++----
5 files changed, 248 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/84032b41/app/controllers/AdminController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AdminController.php b/app/controllers/AdminController.php
index 6439b4b..7babeca 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -324,9 +324,10 @@ class AdminController extends BaseController {
{
if (Request::ajax()) {
$inputs = Input::all();
+ $username = Input::get('username');
$expStatistics = AdminUtilities::get_experiment_execution_statistics(strtotime($inputs['fromTime']) * 1000
- , strtotime($inputs['toTime']) * 1000);
- return View::make("admin/experiment-statistics", array("expStatistics" => $expStatistics));
+ , strtotime($inputs['toTime']) * 1000, $username);
+ return View::make("admin/experiment-statistics", array("expStatistics" => $expStatistics, "username" => $username));
}
}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/84032b41/app/libraries/AdminUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/AdminUtilities.php b/app/libraries/AdminUtilities.php
index b2637a0..a5ee37f 100644
--- a/app/libraries/AdminUtilities.php
+++ b/app/libraries/AdminUtilities.php
@@ -125,10 +125,14 @@ class AdminUtilities
* @param $toTime
* @return \Airavata\Model\Experiment\ExperimentStatistics
*/
- public static function get_experiment_execution_statistics($fromTime, $toTime)
+ public static function get_experiment_execution_statistics($fromTime, $toTime, $username)
{
+ if (trim($username) == '') {
+ $username = null;
+ }
+ Log::debug("get_experiment_execution_statistics", array($fromTime, $toTime, $username));
return Airavata::getExperimentStatistics(Session::get('authz-token'),
- Config::get('pga_config.airavata')['gateway-id'], $fromTime, $toTime);
+ Config::get('pga_config.airavata')['gateway-id'], $fromTime, $toTime, $username, null, null);
}
/**
@@ -140,7 +144,8 @@ class AdminUtilities
{
$experimentStatistics = AdminUtilities::get_experiment_execution_statistics(
strtotime($inputs["from-date"]) * 1000,
- strtotime($inputs["to-date"]) * 1000
+ strtotime($inputs["to-date"]) * 1000,
+ $inputs['username']
);
$experiments = array();
if ($inputs["status-type"] == "ALL") {
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/84032b41/app/libraries/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/API/Airavata.php b/app/libraries/Airavata/API/Airavata.php
index f235e48..cc90cc6 100644
--- a/app/libraries/Airavata/API/Airavata.php
+++ b/app/libraries/Airavata/API/Airavata.php
@@ -651,19 +651,23 @@ interface AiravataIf {
* @param toTime
* Ending data time.
*
+ * TODO update docs
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
* @param string $gatewayId
* @param int $fromTime
* @param int $toTime
+ * @param string $userName
+ * @param string $applicationName
+ * @param string $resourceHostName
* @return \Airavata\Model\Experiment\ExperimentStatistics
* @throws \Airavata\API\Error\InvalidRequestException
* @throws \Airavata\API\Error\AiravataClientException
* @throws \Airavata\API\Error\AiravataSystemException
* @throws \Airavata\API\Error\AuthorizationException
*/
- public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime);
+ public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName);
/**
*
* Get All Experiments of the Project
@@ -6013,19 +6017,22 @@ class AiravataClient implements \Airavata\API\AiravataIf {
throw new \Exception("searchExperiments failed: unknown result");
}
- public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime)
+ public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName)
{
- $this->send_getExperimentStatistics($authzToken, $gatewayId, $fromTime, $toTime);
+ $this->send_getExperimentStatistics($authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName);
return $this->recv_getExperimentStatistics();
}
- public function send_getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime)
+ public function send_getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName)
{
$args = new \Airavata\API\Airavata_getExperimentStatistics_args();
$args->authzToken = $authzToken;
$args->gatewayId = $gatewayId;
$args->fromTime = $fromTime;
$args->toTime = $toTime;
+ $args->userName = $userName;
+ $args->applicationName = $applicationName;
+ $args->resourceHostName = $resourceHostName;
$bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
if ($bin_accel)
{
@@ -24221,6 +24228,18 @@ class Airavata_getExperimentStatistics_args {
* @var int
*/
public $toTime = null;
+ /**
+ * @var string
+ */
+ public $userName = null;
+ /**
+ * @var string
+ */
+ public $applicationName = null;
+ /**
+ * @var string
+ */
+ public $resourceHostName = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -24242,6 +24261,18 @@ class Airavata_getExperimentStatistics_args {
'var' => 'toTime',
'type' => TType::I64,
),
+ 5 => array(
+ 'var' => 'userName',
+ 'type' => TType::STRING,
+ ),
+ 6 => array(
+ 'var' => 'applicationName',
+ 'type' => TType::STRING,
+ ),
+ 7 => array(
+ 'var' => 'resourceHostName',
+ 'type' => TType::STRING,
+ ),
);
}
if (is_array($vals)) {
@@ -24257,6 +24288,15 @@ class Airavata_getExperimentStatistics_args {
if (isset($vals['toTime'])) {
$this->toTime = $vals['toTime'];
}
+ if (isset($vals['userName'])) {
+ $this->userName = $vals['userName'];
+ }
+ if (isset($vals['applicationName'])) {
+ $this->applicationName = $vals['applicationName'];
+ }
+ if (isset($vals['resourceHostName'])) {
+ $this->resourceHostName = $vals['resourceHostName'];
+ }
}
}
@@ -24308,6 +24348,27 @@ class Airavata_getExperimentStatistics_args {
$xfer += $input->skip($ftype);
}
break;
+ case 5:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->userName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 6:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->applicationName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 7:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->resourceHostName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -24344,6 +24405,21 @@ class Airavata_getExperimentStatistics_args {
$xfer += $output->writeI64($this->toTime);
$xfer += $output->writeFieldEnd();
}
+ if ($this->userName !== null) {
+ $xfer += $output->writeFieldBegin('userName', TType::STRING, 5);
+ $xfer += $output->writeString($this->userName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->applicationName !== null) {
+ $xfer += $output->writeFieldBegin('applicationName', TType::STRING, 6);
+ $xfer += $output->writeString($this->applicationName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->resourceHostName !== null) {
+ $xfer += $output->writeFieldBegin('resourceHostName', TType::STRING, 7);
+ $xfer += $output->writeString($this->resourceHostName);
+ $xfer += $output->writeFieldEnd();
+ }
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/84032b41/app/views/admin/experiment-statistics.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/experiment-statistics.blade.php b/app/views/admin/experiment-statistics.blade.php
index 7727057..8339193 100644
--- a/app/views/admin/experiment-statistics.blade.php
+++ b/app/views/admin/experiment-statistics.blade.php
@@ -145,6 +145,11 @@
<div id="experiment-container" style="margin: 20px" class="experiment-container"></div>
<script>
+ @if ($username)
+ var username = "{{ $username }}";
+ @else
+ var username = null;
+ @endif
$("#getAllExperiments").click(function () {
getExperimentsOfStatus( 'ALL');
@@ -188,7 +193,8 @@
'status-type': status,
'search-key': 'creation-time',
'from-date': $fromTime,
- 'to-date': $toTime
+ 'to-date': $toTime,
+ 'username': username
},
async: false,
success: function (data) {
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/84032b41/app/views/admin/manage-experiments.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/manage-experiments.blade.php b/app/views/admin/manage-experiments.blade.php
index fa708d6..e3fd4e6 100644
--- a/app/views/admin/manage-experiments.blade.php
+++ b/app/views/admin/manage-experiments.blade.php
@@ -41,45 +41,109 @@
<div role="tabpanel" class="tab-pane active" id="overview">
<div class="well col-md-12">
<div class="col-md-10">
- <div class='col-md-5'>
- <div class="form-group">
+ <div class="row">
+ <div class='col-md-5'>
+ <div class="form-group">
<input type='button' class="oneDayExp form-control btn-primary" value="Get Experiments from Last 24 hours"/>
+ </div>
</div>
- </div>
- <div class='col-md-5'>
- <div class="form-group">
+ <div class='col-md-5'>
+ <div class="form-group">
<input type='button' class="oneWeekExp form-control btn-primary" value="Get Experiments from Last Week"/>
+ </div>
</div>
</div>
- <div class="col-md-12">
- <h4>Select dates between which you want to review experiment statistics.</h4>
+ <div class="row">
+ <div class="col-md-12">
+ <h4>Select dates between which you want to review experiment statistics.</h4>
+ </div>
</div>
- <div class='col-md-5'>
- <div class="form-group">
- <div class='input-group date' id='datetimepicker9'>
- <input type='text' class="form-control" placeholder="From Date" name="from-date"/>
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-calendar"></span>
- </span>
+ <div class="row">
+ <div class='col-md-5'>
+ <div class="form-group">
+ <div class='input-group date' id='datetimepicker9'>
+ <input type='text' class="form-control" placeholder="From Date" name="from-date"/>
+ <span class="input-group-addon">
+ <span class="glyphicon glyphicon-calendar"></span>
+ </span>
+ </div>
</div>
</div>
+ <div class='col-md-5'>
+ <div class="form-group">
+ <div class='input-group date' id='datetimepicker10'>
+ <input type='text' class="form-control" placeholder="To Date" name="to-date"/>
+ <span class="input-group-addon">
+ <span class="glyphicon glyphicon-calendar"></span>
+ </span>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-2">
+ <button name="getStatistics" id="getStatistics" type="submit" class="btn btn-primary"
+ value="GetStatistics"><span
+ class="glyphicon glyphicon-search"></span> Get Statistics
+ </button>
+ </div>
</div>
- <div class='col-md-5'>
- <div class="form-group">
- <div class='input-group date' id='datetimepicker10'>
- <input type='text' class="form-control" placeholder="To Date" name="to-date"/>
- <span class="input-group-addon">
- <span class="glyphicon glyphicon-calendar"></span>
- </span>
+ <div class="row">
+ <div class="col-md-12">
+ <div class="form-group">
+ <div class="btn-group">
+ <button id="add-filter-dropdown" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
+ Add Filter <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu" role="menu">
+ <li><a id="add-username-filter" href="#">Username</a></li>
+ <li><a id="add-appname-filter" href="#">Application Name</a></li>
+ <li><a id="add-hostname-filter" href="#">Hostname</a></li>
+ </ul>
+ </div>
</div>
</div>
</div>
- <div class="col-md-2">
- <button name="getStatistics" id="getStatistics" type="submit" class="btn btn-primary"
- value="GetStatistics"><span
- class="glyphicon glyphicon-search"></span> Get Statistics
- </button>
+ <div class="row">
+ <div class="col-md-5 hide" id="username-filter-row">
+ <div class="form-group">
+ <div class='input-group'>
+ <input type='text' class="form-control" placeholder="Username" id="username" name="username"/>
+ <div class="input-group-btn">
+ <button id="remove-username-filter" class="btn btn-default" type="button">
+ <span class="glyphicon glyphicon-remove"></span>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-5 hide" id="appname-filter-row">
+ <div class="form-group">
+ <div class='input-group'>
+ <input type='text' class="form-control" placeholder="Application name" id="appname" name="appname"/>
+ <div class="input-group-btn">
+ <button id="remove-appname-filter" class="btn btn-default" type="button">
+ <span class="glyphicon glyphicon-remove"></span>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-5 hide" id="hostname-filter-row">
+ <div class="form-group">
+ <div class='input-group'>
+ <input type='text' class="form-control" placeholder="Hostname" id="hostname" name="hostname"/>
+ <div class="input-group-btn">
+ <button id="remove-hostname-filter" class="btn btn-default" type="button">
+ <span class="glyphicon glyphicon-remove"></span>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
</div>
</div>
@@ -376,9 +440,9 @@ to be uncommented when actually in use.
$("#myTabs").append('<li role="presentation"><a href="#' + expId + '" aria-controls="' + expId + '" role="tab" data-toggle="tab">' + expId + '<button type="button" style="margin-left:10px;" class="close pull-right close-tab" aria-label="Close"><span aria-hidden="true">×</span></button></a></li>');
$(".tab-content").append('<div role="tabpanel" class="tab-pane" id="' + expId + '">' + data + '</div>');
$('#myTabs a[href="#' + expId + '"]').tab('show') // Select tab by name
-
+
//$('#myTabs a[href="#expsummary"]').tab('show') // Select tab by name
-
+
//from time-conversion.js
updateTime();
}
@@ -433,7 +497,7 @@ to be uncommented when actually in use.
todayDate = moment(todayDate).utc().format('MM/DD/YYYY hh:mm a');
ydayDate = moment(ydayDate).utc().format('MM/DD/YYYY hh:mm a');
var msg = "Experiments statistics from last 24 hours";
- getExperiments( ydayDate, todayDate, msg);
+ getExperiments( ydayDate, todayDate, null, msg);
});
$(".oneWeekExp").click( function(){
@@ -444,7 +508,7 @@ to be uncommented when actually in use.
todayDate = moment(todayDate).utc().format('MM/DD/YYYY hh:mm a');
ydayDate = moment(ydayDate).utc().format('MM/DD/YYYY hh:mm a');
var msg = "Experiments statistics from last week";
- getExperiments( ydayDate, todayDate, msg);
+ getExperiments( ydayDate, todayDate, null, msg);
})
$("#getStatistics").click(function () {
@@ -452,22 +516,74 @@ to be uncommented when actually in use.
$fromTime = moment($fromTime).utc().format('MM/DD/YYYY hh:mm A');
$toTime = $("#datetimepicker10").find("input").val();
$toTime = moment($toTime).utc().format('MM/DD/YYYY hh:mm A');
+ var username = $('#username').val().trim();
+ console.log("username", username);
if ($fromTime == '' || $toTime == '') {
alert("Please Select Valid Date Inputs!");
} else {
- getExperiments( $fromTime, $toTime);
+ getExperiments( $fromTime, $toTime, username);
+ }
+ });
+
+ $("#add-username-filter").click(function() {
+ $("#username-filter-row").removeClass("hide");
+ $("#username-filter-row input").focus();
+ $("#add-filter-dropdown").dropdown('toggle');
+ $("#add-username-filter").addClass("hide");
+ return false;
+ });
+
+ $("#remove-username-filter").click(function() {
+ $("#username-filter-row").addClass("hide");
+ $("#username-filter-row input").val('');
+ $("#add-username-filter").removeClass("hide");
+ });
+
+ $("#add-appname-filter").click(function() {
+ $("#appname-filter-row").removeClass("hide");
+ $("#appname-filter-row input").focus();
+ $("#add-filter-dropdown").dropdown('toggle');
+ $("#add-appname-filter").addClass("hide");
+ return false;
+ });
+
+ $("#remove-appname-filter").click(function() {
+ $("#appname-filter-row").addClass("hide");
+ $("#appname-filter-row input").val('');
+ $("#add-appname-filter").removeClass("hide");
+ });
+
+ $("#add-hostname-filter").click(function() {
+ $("#hostname-filter-row").removeClass("hide");
+ $("#hostname-filter-row input").focus();
+ $("#add-filter-dropdown").dropdown('toggle');
+ $("#add-hostname-filter").addClass("hide");
+ return false;
+ });
+
+ $("#remove-hostname-filter").click(function() {
+ $("#hostname-filter-row").addClass("hide");
+ $("#hostname-filter-row input").val('');
+ $("#add-hostname-filter").removeClass("hide");
+ });
+
+ // submit request if user presses ENTER key
+ $("#username, #appname, #hostname").keydown(function(e) {
+ if (e.which === 13) {
+ $('#getStatistics').click();
+ return false;
}
});
// Load experiments from the last 24 hours on page load.
$(".oneDayExp").click();
- function getExperiments( startTime, endTime, msg){
+ function getExperiments( startTime, endTime, username, msg){
$(".experiment-statistics").html("");
$(".loading-img-statistics").removeClass("hide");
$.ajax({
- url: 'experimentStatistics?fromTime=' + startTime + '&' + 'toTime=' + endTime,
+ url: 'experimentStatistics?fromTime=' + startTime + '&' + 'toTime=' + endTime + '&username=' + encodeURIComponent(username),
type: 'get',
success: function (data) {
if( msg == null){
@@ -498,7 +614,7 @@ to be uncommented when actually in use.
hours = hours - 12;
}
var date = cd.getDate();
-
+
var todayDate = month + "/" + date + "/" + cd.getFullYear() + " " + hours + ":" + cd.getUTCMinutes() + " " + timeOfDay;
return todayDate;
}
[2/5] airavata-php-gateway git commit: AIRAVATA-1792 App name and
hostname filtering
Posted by sc...@apache.org.
AIRAVATA-1792 App name and hostname filtering
Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/60a8b48e
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/60a8b48e
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/60a8b48e
Branch: refs/heads/develop
Commit: 60a8b48e2716237f8a47a7f815352932987051bb
Parents: 84032b4
Author: Marcus Christie <ma...@iu.edu>
Authored: Tue Dec 13 10:27:10 2016 -0500
Committer: Marcus Christie <ma...@iu.edu>
Committed: Tue Dec 13 10:27:10 2016 -0500
----------------------------------------------------------------------
app/controllers/AdminController.php | 7 +++++--
app/libraries/AdminUtilities.php | 15 +++++++++++----
app/views/admin/experiment-statistics.blade.php | 12 ++++++------
app/views/admin/manage-experiments.blade.php | 17 +++++++++++------
4 files changed, 33 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/60a8b48e/app/controllers/AdminController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AdminController.php b/app/controllers/AdminController.php
index 7babeca..c2b547d 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -325,9 +325,12 @@ class AdminController extends BaseController {
if (Request::ajax()) {
$inputs = Input::all();
$username = Input::get('username');
+ $appname = Input::get('appname');
+ $hostname = Input::get('hostname');
$expStatistics = AdminUtilities::get_experiment_execution_statistics(strtotime($inputs['fromTime']) * 1000
- , strtotime($inputs['toTime']) * 1000, $username);
- return View::make("admin/experiment-statistics", array("expStatistics" => $expStatistics, "username" => $username));
+ , strtotime($inputs['toTime']) * 1000, $username, $appname, $hostname);
+ return View::make("admin/experiment-statistics", array("expStatistics" => $expStatistics,
+ "username" => $username, "appname" => $appname, "hostname" => $hostname));
}
}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/60a8b48e/app/libraries/AdminUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/AdminUtilities.php b/app/libraries/AdminUtilities.php
index a5ee37f..03d168b 100644
--- a/app/libraries/AdminUtilities.php
+++ b/app/libraries/AdminUtilities.php
@@ -125,14 +125,19 @@ class AdminUtilities
* @param $toTime
* @return \Airavata\Model\Experiment\ExperimentStatistics
*/
- public static function get_experiment_execution_statistics($fromTime, $toTime, $username)
+ public static function get_experiment_execution_statistics($fromTime, $toTime, $username, $appname, $hostname)
{
if (trim($username) == '') {
$username = null;
}
- Log::debug("get_experiment_execution_statistics", array($fromTime, $toTime, $username));
+ if (trim($appname) == '') {
+ $appname = null;
+ }
+ if (trim($hostname) == '') {
+ $hostname = null;
+ }
return Airavata::getExperimentStatistics(Session::get('authz-token'),
- Config::get('pga_config.airavata')['gateway-id'], $fromTime, $toTime, $username, null, null);
+ Config::get('pga_config.airavata')['gateway-id'], $fromTime, $toTime, $username, $appname, $hostname);
}
/**
@@ -145,7 +150,9 @@ class AdminUtilities
$experimentStatistics = AdminUtilities::get_experiment_execution_statistics(
strtotime($inputs["from-date"]) * 1000,
strtotime($inputs["to-date"]) * 1000,
- $inputs['username']
+ $inputs['username'],
+ $inputs['appname'],
+ $inputs['hostname']
);
$experiments = array();
if ($inputs["status-type"] == "ALL") {
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/60a8b48e/app/views/admin/experiment-statistics.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/experiment-statistics.blade.php b/app/views/admin/experiment-statistics.blade.php
index 8339193..e4a5c86 100644
--- a/app/views/admin/experiment-statistics.blade.php
+++ b/app/views/admin/experiment-statistics.blade.php
@@ -145,11 +145,9 @@
<div id="experiment-container" style="margin: 20px" class="experiment-container"></div>
<script>
- @if ($username)
- var username = "{{ $username }}";
- @else
- var username = null;
- @endif
+ var username = @if ($username) "{{ $username }}" @else null @endif;
+ var appname = @if ($appname) "{{ $appname }}" @else null @endif;
+ var hostname = @if ($hostname) "{{ $hostname }}" @else null @endif;
$("#getAllExperiments").click(function () {
getExperimentsOfStatus( 'ALL');
@@ -194,7 +192,9 @@
'search-key': 'creation-time',
'from-date': $fromTime,
'to-date': $toTime,
- 'username': username
+ 'username': username,
+ 'appname': appname,
+ 'hostname': hostname
},
async: false,
success: function (data) {
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/60a8b48e/app/views/admin/manage-experiments.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/manage-experiments.blade.php b/app/views/admin/manage-experiments.blade.php
index e3fd4e6..09c0e4e 100644
--- a/app/views/admin/manage-experiments.blade.php
+++ b/app/views/admin/manage-experiments.blade.php
@@ -497,7 +497,7 @@ to be uncommented when actually in use.
todayDate = moment(todayDate).utc().format('MM/DD/YYYY hh:mm a');
ydayDate = moment(ydayDate).utc().format('MM/DD/YYYY hh:mm a');
var msg = "Experiments statistics from last 24 hours";
- getExperiments( ydayDate, todayDate, null, msg);
+ getExperiments( ydayDate, todayDate, null, null, null, msg);
});
$(".oneWeekExp").click( function(){
@@ -508,7 +508,7 @@ to be uncommented when actually in use.
todayDate = moment(todayDate).utc().format('MM/DD/YYYY hh:mm a');
ydayDate = moment(ydayDate).utc().format('MM/DD/YYYY hh:mm a');
var msg = "Experiments statistics from last week";
- getExperiments( ydayDate, todayDate, null, msg);
+ getExperiments( ydayDate, todayDate, null, null, null, msg);
})
$("#getStatistics").click(function () {
@@ -517,11 +517,12 @@ to be uncommented when actually in use.
$toTime = $("#datetimepicker10").find("input").val();
$toTime = moment($toTime).utc().format('MM/DD/YYYY hh:mm A');
var username = $('#username').val().trim();
- console.log("username", username);
+ var appname = $('#appname').val().trim();
+ var hostname = $('#hostname').val().trim();
if ($fromTime == '' || $toTime == '') {
alert("Please Select Valid Date Inputs!");
} else {
- getExperiments( $fromTime, $toTime, username);
+ getExperiments( $fromTime, $toTime, username, appname, hostname);
}
});
@@ -578,12 +579,15 @@ to be uncommented when actually in use.
// Load experiments from the last 24 hours on page load.
$(".oneDayExp").click();
- function getExperiments( startTime, endTime, username, msg){
+ function getExperiments( startTime, endTime, username, appname, hostname, msg){
$(".experiment-statistics").html("");
$(".loading-img-statistics").removeClass("hide");
$.ajax({
- url: 'experimentStatistics?fromTime=' + startTime + '&' + 'toTime=' + endTime + '&username=' + encodeURIComponent(username),
+ url: 'experimentStatistics?fromTime=' + startTime + '&' + 'toTime=' + endTime
+ + '&username=' + encodeURIComponent(username)
+ + '&appname=' + encodeURIComponent(appname)
+ + '&hostname=' + encodeURIComponent(hostname),
type: 'get',
success: function (data) {
if( msg == null){
@@ -591,6 +595,7 @@ to be uncommented when actually in use.
end = new Date(endTime + ' UTC');
msg = "Experiment Statistics from " + start.toLocaleTimeString() + " to " + end.toLocaleTimeString();
}
+ // TODO: update message to include username, appname and hostname?
$(".experiment-statistics").html( "<h2 class='text-center'>" + msg + "</h2><hr/>" + data);
}
}).complete(function () {
[3/5] airavata-php-gateway git commit: AIRAVATA-1792 App/hostname
filters are select controls
Posted by sc...@apache.org.
AIRAVATA-1792 App/hostname filters are select controls
Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/8fee1f78
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/8fee1f78
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/8fee1f78
Branch: refs/heads/develop
Commit: 8fee1f7845678bab5fbb3eafdbc9309c4c897663
Parents: 60a8b48
Author: Marcus Christie <ma...@iu.edu>
Authored: Tue Dec 13 10:51:53 2016 -0500
Committer: Marcus Christie <ma...@iu.edu>
Committed: Tue Dec 13 10:51:53 2016 -0500
----------------------------------------------------------------------
app/controllers/AdminController.php | 7 +++++-
app/views/admin/manage-experiments.blade.php | 26 ++++++++++++++++-------
2 files changed, 24 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/8fee1f78/app/controllers/AdminController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AdminController.php b/app/controllers/AdminController.php
index c2b547d..ec6af5d 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -185,7 +185,12 @@ class AdminController extends BaseController {
public function experimentsView(){
Session::put("admin-nav", "exp-statistics");
- return View::make("admin/manage-experiments" );
+
+ $applications = AppUtilities::get_all_applications();
+ uksort($applications, 'strcasecmp');
+ $hostnames = CRUtilities::getAllCRObjects(true);
+ uksort($hostnames, 'strcasecmp');
+ return View::make("admin/manage-experiments", array("applications" => $applications, "hostnames" => $hostnames));
}
public function resourcesView(){
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/8fee1f78/app/views/admin/manage-experiments.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/manage-experiments.blade.php b/app/views/admin/manage-experiments.blade.php
index 09c0e4e..54ff414 100644
--- a/app/views/admin/manage-experiments.blade.php
+++ b/app/views/admin/manage-experiments.blade.php
@@ -121,7 +121,12 @@
<div class="col-md-5 hide" id="appname-filter-row">
<div class="form-group">
<div class='input-group'>
- <input type='text' class="form-control" placeholder="Application name" id="appname" name="appname"/>
+ <select id="appname" name="appname" class="form-control">
+ <option value="">Select Application</option>
+ @foreach ($applications as $applicationId => $applicationName)
+ <option value="{{ $applicationId }}">{{{ $applicationName }}}</option>
+ @endforeach
+ </select>
<div class="input-group-btn">
<button id="remove-appname-filter" class="btn btn-default" type="button">
<span class="glyphicon glyphicon-remove"></span>
@@ -135,7 +140,12 @@
<div class="col-md-5 hide" id="hostname-filter-row">
<div class="form-group">
<div class='input-group'>
- <input type='text' class="form-control" placeholder="Hostname" id="hostname" name="hostname"/>
+ <select id="hostname" name="hostname" class="form-control">
+ <option value="">Select Hostname</option>
+ @foreach ($hostnames as $hostnameId => $hostname)
+ <option value="{{ $hostnameId }}">{{{ $hostname }}}</option>
+ @endforeach
+ </select>
<div class="input-group-btn">
<button id="remove-hostname-filter" class="btn btn-default" type="button">
<span class="glyphicon glyphicon-remove"></span>
@@ -542,7 +552,7 @@ to be uncommented when actually in use.
$("#add-appname-filter").click(function() {
$("#appname-filter-row").removeClass("hide");
- $("#appname-filter-row input").focus();
+ $("#appname-filter-row select").focus();
$("#add-filter-dropdown").dropdown('toggle');
$("#add-appname-filter").addClass("hide");
return false;
@@ -550,13 +560,13 @@ to be uncommented when actually in use.
$("#remove-appname-filter").click(function() {
$("#appname-filter-row").addClass("hide");
- $("#appname-filter-row input").val('');
+ $("#appname-filter-row select").val('');
$("#add-appname-filter").removeClass("hide");
});
$("#add-hostname-filter").click(function() {
$("#hostname-filter-row").removeClass("hide");
- $("#hostname-filter-row input").focus();
+ $("#hostname-filter-row select").focus();
$("#add-filter-dropdown").dropdown('toggle');
$("#add-hostname-filter").addClass("hide");
return false;
@@ -564,12 +574,12 @@ to be uncommented when actually in use.
$("#remove-hostname-filter").click(function() {
$("#hostname-filter-row").addClass("hide");
- $("#hostname-filter-row input").val('');
+ $("#hostname-filter-row select").val('');
$("#add-hostname-filter").removeClass("hide");
});
- // submit request if user presses ENTER key
- $("#username, #appname, #hostname").keydown(function(e) {
+ // get statistics if user presses ENTER key in username filter field
+ $("#username").keydown(function(e) {
if (e.which === 13) {
$('#getStatistics').click();
return false;
[4/5] airavata-php-gateway git commit: AIRAVATA-1792 Updating Thrift
stubs
Posted by sc...@apache.org.
AIRAVATA-1792 Updating Thrift stubs
Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/dc4a638c
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/dc4a638c
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/dc4a638c
Branch: refs/heads/develop
Commit: dc4a638c092649fa789c8031e29e12ea2a1c7b34
Parents: 8fee1f7
Author: Marcus Christie <ma...@iu.edu>
Authored: Tue Dec 13 11:16:49 2016 -0500
Committer: Marcus Christie <ma...@iu.edu>
Committed: Tue Dec 13 11:16:49 2016 -0500
----------------------------------------------------------------------
app/libraries/Airavata/API/Airavata.php | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/dc4a638c/app/libraries/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/API/Airavata.php b/app/libraries/Airavata/API/Airavata.php
index cc90cc6..37c76dd 100644
--- a/app/libraries/Airavata/API/Airavata.php
+++ b/app/libraries/Airavata/API/Airavata.php
@@ -651,7 +651,15 @@ interface AiravataIf {
* @param toTime
* Ending data time.
*
- * TODO update docs
+ * @param userName
+ * Gateway username substring with which to further filter statistics.
+ *
+ * @param applicationName
+ * Application id substring with which to further filter statistics.
+ *
+ * @param resourceHostName
+ * Hostname id substring with which to further filter statistics.
+ *
*
*
* @param \Airavata\Model\Security\AuthzToken $authzToken
[5/5] airavata-php-gateway git commit: merging pull request 52
Posted by sc...@apache.org.
merging pull request 52
Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/a895abed
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/a895abed
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/a895abed
Branch: refs/heads/develop
Commit: a895abedff656f9745654b12bf645bcd3af4e737
Parents: 838ca7c dc4a638
Author: scnakandala <su...@gmail.com>
Authored: Tue Dec 13 17:15:21 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Tue Dec 13 17:15:21 2016 -0500
----------------------------------------------------------------------
app/controllers/AdminController.php | 15 +-
app/libraries/AdminUtilities.php | 18 +-
app/libraries/Airavata/API/Airavata.php | 92 ++++++++-
app/views/admin/experiment-statistics.blade.php | 8 +-
app/views/admin/manage-experiments.blade.php | 199 +++++++++++++++----
5 files changed, 287 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/a895abed/app/controllers/AdminController.php
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/a895abed/app/libraries/Airavata/API/Airavata.php
----------------------------------------------------------------------