You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ss...@apache.org on 2013/11/18 18:36:46 UTC

[1/3] git commit: Added 'completed_frameworks' sorter for /frameworks.

Updated Branches:
  refs/heads/master 0b736cf67 -> 30c54bcf4


Added 'completed_frameworks' sorter for /frameworks.

Completed frameworks were added to the /frameworks page in commit
77c72f3639024168996ad3257908b558beed3996, but a table sorter was not
added. This makes it possible to sort the table by any of its columns.

Review: http://reviews.apache.org/r/15581


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/30c54bcf
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/30c54bcf
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/30c54bcf

Branch: refs/heads/master
Commit: 30c54bcf4b4f5051e02ec6227f1dd378ef51aec2
Parents: bc72308
Author: Ross Allen <ro...@gmail.com>
Authored: Thu Nov 14 16:20:01 2013 -0800
Committer: Ross Allen <ro...@gmail.com>
Committed: Mon Nov 18 09:35:56 2013 -0800

----------------------------------------------------------------------
 src/webui/master/static/js/controllers.js | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/30c54bcf/src/webui/master/static/js/controllers.js
----------------------------------------------------------------------
diff --git a/src/webui/master/static/js/controllers.js b/src/webui/master/static/js/controllers.js
index 1c2e73a..a4c6806 100644
--- a/src/webui/master/static/js/controllers.js
+++ b/src/webui/master/static/js/controllers.js
@@ -369,6 +369,7 @@
 
     $scope.tables = {};
     $scope.tables['frameworks'] = new Table('id');
+    $scope.tables['completed_frameworks'] = new Table('id');
 
     $scope.columnClass = columnClass($scope);
     $scope.selectColumn = selectColumn($scope);


[3/3] git commit: Saved KB/MB/GB bytes as constants to save multiplication.

Posted by ss...@apache.org.
Saved KB/MB/GB bytes as constants to save multiplication.

Each time the 'dataSize' filter was called, the function did lots of
multiplication to get bytes per KB, MB, and GB to determine how to
print the string.

Moving the constants outside the function returned by the filter means
the multiplication is done only one time on app start up instead of in
each call.

* Added 1 digit to the right of the decimal point for GB. 6.5 GB is
  very different from 7 GB.

Review: http://reviews.apache.org/r/15579


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/8fd1f555
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/8fd1f555
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/8fd1f555

Branch: refs/heads/master
Commit: 8fd1f55511d4cb6fb561f0e9e02bd95236c111e9
Parents: 0b736cf
Author: Ross Allen <ro...@gmail.com>
Authored: Thu Nov 14 11:03:38 2013 -0800
Committer: Ross Allen <ro...@gmail.com>
Committed: Mon Nov 18 09:35:56 2013 -0800

----------------------------------------------------------------------
 src/webui/master/static/js/app.js | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/8fd1f555/src/webui/master/static/js/app.js
