kloudbuster/kb_web/app/views/interval.html

385 lines
24 KiB
HTML

<!--Copyright 2015 Cisco Systems, Inc. All rights reserved.-->
<!--Licensed under the Apache License, Version 2.0 (the "License"); you may-->
<!--not use this file except in compliance with the License. You may obtain-->
<!--a copy of the License at-->
<!--http://www.apache.org/licenses/LICENSE-2.0-->
<!--Unless required by applicable law or agreed to in writing, software-->
<!--distributed under the License is distributed on an "AS IS" BASIS, WITHOUT-->
<!--WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the-->
<!--License for the specific language governing permissions and limitations-->
<!--under the License.-->
<!--<alert ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)" style="background-color:#ffcc99;color:white">{{alert.msg}}</alert>-->
<div style="text-align:right;">
<div class="btn-group">
<a href="" class="btn btn-default" ng-click="stage()" ng-disabled="setUnstage" style="width:100px">{{stageButton}}</a>
<!--<a herf="" class="btn btn-default" ng-click="setConfig()" ng-disabled="setStatus">Save Settings</a>-->
<a href="" class="btn btn-default" ng-click="scaleTest()" ng-disabled="runStatus" style="width:100px">{{runButton}}</a>
</div>
<!--<button type="submit" class="btn btn-default" ng-click="CleanUp()">Unstage</button>-->
<!--<button type="submit" class="btn btn-warning" ng-click="setConfig()" ng-disabled="setStatus">Save Settings</button>-->
<!--<button type="submit" class="btn btn-primary" ng-click="scaleTest()" ng-disabled="runStatus">{{runButton}}</button>-->
</div>
<div class="supercontainer">
<div class="container">
<div id="sidebar">
<div class="">
<accordion close-others="oneAtATime">
<accordion-group heading="" is-open="status1.open">
<accordion-heading>
Staging Settings <i class="pull-right glyphicon"
ng-class="{'glyphicon-chevron-down': !status1.open, 'glyphicon-chevron-up': status1.open}"></i>
</accordion-heading>
<div class="col-lg-14" id="stagingConfig">
<form class="bs-component" name="monitoring_staging_settings">
<md-content layout-padding style="padding:0">
<md-input-container class="col-md-12" style="padding-top:0">
<label>Tenants</label>
<input type="number" min="1" max="9999" step="1" id="number_tenants"
ng-model="config.server.number_tenants" name="number_tenants"
ng-pattern="/^[1-9][0-9]{0,3}$/i"
required style="text-align:left;"/>
<div ng-messages="interactive_staging_settings.number_tenants.$error"
ng-if="interactive_staging_settings.number_tenants.$dirty">
<div ng-message="required" style="text-align:left;">This field is required</div>
<div ng-message="pattern" style="text-align:left;">Must be a number between 1 and 9999</div>
</div>
</md-input-container>
<md-input-container class="col-md-12">
<label>Routers/Tenant</label>
<input type="number" min="1" max="999" step="1" id="server_routers_per_tenant"
ng-model="config.server.routers_per_tenant" name="server_routers_per_tenant"
ng-pattern="/^[1-9][0-9]{0,2}$/i" required style="text-align:left;"/>
<div ng-messages="interactive_staging_settings.server_routers_per_tenant.$error"
ng-if="interactive_staging_settings.server_routers_per_tenant.$dirty">
<div ng-message="required" style="text-align:left;">This field is required</div>
<div ng-message="pattern" style="text-align:left;">Must be a number between 1 and 999</div>
</div>
</md-input-container>
<md-input-container class="col-md-12">
<label>Networks/Router</label>
<input type="number" min="1" max="999" step="1" id="server_networks_per_router"
ng-model="config.server.networks_per_router" name="server_networks_per_router"
ng-pattern="/^[1-9][0-9]{0,2}$/i" required style="text-align:left;"/>
<div ng-messages="interactive_staging_settings.server_networks_per_router.$error"
ng-if="interactive_staging_settings.server_networks_per_router.$dirty">
<div ng-message="required" style="text-align:left;">This field is required</div>
<div ng-message="pattern" style="text-align:left;">Must be a number between 1 and 999</div>
</div>
</md-input-container>
<md-input-container class="col-md-12">
<label>VMs/Network</label>
<input type="number" min="1" max="999" step="1" id="server_vms_per_network"
ng-model="config.server.vms_per_network" name="server_vms_per_network"
ng-pattern="/^[1-9][0-9]{0,2}$/i" required style="text-align:left;"/>
<div ng-messages="interactive_staging_settings.server_vms_per_network.$error"
ng-if="interactive_staging_settings.server_vms_per_network.$dirty">
<div ng-message="required" style="text-align:left;">This field is required</div>
<div ng-message="pattern" style="text-align:left;">Must be a number between 1 and 999</div>
</div>
</md-input-container>
<md-input-container class="col-md-12">
<label>Secgroups/Network</label>
<input type="number" min="1" max="999" step="1" id="server_secgroups_per_network"
ng-model="config.server.secgroups_per_network"
name="server_secgroups_per_network" ng-pattern="/^[1-9][0-9]{0,2}$/i" required
style="text-align:left;"/>
<div ng-messages="interactive_staging_settings.server_secgroups_per_network.$error"
ng-if="interactive_staging_settings.server_secgroups_per_network.$dirty">
<div ng-message="required" style="text-align:left;">This field is required</div>
<div ng-message="pattern" style="text-align:left;">Must be a number between 1 and 999</div>
</div>
</md-input-container>
</md-content>
<!--<div class="input-group col-sm-12" style="margin:0 auto" popover="Number of tenants to be created on the cloud" popover-trigger="mouseenter" popover-placement="right">-->
<!--<span class="input-group-addon">Tenants</span>-->
<!--<input type="number" min="1" max="10000" step="1" class="form-control" id="number_tenants"-->
<!--ng-model="config.server.number_tenants" name="number_tenants" ng-pattern="/^[1-9][0-9]{0,3}$/i" required/>-->
<!--</div>-->
<!--<div ng-messages="monitoring_staging_settings.number_tenants.$error"-->
<!--ng-if="monitoring_staging_settings.number_tenants.$dirty">-->
<!--<div ng-message="required">This field is required</div>-->
<!--<div ng-message="pattern">Must be a number between 1 and 9999</div>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto" popover="Number of routers to be created within the context of each User" popover-trigger="mouseenter" popover-placement="right">-->
<!--<span class="input-group-addon">Routers/Tenant</span>-->
<!--<input type="number" min="1" max="1000" step="1" class="form-control" id="server_routers_per_tenant"-->
<!--ng-model="config.server.routers_per_tenant" name="server_routers_per_tenant"-->
<!--ng-pattern="/^[1-9][0-9]{0,2}$/i" required/>-->
<!--</div>-->
<!--<div ng-messages="monitoring_staging_settings.server_routers_per_tenant.$error"-->
<!--ng-if="monitoring_staging_settings.server_routers_per_tenant.$dirty">-->
<!--<div ng-message="required">This field is required</div>-->
<!--<div ng-message="pattern">Must be a number between 1 and 999</div>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto" popover="Number of networks to be created within the context of each Router" popover-trigger="mouseenter" popover-placement="right">-->
<!--<span class="input-group-addon">Networks/Router</span>-->
<!--<input type="number" min="1" max="1000" step="1" class="form-control" id="server_networks_per_router"-->
<!--ng-model="config.server.networks_per_router" name="server_networks_per_router"-->
<!--ng-pattern="/^[1-9][0-9]{0,2}$/i" required/>-->
<!--</div>-->
<!--<div ng-messages="monitoring_staging_settings.server_networks_per_router.$error"-->
<!--ng-if="monitoring_staging_settings.server_networks_per_router.$dirty">-->
<!--<div ng-message="required">This field is required</div>-->
<!--<div ng-message="pattern">Must be a number between 1 and 999</div>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto" popover="Number of VM instances to be created within the context of each Network" popover-trigger="mouseenter" popover-placement="right">-->
<!--<span class="input-group-addon">VMs/Network</span>-->
<!--<input type="number" min="1" max="1000" step="1" class="form-control" id="server_vms_per_network"-->
<!--ng-model="config.server.vms_per_network" name="server_vms_per_network"-->
<!--ng-pattern="/^[1-9][0-9]{0,2}$/i" required/>-->
<!--</div>-->
<!--<div ng-messages="monitoring_staging_settings.server_vms_per_network.$error"-->
<!--ng-if="monitoring_staging_settings.server_vms_per_network.$dirty">-->
<!--<div ng-message="required">This field is required</div>-->
<!--<div ng-message="pattern">Must be a number between 1 and 999</div>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto" popover="Number of security groups per network" popover-trigger="mouseenter" popover-placement="right">-->
<!--<span class="input-group-addon">Secgroups/Network</span>-->
<!--<input type="number" min="1" max="1000" step="1" class="form-control"-->
<!--id="server_secgroups_per_network" ng-model="config.server.secgroups_per_network"-->
<!--name="server_secgroups_per_network" ng-pattern="/^[1-9][0-9]{0,2}$/i" required/>-->
<!--</div>-->
<!--<div ng-messages="monitoring_staging_settings.server_secgroups_per_network.$error"-->
<!--ng-if="monitoring_staging_settings.server_secgroups_per_network.$dirty">-->
<!--<div ng-message="required">This field is required</div>-->
<!--<div ng-message="pattern">Must be a number between 1 and 999</div>-->
<!--</div>-->
</form>
</div>
<!--Run-->
</accordion-group>
<accordion-group is-open="status2.open">
<accordion-heading>
Run Settings <i class="pull-right glyphicon"
ng-class="{'glyphicon-chevron-down': !status2.open, 'glyphicon-chevron-up': status2.open}"></i>
</accordion-heading>
<div class="col-lg-14" id="runningConfig">
<form class="bs-component" name="monitoring_running_settings">
<md-content layout-padding style="padding:0">
<md-input-container class="col-md-12" style="padding-top:0">
<label>Duration/Run (sec)</label>
<input type="number" min="1" max="" step="1" id="client_duration"
ng-model="config.client.http_tool_configs.duration" name="client_duration"
ng-pattern="/^[1-9][0-9]*$/i" required style="text-align:left;"/>
<div ng-messages="interactive_running_settings.client_duration.$error"
ng-if="interactive_running_settings.client_duration.$dirty">
<div ng-message="required">This field is required</div>
<div ng-message="pattern">Must be a number no less than 1</div>
</div>
</md-input-container>
<md-input-container class="col-md-12" style="padding-top:0">
<label>Reporting Interval (sec)</label>
<input type="number" min="1" max="" step="1" id="report_interval"
ng-model="config.client.http_tool_configs.report_interval" name="report_interval"
ng-pattern="/^[1-9][0-9]*$/i" required style="text-align:left;"/>
<div ng-messages="monitoring_running_settings.report_interval.$error">
<div ng-message="required">This field is required</div>
<div ng-message="pattern">Must be a number no less than 1</div>
</div>
</md-input-container>
<md-input-container class="col-md-12">
<label>Rate Limit/VM</label>
<input type="number" min="0" max="" step="1000" id="client_rate_limit"
ng-model="config.client.http_tool_configs.rate_limit" name="client_rate_limit"
ng-pattern="/^[0-9]*$/i" required style="text-align:left;"/>
<div ng-messages="interactive_running_settings.client_rate_limit.$error"
ng-if="interactive_running_settings.client_rate_limit.$dirty">
<div ng-message="required">This field is required</div>
<div ng-message="pattern">Must be a number no less than 0</div>
</div>
</md-input-container>
<md-input-container class="col-md-12">
<label>Connections/VM</label>
<input type="number" min="0" max="" step="1000" id="client_connections"
ng-model="config.client.http_tool_configs.connections"
name="client_connections" ng-pattern="/^[1-9][0-9]*$/i" required style="text-align:left;"/>
<div ng-messages="interactive_running_settings.client_connections.$error"
ng-if="interactive_running_settings.client_connections.$dirty">
<div ng-message="required">This field is required</div>
<div ng-message="pattern">Must be a number no less than 1</div>
</div>
</md-input-container>
</md-content>
<!--<div class="input-group col-sm-12" style="margin:0 auto">-->
<!--<span class="input-group-addon">connection Type:</span>-->
<!--<input type="text" class="form-control" id="client_connection_type" ng-model="config.client.http_tool_configs.connection_type"/>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto" popover="Duration of testing tools" popover-trigger="mouseenter" popover-placement="right">-->
<!--<span class="input-group-addon">Duration/Run (sec)</span>-->
<!--<input type="number" min="1" max="" step="1" class="form-control" id="client_duration"-->
<!--ng-model="config.client.http_tool_configs.duration" name="client_duration" ng-pattern="/^[1-9][0-9]*$/i" required/>-->
<!--</div>-->
<!--<div ng-messages="monitoring_running_settings.client_duration.$error" ng-if="monitoring_running_settings.client_duration.$dirty">-->
<!--<div ng-message="required">This field is required</div>-->
<!--<div ng-message="pattern">Must be a number no less than 1</div>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto" popover="Interval for periodical report in seconds" popover-trigger="mouseenter" popover-placement="right">-->
<!--<span class="input-group-addon">Reporting Interval (sec)</span>-->
<!--<input type="number" min="1" max="" step="1" class="form-control" id="report_interval"-->
<!--ng-model="config.client.http_tool_configs.report_interval" name="report_interval" ng-pattern="/^[1-9][0-9]*$/i" required/>-->
<!--</div>-->
<!--<div ng-messages="monitoring_running_settings.report_interval.$error">-->
<!--<div ng-message="required">This field is required</div>-->
<!--<div ng-message="pattern">Must be a number no less than 1</div>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto" popover="Rate limit in RPS per client (0 for unlimited)" popover-trigger="mouseenter" popover-placement="right">-->
<!--<span class="input-group-addon">Rate Limit/VM</span>-->
<!--<input type="number" min="0" max="" step="1000" class="form-control" id="client_rate_limit"-->
<!--ng-model="config.client.http_tool_configs.rate_limit" name="client_rate_limit" ng-pattern="/^[1-9][0-9]*$/i" required/>-->
<!--</div>-->
<!--<div ng-messages="monitoring_running_settings.client_rate_limit.$error" ng-if="monitoring_running_settings.client_rate_limit.$dirty">-->
<!--<div ng-message="required">This field is required</div>-->
<!--<div ng-message="pattern">Must be a number no less than 1</div>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto" popover="Connections to be kept concurrently per VM. This number also corresponds to the number of HTTP users connected at any time to the matching HTTP server" popover-trigger="mouseenter" popover-placement="right">-->
<!--<span class="input-group-addon">Connections/VM</span>-->
<!--<input type="number" min="0" max="" step="1000" min="0" max="" step="10" class="form-control"-->
<!--id="client_connections" ng-model="config.client.http_tool_configs.connections" name="client_connections" ng-pattern="/^[1-9][0-9]*$/i" required/>-->
<!--</div>-->
<!--<div ng-messages="monitoring_running_settings.client_connections.$error" ng-if="monitoring_running_settings.client_connections.$dirty">-->
<!--<div ng-message="required">This field is required</div>-->
<!--<div ng-message="pattern">Must be a number no less than 1</div>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto">-->
<!--<span class="input-group-addon">Threads:</span>-->
<!--<input type="number" min="0" max="" step="10" class="form-control" id="client_threads" ng-model="config.client.http_tool_configs.threads"/>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto">-->
<!--<span class="input-group-addon">Timeout:</span>-->
<!--<input type="number" min="0" max="" step="5" class="form-control" id="client_timeout" ng-model="config.client.http_tool_configs.timeout"/>-->
<!--</div>-->
<!--<br/>-->
<!--<div class="input-group col-sm-12" style="margin:0 auto">-->
<!--<span class="input-group-addon">Polling Interval:</span>-->
<!--<input type="number" min="0" max="" step="5" class="form-control" id="client_polling_interval" ng-model="config.client.polling_interval"/>-->
<!--</div>-->
</form>
</div>
</accordion-group>
</accordion>
</div>
</div>
<div class="main-content">
<div class="swipe-area"></div>
<a href="" data-toggle=".container" id="sidebar-toggle" style="text-decoration:none">
<!--<span class="bar"></span>-->
<!--<span class="bar"></span>-->
<!--<span class="bar"></span>-->
<span id="littleglyph1" class="bar glyphicon glyphicon-triangle-right" style="color:white"></span>
</a>
<div class="content" id="content">
<div class="row">
<div class="">
<h6>Latency(ms)</h6>
<linechart data="data" options="options" mode="" width="" height="500"></linechart>
<!--<h6 style="float:right; text-align: right; line-height: 30%">Percentile</h6>-->
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" style="text-align:right;margin: 0 5%">
<button type="submit" class="btn btn-default btn-xs" ng-click="saveResult()">Save Result</button>
<button type="submit" class="btn btn-default btn-xs" ng-click="initChart()">Clear Chart</button>
</div>
<br/>
<div class="navbar navbar-default navbar-fixed-bottom" role="navigation"
style="min-height: 48px;background: transparent">
<div style="height: 12px;background-color: transparent;width: 100%;margin:0;border:0;padding:0;"></div>
<div style="background: white; width: 52px; height: 52px;border-radius: 50%;position:absolute;z-index: 10;top:0;left:60px;">
<div class='loading spin-1'>
<div class='loading spin-2'>
<div class='loading spin-3'>
<div class='loading spin-4'>
<div class='loading spin-5'>
<div class='loading spin-6'></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="background: rgb(44,62,80);width: 100%;height: 36px;margin:0;border:0;padding:0;">
<div style="margin: 0 80px 0 120px;vertical-align: middle;">
<h5>
<div class="row">
<div class="col-md-2 col-xs-2" style="line-height:33px; height:20px; color:white;">
<!--Status:-->
<button class="btn {{statusButton}} btn-xs" ng-click="checkStatus()" style="height:24px;">{{status}}
</button>
</div>
<div class="col-md-6 col-xs-6" style="line-height:35px; height:20px; color:white;">Created&nbsp;
<button class="btn btn-primary btn-xs" ng-click="checkStatus()" style="height:24px;">{{server_vm_count}}
</button>
&nbsp;Server VM(s),&nbsp;
<button class="btn btn-primary btn-xs" ng-click="checkStatus()" style="height:24px;">{{client_vm_count}}
</button>
&nbsp;Client VM(s).
</div>
<div class="col-md-4 col-xs-4" style="line-height:33px; height:20px; color:white;" ng-show="info">
<button class="btn btn-xs btn-info" style="width:220px;text-align: left;">{{info}}</button>
</div>
</div>
<!--sessionID: <button class="btn btn-info btn-xs" disabled>{{sessionID}}</button>-->
<!--<button style="float:right;" type="submit" class="btn btn-default btn-xs" ng-click="deleteSession()" popover="Session can be destroyed only if it is at READY." popover-trigger="mouseenter">Del Ses</button>-->
</h5>
</div>
</div>
</div>
<div style="height:70px"></div>