<!--
  Copyright 2023 The Go Authors. All rights reserved.
  Use of this source code is governed by a BSD-style
  license that can be found in the LICENSE file.
-->

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Go Telemetry</title>
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
  <link rel="stylesheet" href="/static/index.min.css">
  <script src="/static/storage.min.js"></script>
</head>

<body>
  <main id="main">
    <nav class="Breadcrumb js-breadcrumb">
      <ol></ol>
    </nav>

    <div class="Container">
      <div class="Content">
        <h1 class="Title">Go Telemetry</h1>
        <p>
          This page allows you to inspect counters collected by Go Toolchain
          programs on your machine. It includes counters for submitted and
          pending reports. For more information about Go Toolchain telemetry
          <a target="_blank" rel="noreferrer" href="https://telemetry.go.dev/privacy">
            read the docs here.
          </a>
        </p>

        <section class="Index">
          <h2 id="index">Index</h2>
          <ul>
            <li>
              <a href="#charts">Charts</a>
              <ul>
                {{range .Charts.Programs}}
                <li>
                  <a href="#{{.ID}}">{{.Name}}</a>
                  <ul>
                    {{range .Counters}}
                    <li>
                      <a href="#{{.ID}}">{{.Name}}</a>
                    </li>
                    {{end}}
                  </ul>
                </li>
                {{end}}
              </ul>
            </li>
            <li>
              <a href="#config">Config</a>
            </li>
            <li>
              <a href="#files">Counters</a>
              <ul>
                {{range .Files}}
                <li>
                  <a href="#{{.ID}}"> {{.ID}} </a>
                </li>
                {{end}}
              </ul>
            </li>
            <li>
              <a href="#reports">Reports</a>
              <ul style="column-count: auto; column-width: 10rem">
                {{range .Reports}}
                <li>
                  <a href="#{{.ID}}">{{.Week}}</a>
                </li>
                {{end}}
              </ul>
            </li>
          </ul>
        </section>

        <section class="Charts">
          <h2 id="charts">Charts</h2>
          <p>
            Charts are visualizations of the counters from your archived
            reports. Counters for different program builds of the same program
            are summed together. Use the index to navigate to charts by
            counter name.
          </p>
          {{range .Charts.Programs}}
          <div class="Chart">
            {{$pname := .Name}}
            <h3 id="{{.ID}}" data-label="{{$pname}}">
              {{$pname}}
              {{if not .Active}}
                {{template "info-icon" "This program is not present in the telemetry config."}}
               {{end}}
            </h3>
            {{range .Counters}}
            <div>
              {{$cname := .Name}}
              <h4 id="{{.ID}}" data-label="{{$cname}}">
                {{$cname}}
                  {{if not .Active}}
                    {{template "info-icon" "This counter is not present in the telemetry config."}}
                  {{end}}
              </h4>
              <div data-chart-id="{{.ID}}"></div>
            </div>
            {{end}}
          </div>
          {{end}}
        </section>

        <section class="Config">
          <h2 id="config">Config</h2>
          <p>
            The config contains the list of active counters for each program
            and allowed report metadata.
          </p>
          <label>
            Version
            <select class="js-selectConfig" name="config">
              {{range .ConfigVersions}}
              <option value="{{.}}" {{if eq . $.RequestedConfig}}selected{{end}}>
                {{.}}
              </option>
              {{end}}
            </select>
          </label>
          <pre style="max-height: 20rem">{{.PrettyConfig}}</pre>
        </section>

        <section class="Files">
          <h2 id="files">Counters</h2>
          <p>
            Counters display data from active counter files that has not yet
            been uploaded with a report or archived. If a report includes data
            that is not registered in the telemetry config, a summary of those
            fields and how they'll be handled appears next to the counter
            values.
          </p>
          {{range .Files}}
          <div class="File">
            <h3 id="{{.ID}}">{{.ID}}</h3>
            <div class="Counters">
              <div class="Meta">
                <span>Program:</span>
                <span class="{{if not .ActiveMeta.Program}}unknown{{end}}">
                  {{.Meta.Program}}
                </span>
                <span>Version:</span>
                <span class="{{if not .ActiveMeta.Version}}unknown{{end}}">
                  {{.Meta.Version}}
                </span>
                <span>GOOS:</span>
                <span class="{{if not .ActiveMeta.GOOS}}unknown{{end}}">
                  {{.Meta.GOOS}}
                </span>
                <span>GOARCH:</span>
                <span class="{{if not .ActiveMeta.GOARCH}}unknown{{end}}">
                  {{.Meta.GOARCH}}
                </span>
                <span>GoVersion:</span>
                <span class="{{if not .ActiveMeta.GoVersion}}unknown{{end}}">
                  {{.Meta.GoVersion}}
                </span>
                <span>TimeBegin:</span>
                <span>{{.Meta.TimeBegin}}</span>
                <span>TimeEnd:</span>
                <span>{{.Meta.TimeEnd}}</span>
              </div>
              {{$file := .}}
              {{with .Counts}}
              <div class="Count">
                {{range .}}
                <div class="Count-entry {{if not .Active }}unknown{{end}}">
                  <span>{{.Name}}</span><span>{{.Value}}</span>
                </div>
                {{end}}
              </div>
              {{end}}
              {{with .Stacks}}
              <div class="Stack">
                Call stacks:
                {{range .}}
                <details>
                  <summary>
                    <div class="Count-entry {{if not .Active }}unknown{{end}}">
                      <span>{{.Name}}</span><span>{{.Value}}</span>
                    </div>
                  </summary>
                  <pre>{{.Trace}}</pre>
                </details>
                {{end}}
              </div>
              {{end}}
              {{with .Summary}}
              <div class="Summary">{{.}}</div>
              {{end}}
            </div>
          </div>
          {{end}}
        </section>

        <section class="Reports">
          <h2 id="reports">Reports</h2>
          <p>
            Reports represent local copies of the data uploaded by the Go
            command to telemetry.go.dev. Use the index to navigate to a
            report by upload date or program build.
          </p>
          {{range .Reports}}
          <div class="Report">
            {{$date := .Week}}
            <h3 id="reports:{{$date}}">{{$date}}</h3>
            {{range .Programs}}
            <div id="{{.ID}}" class="Counters">
              <div class="Meta">
                <span>Program:</span>
                <span class="{{if not ($.Config.HasProgram .Program)}}unknown{{end}}">
                  {{.Program}}
                </span>
                <span>Version:</span>
                <span class="{{if not ($.Config.HasVersion .Program .Version)}}unknown{{end}}">
                  {{.Version}}
                </span>
                <span>GOOS:</span>
                <span class="{{if not ($.Config.HasGOOS .GOOS)}}unknown{{end}}">
                  {{.GOOS}}
                </span>
                <span>GOARCH:</span>
                <span class="{{if not ($.Config.HasGOARCH .GOARCH)}}unknown{{end}}">
                  {{.GOARCH}}
                </span>
                <span>GoVersion:</span>
                <span class="{{if not ($.Config.HasGoVersion .GoVersion)}}unknown{{end}}">
                  {{.GoVersion}}
                </span>
              </div>
              {{$report := .}}
              {{with .Counters}}
              <div class="Count">
                {{range $name, $value := .}}
                <div class="Count-entry {{if not ($.Config.HasCounter $report.Program $name) }}unknown{{end}}">
                  <span>{{$name}}</span><span>{{$value}}</span>
                </div>
                {{end}}
              </div>
              {{end}}
              {{with .Summary}}
              <div class="Summary">{{.}}</div>
              {{end}}
            </div>
            {{end}}
          </div>
          {{end}}
        </section>
      </div>
    </div>
  </main>
  <script>
    window.Page = {{.}};
  </script>
  <script src="/static/index.min.js"></script>
</body>

</html>