github.com/grafana/pyroscope@v1.18.0/pkg/operations/v2/tool.blocks.detail.gohtml (about)

     1  <!DOCTYPE html>
     2  <html class="h-100" data-bs-theme="dark">
     3  <head>
     4      <meta charset="UTF-8">
     5      <meta http-equiv="X-UA-Compatible" content="IE=edge">
     6      <meta name="viewport" content="width=device-width, initial-scale=1">
     7  
     8      <title>Bucket Blocks Explorer (v2): Tenant {{ .User }}, Block {{ .Block.ID }}</title>
     9  
    10      <link rel="stylesheet" href="/static/bootstrap-5.3.3.min.css">
    11      <link rel="stylesheet" href="/static/bootstrap-icons-1.8.1.css">
    12      <link rel="stylesheet" href="/static/pyroscope-styles.css">
    13      <script src="/static/bootstrap-5.3.3.bundle.min.js"></script>
    14  </head>
    15  <body class="d-flex flex-column h-100">
    16  <main class="flex-shrink-0">
    17      <div class="container">
    18          <div class="header row border-bottom py-3 flex-column-reverse flex-sm-row">
    19              <div class="col-12 col-sm-9 text-center text-sm-start">
    20                  <h3>Bucket Blocks Explorer (v2): Block Details</h3>
    21              </div>
    22              <div class="col-12 col-sm-3 text-center text-sm-end mb-3 mb-sm-0">
    23                  <a href="../../../tenants">
    24                      <img alt="Pyroscope logo" class="pyroscope-brand" src="/static/pyroscope-logo.png">
    25                  </a>
    26              </div>
    27          </div>
    28          <div class="row my-3">
    29              <p>
    30                  <a href="../../../tenants/{{ .User }}/blocks">Back to tenant</a>
    31              </p>
    32              <table class="table">
    33                  <tr>
    34                      <td>Tenant</td>
    35                      <td>{{ .User }}</td>
    36                  </tr>
    37                  <tr>
    38                      <td>ID</td>
    39                      <td>{{ .Block.ID }}</td>
    40                  </tr>
    41                  <tr>
    42                      <td>Min Time</td>
    43                      <td>{{ .Block.MinTime }}</td>
    44                  </tr>
    45                  <tr>
    46                      <td>Max Time</td>
    47                      <td>{{ .Block.MaxTime }}</td>
    48                  </tr>
    49                  <tr>
    50                      <td>Duration</td>
    51                      <td>{{ .Block.FormattedDuration }}</td>
    52                  </tr>
    53                  <tr>
    54                      <td>Compaction Level</td>
    55                      <td>{{ .Block.CompactionLevel }}</td>
    56                  </tr>
    57                  <tr>
    58                      <td>Shard</td>
    59                      <td>{{ .Block.Shard }}</td>
    60                  </tr>
    61                  <tr>
    62                      <td>Size</td>
    63                      <td>{{ .Block.Size }}</td>
    64                  </tr>
    65              </table>
    66  
    67              <h4 class="mt-4">Datasets</h4>
    68              {{ if .Block.Datasets }}
    69                  <table class="table table-sm table-hover">
    70                      <thead>
    71                          <tr>
    72                              <th>Name</th>
    73                              <th>Tenant</th>
    74                              <th class="text-end">Total Size</th>
    75                              <th class="text-end">Profiles Size</th>
    76                              <th class="text-end">TSDB Index Size</th>
    77                              <th class="text-end">Symbols Size</th>
    78                          </tr>
    79                      </thead>
    80                      <tbody>
    81                          {{ range $ds := .Block.Datasets }}
    82                              <tr>
    83                                  <td class="font-monospace small">
    84                                      <a href="{{ $.Block.ID }}/datasets?dataset={{ if $ds.Name }}{{ $ds.Name }}{{ else }}_empty{{ end }}&shard={{ $.Shard }}&block_tenant={{ $.BlockTenant }}">{{ if $ds.Name }}{{ $ds.Name }}{{ else }}<em>(empty)</em>{{ end }}</a>
    85                                  </td>
    86                                  <td class="font-monospace small">{{ $ds.Tenant }}</td>
    87                                  <td class="font-monospace small text-end">{{ $ds.Size }}</td>
    88                                  <td class="font-monospace small text-end">{{ $ds.ProfilesSize }}</td>
    89                                  <td class="font-monospace small text-end">{{ $ds.IndexSize }}</td>
    90                                  <td class="font-monospace small text-end">{{ $ds.SymbolsSize }}</td>
    91                              </tr>
    92                          {{ end }}
    93                      </tbody>
    94                  </table>
    95              {{ else }}
    96                  <p>No datasets</p>
    97              {{ end }}
    98          </div>
    99      </div>
   100  </main>
   101  <footer class="footer mt-auto py-3 bg-dark">
   102      <div class="container">
   103          <small class="text-white-50">Status @ {{ .Now }}</small>
   104      </div>
   105  </footer>
   106  </body>
   107  </html>