github.com/manicqin/nomad@v0.9.5/ui/app/templates/allocations/allocation/task/index.hbs (about)

     1  {{title "Task " model.name}}
     2  {{task-subnav task=model}}
     3  <section class="section">
     4    {{#if error}}
     5      <div data-test-inline-error class="notification is-danger">
     6        <div class="columns">
     7          <div class="column">
     8            <h3 data-test-inline-error-title class="title is-4">{{error.title}}</h3>
     9            <p data-test-inline-error-body>{{error.description}}</p>
    10          </div>
    11          <div class="column is-centered is-minimum">
    12            <button data-test-inline-error-close class="button is-danger" onclick={{action onDismiss}}>Okay</button>
    13          </div>
    14        </div>
    15      </div>
    16    {{/if}}
    17  
    18    <h1 class="title" data-test-title>
    19      {{model.name}}
    20      {{#if model.isConnectProxy}}
    21        {{proxy-tag class="bumper-left"}}
    22      {{/if}}
    23      <span class="{{unless model.isConnectProxy "bumper-left"}} tag {{model.stateClass}}" data-test-state>{{model.state}}</span>
    24      {{#if model.isRunning}}
    25        {{two-step-button
    26          data-test-restart
    27          idleText="Restart"
    28          cancelText="Cancel"
    29          confirmText="Yes, Restart"
    30          confirmationMessage="Are you sure? This will restart the task in-place."
    31          awaitingConfirmation=restartTask.isRunning
    32          disabled=restartTask.isRunning
    33          onConfirm=(perform restartTask)}}
    34      {{/if}}
    35    </h1>
    36  
    37    <div class="boxed-section is-small">
    38      <div class="boxed-section-body inline-definitions">
    39        <span class="label">Task Details</span>
    40        <span class="pair" data-test-started-at>
    41          <span class="term">Started At</span>
    42          {{format-ts model.startedAt}}
    43        </span>
    44        {{#if model.finishedAt}}
    45          <span class="pair">
    46            <span class="term">Finished At</span>
    47            {{format-ts model.finishedAt}}
    48          </span>
    49        {{/if}}
    50        <span class="pair">
    51          <span class="term">Driver</span>
    52          {{model.task.driver}}
    53        </span>
    54      </div>
    55    </div>
    56  
    57    <div class="boxed-section">
    58      <div class="boxed-section-head is-hollow">
    59        Resource Utilization
    60      </div>
    61      <div class="boxed-section-body">
    62        {{#if model.isRunning}}
    63          <div class="columns">
    64            <div class="column">
    65              {{primary-metric resource=model metric="cpu"}}
    66            </div>
    67            <div class="column">
    68              {{primary-metric resource=model metric="memory"}}
    69            </div>
    70          </div>
    71        {{else}}
    72          <div data-test-resource-error class="empty-message">
    73            <h3 data-test-resource-error-headline class="empty-message-headline">Task isn't running</h3>
    74            <p class="empty-message-body">Only running tasks utilize resources.</p>
    75          </div>
    76        {{/if}}
    77      </div>
    78    </div>
    79  
    80    {{#if network.ports.length}}
    81      <div class="boxed-section" data-test-task-addresses>
    82        <div class="boxed-section-head">
    83          Addresses
    84        </div>
    85        <div class="boxed-section-body is-full-bleed">
    86          {{#list-table source=network.ports as |t|}}
    87            {{#t.head}}
    88              <th class="is-1">Dynamic?</th>
    89              <th class="is-2">Name</th>
    90              <th>Address</th>
    91            {{/t.head}}
    92            {{#t.body as |row|}}
    93              <tr data-test-task-address>
    94                <td data-test-task-address-is-dynamic>{{if row.model.isDynamic "Yes" "No"}}</td>
    95                <td data-test-task-address-name>{{row.model.name}}</td>
    96                <td data-test-task-address-address>
    97                  <a href="http://{{network.ip}}:{{row.model.port}}" target="_blank" rel="noopener noreferrer">
    98                    {{network.ip}}:{{row.model.port}}
    99                  </a>
   100                </td>
   101              </tr>
   102            {{/t.body}}
   103          {{/list-table}}
   104        </div>
   105      </div>
   106    {{/if}}
   107  
   108    <div class="boxed-section">
   109      <div class="boxed-section-head">
   110        Recent Events
   111      </div>
   112      <div class="boxed-section-body is-full-bleed">
   113        {{#list-table source=(reverse model.events) class="is-striped" as |t|}}
   114          {{#t.head}}
   115            <th class="is-3">Time</th>
   116            <th class="is-1">Type</th>
   117            <th>Description</th>
   118          {{/t.head}}
   119          {{#t.body as |row|}}
   120            <tr data-test-task-event>
   121              <td data-test-task-event-time>{{format-ts row.model.time}}</td>
   122              <td data-test-task-event-type>{{row.model.type}}</td>
   123              <td data-test-task-event-message>
   124                {{#if row.model.message}}
   125                  {{row.model.message}}
   126                {{else}}
   127                  <em>No message</em>
   128                {{/if}}
   129              </td>
   130            </tr>
   131          {{/t.body}}
   132        {{/list-table}}
   133      </div>
   134    </div>
   135  </section>