<style>
th {
text-align: start;
}
tbody tr:nth-child(odd) {
background: rgb(239, 243, 255);
}
#structured-metrics-event-template {
text-align: center;
}
.sm-metric-row {
display: none;
}
#event-row:hover {
background-color: lightsteelblue;
cursor: pointer;
}
#sm-refresh-events {
margin-top: 10px;
}
#summary-row-template .td {
text-align: center;
}
#search-error-msg{
display: none;
color: rgb(229, 26, 67);
}
#search-bar {
width: fit-content;
}
</style>
<h2>Structured Metrics Summary</h2>
<table>
<tbody id="sm-summary-body"></tbody>
</table>
<h2>Structured Metrics Events</h2>
<p>Events are not polled, please refresh to view new events.</p>
<button id="sm-refresh-events">Refresh</button>
<h3>Search:</h3>
<p>Searching is implemented as key-value pair search param in the format of 'key:value'.</p>
<p>Valid keys are: project, event, metric.</p>
<input id="search-bar" type="search"></input>
<p id="search-error-msg"></p>
<table class="event-table">
<thead>
<tr>
<th>Project</th>
<th>Event</th>
<th>Type</th>
<th>Uptime</th>
</tr>
</thead>
<tbody id="sm-events-body"></tbody>
</table>
<template id="summary-row-template">
<tr>
<td><!-- Key --></td>
<td><!-- Value --></td>
</tr>
</template>
<template id="structured-metrics-event-row-template">
<tr id="event-row">
<td><!-- Project --></td>
<td><!-- Event --></td>
<td><!-- Type --></td>
<td><!-- Uptime --></td>
</tr>
</template>
<template id="structured-metrics-event-details-template">
<tr id="metrics-row" class="sm-metric-row">
<td colSpan="4">
<div><b>Details</b></div>
<table>
<tbody id="details-table"></tbody>
</table>
<div><b>Metrics</b></div>
<table>
<tbody id="metrics-table"></tbody>
</table>
</td>
</tr>
</template>