----------------------------------------------------------------------
diff --git a/src/webui/master/static/js/app.js b/src/webui/master/static/js/app.js
index 163c50b..728758d 100644
--- a/src/webui/master/static/js/app.js
+++ b/src/webui/master/static/js/app.js
@@ -83,17 +83,21 @@
       };
     })
     .filter('dataSize', function() {
+      var BYTES_PER_KB = Math.pow(2, 10);
+      var BYTES_PER_MB = Math.pow(2, 20);
+      var BYTES_PER_GB = Math.pow(2, 30);
+
       return function(bytes) {
-        if (bytes === null || bytes === undefined || isNaN(bytes)) {
+        if (bytes == null || isNaN(bytes)) {
           return '';
-        } else if (bytes < 1024) {
+        } else if (bytes < BYTES_PER_KB) {
           return bytes.toFixed() + ' B';
-        } else if (bytes < (1024 * 1024)) {
-          return (bytes / 1024).toFixed() + ' KB';
-        } else if (bytes < (1024 * 1024 * 1024)) {
-          return (bytes / (1024 * 1024)).toFixed() + ' MB';
+        } else if (bytes < BYTES_PER_MB) {
+          return (bytes / BYTES_PER_KB).toFixed() + ' KB';
+        } else if (bytes < BYTES_PER_GB) {
+          return (bytes / BYTES_PER_MB).toFixed() + ' MB';
         } else {
-          return (bytes / (1024 * 1024 * 1024)).toFixed() + ' GB';
+          return (bytes / BYTES_PER_GB).toFixed(1) + ' GB';
         }
       };
     })


[2/3] git commit: Removed unnecessary wrapping .row from frameworks.

Posted by ss...@apache.org.
Removed unnecessary wrapping .row from frameworks.

Single-column layouts in Bootstrap do not need to use .row .span-12
since width: 100% already has the same effect.

frameworks.html now matches the other tabs, slaves.html and offers.html.

Review: http://reviews.apache.org/r/15580


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/bc723085
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/bc723085
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/bc723085

Branch: refs/heads/master
Commit: bc723085831dc1729524c79c7871056c984222ec
Parents: 8fd1f55
Author: Ross Allen <ro...@gmail.com>
Authored: Thu Nov 14 11:09:36 2013 -0800
Committer: Ross Allen <ro...@gmail.com>
Committed: Mon Nov 18 09:35:56 2013 -0800

----------------------------------------------------------------------
 src/webui/master/static/frameworks.html | 310 +++++++++++++--------------
 1 file changed, 153 insertions(+), 157 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/bc723085/src/webui/master/static/frameworks.html
----------------------------------------------------------------------
diff --git a/src/webui/master/static/frameworks.html b/src/webui/master/static/frameworks.html
index 834baf9..f6594ae 100644
--- a/src/webui/master/static/frameworks.html
+++ b/src/webui/master/static/frameworks.html
@@ -8,161 +8,157 @@
   </li>
 </ul>
 
-<div class="row">
-  <div class="span12">
-    <h3 id="frameworks">Active Frameworks</h3>
-    <table class="table table-striped table-bordered table-condensed">
-      <thead>
-        <tr>
-          <th ng-class="columnClass('frameworks', 'id')"
-              ng-click="selectColumn('frameworks', 'id')">
-            ID
-          </th>
-          <th ng-class="columnClass('frameworks', 'user')"
-              ng-click="selectColumn('frameworks', 'user')">
-            User
-          </th>
-          <th ng-class="columnClass('frameworks', 'name')"
-              ng-click="selectColumn('frameworks', 'name')">
-            Name
-          </th>
-          <th ng-class="columnClass('frameworks', 'tasks.length')"
-              ng-click="selectColumn('frameworks', 'tasks.length')">
-            Active Tasks
-          </th>
-          <th ng-class="columnClass('frameworks', 'resources.cpus')"
-              ng-click="selectColumn('frameworks', 'resources.cpus')">
-            CPUs
-          </th>
-          <th ng-class="columnClass('frameworks', 'resources.mem')"
-              ng-click="selectColumn('frameworks', 'resources.mem')">
-            Mem
-          </th>
-          <th ng-class="columnClass('frameworks', 'max_share')"
-              ng-click="selectColumn('frameworks', 'max_share')">
-            Max Share
-          </th>
-          <th ng-class="columnClass('frameworks', 'registered_time')"
-              ng-click="selectColumn('frameworks', 'registered_time')">
-            Registered
-          </th>
-          <th ng-class="columnClass('frameworks', 'reregistered_time')"
-              ng-click="selectColumn('frameworks', 'reregistered_time')">
-            Re-Registered
-          </th>
-        </tr>
-      </thead>
-      <tbody>
-        <tr ng-repeat="framework in _.values(frameworks) | orderBy:tables['frameworks'].selected_column:tables['frameworks'].reverse">
-          <td>
-            <a href="{{'#/frameworks/' + framework.id}}">
-              {{(framework.id | truncateMesosID) || framework.name}}</a>
-            <button class="btn btn-mini btn-toggle"
-              clipboard
-              data-clipboard-text="{{framework.id}}"
-              tooltip="Copy ID"
-              tooltip-placement="right"
-              tooltip-trigger="clipboardhover">
-            </button>
-          </td>
-          <td>{{framework.user}}</td>
-          <td>{{framework.name}}</td>
-          <td>{{framework.tasks.length}}</td>
-          <td>{{framework.resources.cpus | number}}</td>
-          <td>{{framework.resources.mem * (1024 * 1024) | dataSize}}</td>
-          <td>{{framework.max_share * 100 | number}}%</td>
-          <td>
-            <abbr title="{{framework.registered_time * 1000 | isoDate}}">
-              {{framework.registered_time * 1000 | relativeDate}}</abbr>
-            <button class="btn btn-mini btn-toggle"
-              clipboard
-              data-clipboard-text="{{framework.registered_time * 1000 | isoDate}}"
-              tooltip="Copy timestamp"
-              tooltip-placement="right"
-              tooltip-trigger="clipboardhover">
-            </button>
-          </td>
-          <td ng-show="!framework.reregistered_time">-</td>
-          <td ng-show="framework.reregistered_time">
-            <abbr title="{{framework.reregistered_time * 1000 | isoDate}}">
-              {{framework.reregistered_time * 1000 | relativeDate}}</abbr>
-            <button class="btn btn-mini btn-toggle"
-              clipboard
-              data-clipboard-text="{{framework.registered_time * 1000 | isoDate}}"
-              tooltip="Copy timestamp"
-              tooltip-placement="right"
-              tooltip-trigger="clipboardhover">
-            </button>
-          </td>
-        </tr>
-      </tbody>
-    </table>
+<h3 id="frameworks">Active Frameworks</h3>
+<table class="table table-striped table-bordered table-condensed">
+  <thead>
+    <tr>
+      <th ng-class="columnClass('frameworks', 'id')"
+          ng-click="selectColumn('frameworks', 'id')">
+        ID
+      </th>
+      <th ng-class="columnClass('frameworks', 'user')"
+          ng-click="selectColumn('frameworks', 'user')">
+        User
+      </th>
+      <th ng-class="columnClass('frameworks', 'name')"
+          ng-click="selectColumn('frameworks', 'name')">
+        Name
+      </th>
+      <th ng-class="columnClass('frameworks', 'tasks.length')"
+          ng-click="selectColumn('frameworks', 'tasks.length')">
+        Active Tasks
+      </th>
+      <th ng-class="columnClass('frameworks', 'resources.cpus')"
+          ng-click="selectColumn('frameworks', 'resources.cpus')">
+        CPUs
+      </th>
+      <th ng-class="columnClass('frameworks', 'resources.mem')"
+          ng-click="selectColumn('frameworks', 'resources.mem')">
+        Mem
+      </th>
+      <th ng-class="columnClass('frameworks', 'max_share')"
+          ng-click="selectColumn('frameworks', 'max_share')">
+        Max Share
+      </th>
+      <th ng-class="columnClass('frameworks', 'registered_time')"
+          ng-click="selectColumn('frameworks', 'registered_time')">
+        Registered
+      </th>
+      <th ng-class="columnClass('frameworks', 'reregistered_time')"
+          ng-click="selectColumn('frameworks', 'reregistered_time')">
+        Re-Registered
+      </th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr ng-repeat="framework in _.values(frameworks) | orderBy:tables['frameworks'].selected_column:tables['frameworks'].reverse">
+      <td>
+        <a href="{{'#/frameworks/' + framework.id}}">
+          {{(framework.id | truncateMesosID) || framework.name}}</a>
+        <button class="btn btn-mini btn-toggle"
+          clipboard
+          data-clipboard-text="{{framework.id}}"
+          tooltip="Copy ID"
+          tooltip-placement="right"
+          tooltip-trigger="clipboardhover">
+        </button>
+      </td>
+      <td>{{framework.user}}</td>
+      <td>{{framework.name}}</td>
+      <td>{{framework.tasks.length}}</td>
+      <td>{{framework.resources.cpus | number}}</td>
+      <td>{{framework.resources.mem * (1024 * 1024) | dataSize}}</td>
+      <td>{{framework.max_share * 100 | number}}%</td>
+      <td>
+        <abbr title="{{framework.registered_time * 1000 | isoDate}}">
+          {{framework.registered_time * 1000 | relativeDate}}</abbr>
+        <button class="btn btn-mini btn-toggle"
+          clipboard
+          data-clipboard-text="{{framework.registered_time * 1000 | isoDate}}"
+          tooltip="Copy timestamp"
+          tooltip-placement="right"
+          tooltip-trigger="clipboardhover">
+        </button>
+      </td>
+      <td ng-show="!framework.reregistered_time">-</td>
+      <td ng-show="framework.reregistered_time">
+        <abbr title="{{framework.reregistered_time * 1000 | isoDate}}">
+          {{framework.reregistered_time * 1000 | relativeDate}}</abbr>
+        <button class="btn btn-mini btn-toggle"
+          clipboard
+          data-clipboard-text="{{framework.registered_time * 1000 | isoDate}}"
+          tooltip="Copy timestamp"
+          tooltip-placement="right"
+          tooltip-trigger="clipboardhover">
+        </button>
+      </td>
+    </tr>
+  </tbody>
+</table>
 
-    <h3>Terminated Frameworks</h3>
-    <table class="table table-striped table-bordered table-condensed">
-      <thead>
-        <tr>
-          <th ng-class="columnClass('completed_frameworks', 'id')"
-              ng-click="selectColumn('completed_frameworks', 'id')">
-            ID
-          </th>
-          <th ng-class="columnClass('completed_frameworks', 'user')"
-              ng-click="selectColumn('completed_frameworks', 'user')">
-            User
-          </th>
-          <th ng-class="columnClass('completed_frameworks', 'name')"
-              ng-click="selectColumn('completed_frameworks', 'name')">
-            Name
-          </th>
-          <th ng-class="columnClass('completed_frameworks', 'registered_time')"
-              ng-click="selectColumn('completed_frameworks', 'registered_time')">
-            Registered
-          </th>
-          <th ng-class="columnClass('completed_frameworks', 'unregistered_time')"
-              ng-click="selectColumn('completed_frameworks', 'unregistered_time')">
-            Unregistered
-          </th>
-        </tr>
-      </thead>
-      <tbody>
-        <tr ng-repeat="framework in _.values(completed_frameworks) | orderBy:tables['completed_frameworks'].selected_column:tables['completed_frameworks'].reverse">
-          <td>
-            <a href="{{'#/frameworks/' + framework.id}}" title="{{framework.id}}">
-              {{framework.id | truncateMesosID}}</a>
-            <button class="btn btn-mini btn-toggle"
-              clipboard
-              data-clipboard-text="{{framework.id}}"
-              tooltip="Copy ID"
-              tooltip-placement="right"
-              tooltip-trigger="clipboardhover">
-            </button>
-          </td>
-          <td>{{framework.user}}</td>
-          <td>{{framework.name}}</td>
-          <td>
-            <abbr title="{{framework.registered_time * 1000 | isoDate}}">
-              {{framework.registered_time * 1000 | relativeDate}}</abbr>
-            <button class="btn btn-mini btn-toggle"
-              clipboard
-              data-clipboard-text="{{framework.reregistered_time * 1000 | isoDate}}"
-              tooltip="Copy timestamp"
-              tooltip-placement="right"
-              tooltip-trigger="clipboardhover">
-            </button>
-          </td>
-          <td>
-            <abbr title="{{framework.unregistered_time * 1000 | isoDate}}">
-              {{framework.unregistered_time * 1000 | relativeDate}}</abbr>
-            <button class="btn btn-mini btn-toggle"
-              clipboard
-              data-clipboard-text="{{framework.unregistered_time * 1000 | isoDate}}"
-              tooltip="Copy timestamp"
-              tooltip-placement="right"
-              tooltip-trigger="clipboardhover">
-            </button>
-          </td>
-        </tr>
-      </tbody>
-    </table>
-  </div>
-</div>
+<h3>Terminated Frameworks</h3>
+<table class="table table-striped table-bordered table-condensed">
+  <thead>
+    <tr>
+      <th ng-class="columnClass('completed_frameworks', 'id')"
+          ng-click="selectColumn('completed_frameworks', 'id')">
+        ID
+      </th>
+      <th ng-class="columnClass('completed_frameworks', 'user')"
+          ng-click="selectColumn('completed_frameworks', 'user')">
+        User
+      </th>
+      <th ng-class="columnClass('completed_frameworks', 'name')"
+          ng-click="selectColumn('completed_frameworks', 'name')">
+        Name
+      </th>
+      <th ng-class="columnClass('completed_frameworks', 'registered_time')"
+          ng-click="selectColumn('completed_frameworks', 'registered_time')">
+        Registered
+      </th>
+      <th ng-class="columnClass('completed_frameworks', 'unregistered_time')"
+          ng-click="selectColumn('completed_frameworks', 'unregistered_time')">
+        Unregistered
+      </th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr ng-repeat="framework in _.values(completed_frameworks) | orderBy:tables['completed_frameworks'].selected_column:tables['completed_frameworks'].reverse">
+      <td>
+        <a href="{{'#/frameworks/' + framework.id}}" title="{{framework.id}}">
+          {{framework.id | truncateMesosID}}</a>
+        <button class="btn btn-mini btn-toggle"
+          clipboard
+          data-clipboard-text="{{framework.id}}"
+          tooltip="Copy ID"
+          tooltip-placement="right"
+          tooltip-trigger="clipboardhover">
+        </button>
+      </td>
+      <td>{{framework.user}}</td>
+      <td>{{framework.name}}</td>
+      <td>
+        <abbr title="{{framework.registered_time * 1000 | isoDate}}">
+          {{framework.registered_time * 1000 | relativeDate}}</abbr>
+        <button class="btn btn-mini btn-toggle"
+          clipboard
+          data-clipboard-text="{{framework.reregistered_time * 1000 | isoDate}}"
+          tooltip="Copy timestamp"
+          tooltip-placement="right"
+          tooltip-trigger="clipboardhover">
+        </button>
+      </td>
+      <td>
+        <abbr title="{{framework.unregistered_time * 1000 | isoDate}}">
+          {{framework.unregistered_time * 1000 | relativeDate}}</abbr>
+        <button class="btn btn-mini btn-toggle"
+          clipboard
+          data-clipboard-text="{{framework.unregistered_time * 1000 | isoDate}}"
+          tooltip="Copy timestamp"
+          tooltip-placement="right"
+          tooltip-trigger="clipboardhover">
+        </button>
+      </td>
+    </tr>
+  </tbody>
+</table>