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>