http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/agent.html ---------------------------------------------------------------------- diff --git a/src/webui/master/static/agent.html b/src/webui/master/static/agent.html deleted file mode 100644 index a101a93..0000000 --- a/src/webui/master/static/agent.html +++ /dev/null @@ -1,293 +0,0 @@ -<ol class="breadcrumb"> - <li> - <a class="badge badge-type" href="#">Master</a> - </li> - <li class="active"> - <span class="badge badge-type">Agent</span> - {{agent_id}} - </li> -</ol> - -<div class="alert alert-error hidden" id="alert"> - <button class="close" data-dismiss="alert">Ã</button> - <strong>{{alert_message}}</strong> -</div> - -<div class="row" id="agent"> - <div class="col-md-3"> - <div class="well"> - <dl class="inline clearfix"> - <dt>Cluster:</dt> - <dd> - <span ng-show="clusterNamed">{{cluster}}</span> - <span ng-show="!clusterNamed"> - (Unnamed) - <i class="icon-info-sign" - tooltip="To name this cluster, set the --cluster flag when starting the master." - tooltip-placement="right"></i> - </span> - </dd> - <dt>Agent:</dt> - <dd>{{state.hostname}}</dd> - <dt>Version:</dt> - <dd>{{state.version}}</dd> - <dt>Built:</dt> - <dd> - <m-timestamp value="{{state.build_time * 1000}}"></m-timestamp> - </dd> - <dt>Started:</dt> - <dd> - <m-timestamp value="{{state.start_time * 1000}}"></m-timestamp> - </dd> - <dt>Master:</dt> - <dd>{{state.master_hostname}}</dd> - </dl> - - <p ng-if="agent.log_file_attached"> - <b>Agent Log:</b> - <span class="btn-group"> - <!-- Links can look like buttons using Bootstrap classes. --> - <a class="btn btn-xs btn-default" href="{{agent.url_prefix}}/files/download?path=/slave/log"> - Download - </a> - <button class="btn btn-xs btn-default" ng-click="streamLogs($event)"> - View - </button> - </span> - </p> - - <h4>Tasks</h4> - <table class="table table-condensed"> - <tbody> - <tr> - <td>Staging</td> - <td class="text-right">{{staging_tasks | number}}</td> - </tr> - <tr> - <td>Starting</td> - <td class="text-right">{{starting_tasks | number}}</td> - </tr> - <tr> - <td>Running</td> - <td class="text-right">{{running_tasks | number}}</td> - </tr> - <tr> - <td>Killing</td> - <td class="text-right">{{killing_tasks | number}}</td> - </tr> - <tr> - <td>Finished</td> - <td class="text-right">{{finished_tasks | number}}</td> - </tr> - <tr> - <td>Killed</td> - <td class="text-right">{{killed_tasks | number}}</td> - </tr> - <tr> - <td>Failed</td> - <td class="text-right">{{failed_tasks | number}}</td> - </tr> - <tr> - <td>Lost</td> - <td class="text-right">{{lost_tasks | number}}</td> - </tr> - </tbody> - </table> - - <h4>Resources</h4> - <table class="table table-condensed"> - <thead> - <tr> - <td></td> - <td class="text-right">Used</td> - <td class="text-right">Allocated</td> - <td class="text-right">Available</td> - <td class="text-right">Total</td> - </tr> - </thead> - <tbody> - <tr> - <td>CPUs</td> - <td class="text-right"> - {{monitor.statistics.cpus_total_usage | number}} - </td> - <td class="text-right"> - {{state.allocated_resources.cpus | number}} - </td> - <td class="text-right"> - {{state.resources.cpus - state.allocated_resources.cpus | number}} - </td> - <td class="text-right"> - {{state.resources.cpus | number}} - </td> - </tr> - <tr> - <td>GPUs</td> - <td class="text-right"> - N/A - </td> - <td class="text-right"> - {{state.allocated_resources.gpus | number}} - </td> - <td class="text-right"> - {{state.resources.gpus - state.allocated_resources.gpus | number}} - </td> - <td class="text-right"> - {{state.resources.gpus | number}} - </td> - </tr> - <tr> - <td>Memory</td> - <td class="text-right"> - {{monitor.statistics.mem_rss_bytes | dataSize}} - </td> - <td class="text-right"> - {{state.allocated_resources.mem * (1024 * 1024) | dataSize}} - </td> - <td class="text-right"> - {{(state.resources.mem - state.allocated_resources.mem) * (1024 * 1024) | dataSize}} - </td> - <td class="text-right"> - {{state.resources.mem * (1024 * 1024) | dataSize}} - </td> - </tr> - <tr> - <td>Disk</td> - <td class="text-right"> - {{monitor.statistics.disk_used_bytes | dataSize}} - </td> - <td class="text-right"> - {{state.allocated_resources.disk * (1024 * 1024) | dataSize}} - </td> - <td class="text-right"> - {{(state.resources.disk - state.allocated_resources.disk) * (1024 * 1024) | dataSize}} - </td> - <td class="text-right"> - {{state.resources.disk * (1024 * 1024) | dataSize}} - </td> - </tr> - </tbody> - </table> - </div> - - </div> - <div class="col-md-9"> - <table m-table table-content="agent.reserved_resources_as_array" title="Resource Reservations" - class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th data-key="role">Reservation Role</th> - <th data-key="cpus">CPUs (Allocated / Total)</th> - <th data-key="gpus">GPUs (Allocated / Total)</th> - <th data-key="mem">Mem (Allocated / Total)</th> - <th data-key="disk">Disk (Allocated / Total)</th> - </tr> - </thead> - <tbody> - <tr> - <td><em>Unreserved</em></td> - <td>{{state.unreserved_resources_allocated.cpus | number}} / {{state.unreserved_resources.cpus | number}}</td> - <td>{{state.unreserved_resources_allocated.gpus | number}} / {{state.unreserved_resources.gpus | number}}</td> - <td>{{state.unreserved_resources_allocated.mem * (1024 * 1024) | dataSize}} / {{state.unreserved_resources.mem * (1024 * 1024) | dataSize}}</td> - <td>{{state.unreserved_resources_allocated.disk * (1024 * 1024) | dataSize}} / {{state.unreserved_resources.disk * (1024 * 1024) | dataSize}}</td> - </tr> - <tr ng-repeat="reservation in $data"> - <td>{{reservation.role}}</td> - <td>{{(state.reserved_resources_allocated[reservation.role].cpus || 0) | number}} / {{reservation.cpus | number}}</td> - <td>{{(state.reserved_resources_allocated[reservation.role].gpus || 0) | number}} / {{reservation.gpus | number}}</td> - <td>{{(state.reserved_resources_allocated[reservation.role].mem * (1024 * 1024) || 0) | dataSize}} / {{reservation.mem * (1024 * 1024) | dataSize}}</td> - <td>{{(state.reserved_resources_allocated[reservation.role].disk * (1024 * 1024) || 0) | dataSize}} / {{reservation.disk * (1024 * 1024) | dataSize}}</td> - </tr> - </tbody> - </table> - - <table m-table table-content="agent.frameworks" title="Frameworks" - class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th data-key="id">ID</th> - <th data-key="user">User</th> - <th data-key="name">Name</th> - <th data-key="roles">Roles</th> - <th data-key="num_tasks">Active Tasks</th> - <th data-key="cpus">CPUs (Used / Allocated)</th> - <th data-key="gpus">GPUs (Used / Allocated)</th> - <th data-key="mem">Mem (Used / Allocated)</th> - <th data-key="disk">Disk (Used / Allocated)</th> - </tr> - </thead> - <tbody> - <tr ng-repeat="framework in $data"> - <td> - <a href="{{'#/agents/' + agent_id + '/frameworks/' + framework.id}}"> - {{(framework.id | truncateMesosID) || framework.name}}</a> - <button class="btn btn-xs btn-toggle btn-default" - 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> - <!-- TODO(bmahler): This doesn't display well when there are a lot - of roles (e.g. a large organization with a lot of teams & - services, using roles like /engineering/frontend/webserver, etc). - Figure out a way to display this without bloating the table. --> - <td>{{framework.roles.toString()}}</td> - <td>{{framework.num_tasks | number}}</td> - <td>{{monitor.frameworks[framework.id].statistics.cpus_total_usage | number}} / {{framework.cpus | number}}</td> - <!-- TODO(haosdent): We need to show statistics for gpu once it is provided in monitor endpoint. --> - <td>N/A</td> - <td>{{monitor.frameworks[framework.id].statistics.mem_rss_bytes | dataSize}} / {{framework.mem * (1024 * 1024) | dataSize}}</td> - <td>{{monitor.frameworks[framework.id].statistics.disk_used_bytes | dataSize}} / {{framework.disk * (1024 * 1024) | dataSize}}</td> - </tr> - </tbody> - </table> - - <table m-table table-content="agent.completed_frameworks" title="Completed Frameworks" - class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th data-key="id">ID</th> - <th data-key="user">User</th> - <th data-key="name">Name</th> - <th data-key="roles">Roles</th> - <th data-key="tasks.length">Active Tasks</th> - <th data-key="resources.cpus">CPUs</th> - <th data-key="resources.gpus">GPUs</th> - <th data-key="resources.mem">Mem</th> - <th data-key="resources.disk">Disk</th> - </tr> - </thead> - <tbody> - <tr ng-repeat="completed_framework in $data"> - <td> - <a href="{{'#/agents/' + agent_id + '/frameworks/' + completed_framework.id}}"> - {{completed_framework.id | truncateMesosID}}</a> - <button class="btn btn-xs btn-toggle btn-default" - clipboard - data-clipboard-text="{{framework.id}}" - tooltip="Copy ID" - tooltip-placement="right" - tooltip-trigger="clipboardhover"> - </button> - </td> - <td>{{completed_framework.user}}</td> - <td>{{completed_framework.name}}</td> - <!-- TODO(bmahler): This doesn't display well when there are a lot - of roles (e.g. a large organization with a lot of teams & - services, using roles like /engineering/frontend/webserver, etc). - Figure out a way to display this without bloating the table. --> - <td>{{completed_framework.roles.toString()}}</td> - <td>{{completed_framework.num_tasks | number}}</td> - <td>{{completed_framework.cpus | number}}</td> - <td>{{completed_framework.gpus | number}}</td> - <td>{{completed_framework.mem * (1024 * 1024) | dataSize}}</td> - <td>{{completed_framework.disk * (1024 * 1024) | dataSize}}</td> - </tr> - </tbody> - </table> - </div> -</div>
http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/agent_executor.html ---------------------------------------------------------------------- diff --git a/src/webui/master/static/agent_executor.html b/src/webui/master/static/agent_executor.html deleted file mode 100644 index 7ec56c3..0000000 --- a/src/webui/master/static/agent_executor.html +++ /dev/null @@ -1,204 +0,0 @@ -<ol class="breadcrumb"> - <li> - <a class="badge badge-type" href="#">Master</a> - </li> - <li> - <a class="badge badge-type" href="#/agents/{{agent_id}}" title="{{agent_id}}"> - Agent</a> - </li> - <li> - <a class="badge badge-type" href="#/agents/{{agent_id}}/frameworks/{{framework_id}}" title="{{framework_id}}"> - Framework</a> - </li> - <li class="active"> - <span class="badge badge-type">Executor</span> - {{executor_id}} - </li> -</ol> - -<div class="alert alert-error hidden" id="alert"> - <button class="close" data-dismiss="alert">Ã</button> - <strong>{{alert_message}}</strong> -</div> - -<div class="row" id="agent"> - <div class="col-md-3"> - <div class="well"> - <dl class="inline clearfix"> - <dt>Executor Name:</dt> - <dd>{{executor.name}}</dd> - <dt>Executor Source:</dt> - <dd>{{executor.source}}</dd> - <dt>Executor Role:</dt> - <dd>{{executor.role}}</dd> - </dl> - - <dl class="inline clearfix"> - <dt>Cluster:</dt> - <dd> - <span ng-show="clusterNamed">{{cluster}}</span> - <span ng-show="!clusterNamed"> - (Unnamed) - <i class="icon-info-sign" - tooltip="To name this cluster, set the --cluster flag when starting the master." - tooltip-placement="right"></i> - </span> - </dd> - <dt>Master:</dt> - <dd>{{state.master_hostname}}</dd> - <dt>Agent:</dt> - <dd>{{state.hostname}}</dd> - </dl> - - <dl class="inline clearfix"> - <dt>Active Tasks:</dt> - <dd>{{executor.tasks.length | number}}</dd> - </dl> - - <h4>Resources</h4> - <table class="table table-condensed"> - <thead> - <tr> - <td></td> - <td class="text-right">Used</td> - <td class="text-right">Allocated</td> - </tr> - </thead> - <tbody> - <tr> - <td>CPUs</td> - <td class="text-right"> - {{monitor.frameworks[framework.id].executors[executor.id].statistics.cpus_total_usage | number}} - </td> - <td class="text-right">{{executor.resources.cpus | number}}</td> - </tr> - <tr> - <td>GPUs</td> - <td class="text-right"> - N/A - </td> - <td class="text-right">{{executor.resources.gpus | number}}</td> - </tr> - <tr> - <td>Mem</td> - <td class="text-right"> - {{monitor.frameworks[framework.id].executors[executor.id].statistics.mem_rss_bytes | dataSize}} - </td> - <td class="text-right"> - {{executor.resources.mem * (1024 * 1024) | dataSize}} - </td> - </tr> - <tr> - <td>Disk</td> - <td class="text-right"> - {{monitor.frameworks[framework.id].executors[executor.id].statistics.disk_used_bytes | dataSize}}</td> - <td class="text-right"> - {{(executor.resources.disk || 0) * (1024 * 1024) | dataSize}} - </td> - </tr> - </tbody> - </table> - </div> - </div> - - <div class="col-md-9"> - <table m-table table-content="executor.queued_tasks" title="Queued Tasks" - class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th data-key="id">ID</th> - <th data-key="name">Name</th> - <th data-key="role">Role</th> - <th data-key="resources.cpus">CPUs</th> - <th data-key="resources.gpus">GPUs</th> - <th data-key="resources.mem">Mem</th> - <th data-key="resources.disk">Disk</th> - </tr> - </thead> - <tbody> - <tr ng-repeat="queued_task in $data"> - <td>{{queued_task.id}}</td> - <td>{{queued_task.name}}</td> - <td>{{queued_task.role}}</td> - <td>{{queued_task.resources.cpus | number}}</td> - <td>{{queued_task.resources.gpus | number}}</td> - <td>{{queued_task.resources.mem * (1024 * 1024) | dataSize}}</td> - <td>{{queued_task.resources.disk * (1024 * 1024) | dataSize}}</td> - </tr> - </tbody> - </table> - - <table m-table table-content="executor.tasks" title="Tasks" - class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th data-key="id">ID</th> - <th data-key="name">Name</th> - <th data-key="role">Role</th> - <th data-key="state">State</th> - <th data-key="healthy">Health</th> - <th data-key="resources.cpus">CPUs (allocated)</th> - <th data-key="resources.gpus">GPUs (allocated)</th> - <th data-key="resources.mem">Mem (allocated)</th> - <th data-key="resources.disk">Disk (allocated)</th> - <th></th> - </tr> - </thead> - <tbody> - <tr ng-repeat="task in $data"> - <td>{{task.id}}</td> - <td>{{task.name}}</td> - <td>{{task.role}}</td> - <td>{{task.state}}</td> - <td class="task-{{task.healthy | taskHealth}}">{{task.healthy | taskHealth}}</td> - <td>{{task.resources.cpus | number}}</td> - <td>{{task.resources.gpus | number}}</td> - <td>{{task.resources.mem * (1024 * 1024) | dataSize}}</td> - <td>{{task.resources.disk * (1024 * 1024) | dataSize}}</td> - <td> - <a href="{{'#/agents/' + agent_id + '/browse?path=' + - encodeURIComponent(task.directory)}}"> - Sandbox - </a> - </td> - </tr> - </tbody> - </table> - - <table m-table table-content="executor.completed_tasks" title="Completed Tasks" - class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th data-key="id">ID</th> - <th data-key="name">Name</th> - <th data-key="role">Role</th> - <th data-key="state">State</th> - <th data-key="resources.cpus">CPUs (allocated)</th> - <th data-key="resources.gpus">GPUs (allocated)</th> - <th data-key="resources.mem">Mem (allocated)</th> - <th data-key="resources.disk">Disk (allocated)</th> - <th></th> - </tr> - </thead> - <tbody> - <tr ng-repeat="completed_task in $data"> - <td>{{completed_task.id}}</td> - <td>{{completed_task.name}}</td> - <td>{{completed_task.role}}</td> - <td>{{completed_task.state}}</td> - <td>{{completed_task.resources.cpus | number}}</td> - <td>{{completed_task.resources.gpus | number}}</td> - <td>{{completed_task.resources.mem * (1024 * 1024) | dataSize}}</td> - <td>{{completed_task.resources.disk * (1024 * 1024) | dataSize}}</td> - <td> - <a href="{{'#/agents/' + agent_id + '/browse?path=' + - encodeURIComponent(completed_task.directory)}}"> - Sandbox - </a> - </td> - </tr> - </tbody> - </table> - </div> - -</div> http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/agent_framework.html ---------------------------------------------------------------------- diff --git a/src/webui/master/static/agent_framework.html b/src/webui/master/static/agent_framework.html deleted file mode 100644 index 06f1697..0000000 --- a/src/webui/master/static/agent_framework.html +++ /dev/null @@ -1,164 +0,0 @@ -<ol class="breadcrumb"> - <li> - <a class="badge badge-type" href="#">Master</a> - </li> - <li> - <a class="badge badge-type" href="#/agents/{{agent_id}}" title="{{agent_id}}"> - Agent</a> - </li> - <li class="active"> - <span class="badge badge-type">Framework</span> - {{framework.id}} - </li> -</ol> - -<div class="alert alert-error hidden" id="alert"> - <button class="close" data-dismiss="alert">Ã</button> - <strong>{{alert_message}}</strong> -</div> - -<div class="row" id="agent"> - <div class="col-md-3"> - <div class="well"> - <dl class="inline clearfix"> - <dt>Name:</dt><dd>{{framework.name}}</dd> - <dt>Master:</dt><dd>{{state.master_hostname}}</dd> - <!-- TODO(bmahler): Consider having a break between each role - in order to increase readability. Also, this doesn't - display well when there are a lot of roles (e.g. a large - organization with a lot of teams & services, using roles - like /engineering/frontend/webserver, etc). --> - <dt>Roles:</dt><dd>{{framework.roles.toString()}}</dd> - </dl> - - <dl class="inline clearfix"> - <dt>Active Tasks:</dt> - <dd>{{framework.num_tasks | number}}</dd> - </dl> - - <h4>Resources</h4> - <table class="table table-condensed"> - <thead> - <tr> - <td></td> - <td class="text-right">Used</td> - <td class="text-right">Allocated</td> - </tr> - </thead> - <tbody> - <tr> - <td>CPUs</td> - <td class="text-right"> - {{monitor.frameworks[framework.id].statistics.cpus_total_usage | number}} - </td> - <td class="text-right">{{framework.cpus | number}}</td> - </tr> - <tr> - <td>GPUs</td> - <td class="text-right"> - N/A - </td> - <td class="text-right">{{framework.gpus | number}}</td> - </tr> - <tr> - <td>Memory</td> - <td class="text-right"> - {{monitor.frameworks[framework.id].statistics.mem_rss_bytes | dataSize}} - </td> - <td class="text-right"> - {{framework.mem * (1024 * 1024) | dataSize}} - </td> - </tr> - <tr> - <td>Disk</td> - <td class="text-right">-</td> - <td class="text-right"> - {{(framework.disk || 0) * (1024 * 1024) | dataSize}} - </td> - </tr> - </tbody> - </table> - </div> - </div> - - <div class="col-md-9"> - <table m-table table-content="framework.executors" title="Executors" - class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th data-key="id">ID</th> - <th data-key="name">Name</th> - <th data-key="source">Source</th> - <th data-key="role">Role</th> - <th data-key="tasks.length">Active Tasks</th> - <th data-key="queued_tasks.length">Queued Tasks</th> - <th data-key="resources.cpus">CPUs (Used / Allocated)</th> - <th data-key="resources.gpus">GPUs (Used / Allocated)</th> - <th data-key="resources.mem">Mem (Used / Allocated)</th> - <th data-key="resources.disk">Disk (Used / Allocated)</th> - <th></th> - </tr> - </thead> - <tbody> - <tr ng-repeat="executor in $data"> - <td> - <a href="{{'#/agents/' + agent_id + '/frameworks/' + framework.id + '/executors/' + executor.id}}"> - {{executor.id}} - </a> - </td> - <td>{{executor.name}}</td> - <td>{{executor.source}}</td> - <td>{{executor.role}}</td> - <td>{{executor.tasks.length | number}}</td> - <td>{{executor.queued_tasks.length | number}}</td> - <td>{{monitor.frameworks[framework.id].executors[executor.id].statistics.cpus_total_usage | number}} / - {{executor.resources.cpus | number}}</td> - <!-- TODO(haosdent): We need to show statistics for gpu once it is provided in monitor endpoint. --> - <td>N/A</td> - <td>{{monitor.frameworks[framework.id].executors[executor.id].statistics.mem_rss_bytes | dataSize}} / - {{executor.resources.mem * (1024 * 1024) | dataSize}}</td> - <td>{{monitor.frameworks[framework.id].executors[executor.id].statistics.disk_used_bytes | dataSize}} / - {{executor.resources.disk * (1024 * 1024) | dataSize}}</td> - <td> - <a href="{{'#/agents/' + agent_id + '/browse?path=' + - encodeURIComponent(executor.directory)}}"> - Sandbox - </a> - </td> - </tr> - </tbody> - </table> - - <table m-table table-content="framework.completed_executors" title="Completed Executors" - class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th data-key="id">ID</th> - <th data-key="name">Name</th> - <th data-key="source">Source</th> - <th data-key="role">Role</th> - <th data-key="sandbox">Sandbox</th> - </tr> - </thead> - <tbody> - <tr ng-repeat="completed_executor in $data"> - <td> - <a href="{{'#/agents/' + agent_id + '/frameworks/' + framework.id + '/executors/' + completed_executor.id}}"> - {{completed_executor.id}} - </a> - </td> - <td>{{completed_executor.name}}</td> - <td>{{completed_executor.source}}</td> - <td>{{completed_executor.role}}</td> - <td> - <a href="{{'#/agents/' + agent_id + '/browse?path=' + - encodeURIComponent(completed_executor.directory)}}"> - browse - </a> - </td> - </tr> - </tbody> - </table> - </div> - -</div> http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/agents.html ---------------------------------------------------------------------- diff --git a/src/webui/master/static/agents.html b/src/webui/master/static/agents.html deleted file mode 100644 index 98712c6..0000000 --- a/src/webui/master/static/agents.html +++ /dev/null @@ -1,56 +0,0 @@ -<ol class="breadcrumb"> - <li> - <a class="badge badge-type" href="#">Master</a> - </li> - <li class="active"> - <span class="badge badge-type">Agents</span> - </li> -</ol> - -<table m-table table-content="agents" title="Agents" - class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th data-key="id">ID</th> - <th data-key="hostname">Host</th> - <th data-key="resources.cpus">CPUs (Allocated / Total)</th> - <th data-key="resources.gpus">GPUs (Allocated / Total)</th> - <th data-key="resources.mem">Mem (Allocated / Total)</th> - <th data-key="resources.disk">Disk (Allocated / Total)</th> - <th data-key="registered_time">Registered</th> - <th data-key="reregistered_time">Re-Registered</th> - </tr> - </thead> - <tr ng-repeat="agent in $data"> - <td> - <a href="#/agents/{{agent.id}}">{{agent.id | truncateMesosID}}</a> - <button class="btn btn-xs btn-default btn-toggle" - clipboard - data-clipboard-text="{{agent.id}}" - tooltip="Copy ID" - tooltip-placement="right" - tooltip-trigger="clipboardhover"> - <i class="icon-file"></i> - </button> - </td> - <td>{{agent.hostname}}</td> - <td> - {{agent.used_resources.cpus | number}} / {{agent.resources.cpus | number}} - </td> - <td> - {{agent.used_resources.gpus | number}} / {{agent.resources.gpus | number}} - </td> - <td> - {{agent.used_resources.mem * (1024 * 1024) | dataSize}} / {{agent.resources.mem * (1024 * 1024) | dataSize}} - </td> - <td> - {{agent.used_resources.disk * (1024 * 1024) | dataSize}} / {{agent.resources.disk * (1024 * 1024) | dataSize}} - </td> - <td> - <m-timestamp value="{{agent.registered_time * 1000}}"></m-timestamp> - </td> - <td> - <m-timestamp value="{{agent.reregistered_time * 1000}}"></m-timestamp> - </td> - </tr> -</table> http://git-wip-us.apache.org/repos/asf/mesos/blob/c7685917/src/webui/master/static/browse.html ---------------------------------------------------------------------- diff --git a/src/webui/master/static/browse.html b/src/webui/master/static/browse.html deleted file mode 100644 index b7ac395..0000000 --- a/src/webui/master/static/browse.html +++ /dev/null @@ -1,87 +0,0 @@ -<ol class="breadcrumb"> - <li> - <a class="badge badge-type" href="#">Master</a> - </li> - <li> - <a class="badge badge-type" href="#/agents/{{agent_id}}" title="{{agent_id}}"> - Agent</a> - </li> - <li class="active"> - Browse - </li> -</ol> - -<ol class="breadcrumb"> - <!-- We want to ensure that if the user highlights the path breadcrumb, - and copies it, they will receive a /path/without/spaces that they - can then paste into a terminal, or elsewhere. In order to do this, - we have to ensure there is no whitespace within the <a> tag contents. - Also, we have to inject a hidden '/' character because the slashes - in the breadcrumb are not copied. - --> - <li ng-repeat="dir in path.split('/')"><a - href="#/agents/{{agent_id}}/browse?path={{ - encodeURIComponent(path.split('/').slice(0, $index + 1).join('/')) - }}">{{dir}}</a><span class="hidden-text">/</span></li> -</ol> - -<div class="alert alert-error hidden" id="alert"> - <button class="close" data-dismiss="alert">Ã</button> - <strong>{{alert_message}}</strong> -</div> - -<div class="row" id="listing"> - <div class="col-md-9"> - <div class="well"> - <div data-ng-show="listing.length == 0"> - No files in this directory. - </div> - <table class="table table-condensed" data-ng-show="listing.length > 0"> - <thead> - <tr> - <th>mode</th> - <th class="text-right">nlink</th> - <th>uid</th> - <th>gid</th> - <th class="text-right">size</th> - <th class="text-right">mtime</th> - <th></th> - <th></th> - </tr> - </thead> - <tbody> - <tr ng-repeat="file in listing | orderBy:['-mode', 'path']"> - <td>{{file.mode}}</td> - <td class="text-right">{{file.nlink}}</td> - <td>{{file.uid}}</td> - <td>{{file.gid}}</td> - <td class="text-right">{{file.size | dataSize}}</td> - <td class="text-right">{{file.mtime * 1000 | unixDate}}</td> - <td> - <span data-ng-show="file.mode[0] == 'd'"> - <i class="glyphicon glyphicon-folder-close"></i> - <a href="#/agents/{{agent_id}}/browse?path={{encodeURIComponent(file.path)}}"> - {{basename(file.path)}} - </a> - </span> - <span data-ng-show="file.mode[0] != 'd'"> - <i class="glyphicon glyphicon-file" style="visibility: hidden;"></i> - <a href="" ng-click="pail($event, encodeURIComponent(file.path))"> - {{basename(file.path)}} - </a> - </span> - </td> - <td> - <a data-ng-show="file.mode[0] != 'd'" - href="{{agent_url_prefix}}/files/download?path={{encodeURIComponent(file.path)}}"> - <button class="btn btn-xs btn-default" type="button"> - Download - </button> - </a> - </td> - </tr> - </tbody> - </table> - </div> - </div> -</div>