LP#1739504 - create prototype of latency test tool in webstaff
authorCesar Velez <cesar.velez@equinoxinitiative.org>
Wed, 20 Dec 2017 23:38:28 +0000 (18:38 -0500)
committerDan Wells <dbw2@calvin.edu>
Thu, 1 Mar 2018 03:53:09 +0000 (22:53 -0500)
Basic websocket latency tester. Just pings opensrf.system.echo.
Initial first test runs 10 pings, calculates average each time.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Conflicts:
Open-ILS/web/js/ui/default/staff/admin/workstation/app.js

Add missing pieces for latency tester (commits got out of order,
sorry!).

Signed-off-by: Dan Wells <dbw2@calvin.edu>

Open-ILS/src/templates/staff/admin/workstation/t_splash.tt2
Open-ILS/src/templates/staff/admin/workstation/t_tests.tt2 [new file with mode: 0644]
Open-ILS/web/js/ui/default/staff/admin/workstation/app.js

index 94c1140..345f7db 100644 (file)
       </div>
 
       <div class="row new-entry">
+        <div class="col-md-6">
+          <span class="glyphicon glyphicon-wrench"></span>
+          <a target="_self" href="./admin/workstation/tests">
+            [% l('Tests') %]
+          </a>
+        </div>
+      </div>
+
+      <div class="row new-entry">
         <div class="col-md-4">
           <div class="checkbox">
             <label>
diff --git a/Open-ILS/src/templates/staff/admin/workstation/t_tests.tt2 b/Open-ILS/src/templates/staff/admin/workstation/t_tests.tt2
new file mode 100644 (file)
index 0000000..767a80c
--- /dev/null
@@ -0,0 +1,41 @@
+<div class="container-fluid text-center">
+  <div class="alert alert-info alert-less-pad strong-text-2">
+    <span>[% l('Webclient Latency Test') %]</span>
+  </div>
+</div>
+
+<div class="row">
+  <div class="col-md-8">
+    <div class="panel panel-default">
+      <div class="panel-heading">[% l('Server Details') %]</div>
+      <div class="panel-body">
+       <!-- <div class="row pad-vert nav-pills-like-tabs">
+          <div class="col-md-6">[% l('Evergreen Version') %]</div>
+          <div class="col-md-6">{{context.version}}</div>
+        </div> -->
+        <div class="row pad-vert">
+          <div class="col-md-6">[% l('Hostname') %]</div>
+          <div class="col-md-6">{{hostname}}</div>
+        </div>
+      </div>
+    </div><!--panel-->
+   </div>
+</div>
+<div class="row">
+  <div class="col-md-8">
+    <h2>[% l('Latency Test') %]</h2>
+    <p>[% |l %]This will measure the websocket latency between your workstation client and the Evergreen server at the host above.[% END %]
+    </p>
+    <button ng-disable="isTesting" ng-click="testLatency()" type="button" class="btn btn-primary">Start Test</button>
+    <button ng-click='clearTestData()' type="button" class="btn btn-secondary">Clear</button>
+    <ol id="pingData">
+      <p>Latency results for {{hostname}}. Average Latency: <span ng-bind="avrg"></span> ms</p>
+      <li ng-show="tests.length" ng-repeat="t in tests">Time: {{t.t}} Latency: {{t.l}} ms</li>
+    </ol>
+    <button ng-disabled="!canCopyCommand" ng-click="copyTests()" type="button" class="btn btn-light btn-sm">Copy to Clipboard</button>
+  </div>
+</div>
+
+
+
+
index 4ca997d..de6e94f 100644 (file)
@@ -44,6 +44,12 @@ angular.module('egWorkstationAdmin',
         resolve : resolver
     });
 
+    $routeProvider.when('/admin/workstation/tests', {
+        templateUrl: './admin/workstation/t_tests',
+        controller: 'testsCtrl',
+        resolve : resolver
+    });
+    
     // default page 
     $routeProvider.otherwise({
         templateUrl : './admin/workstation/t_splash',