blob: 28cbee7953980dac8dd7f1cf11ced956273c5005 [file] [log] [blame]
// Copyright 2019 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.
// Package internal contains data used through x/pkgsite.
package internal
const (
ExperimentAltRequeue = "alt-requeue"
ExperimentAutocomplete = "autocomplete"
ExperimentFrontendRenderDoc = "frontend-render-doc"
ExperimentInsertPackageSource = "insert-package-source"
ExperimentRemoveUnusedAST = "remove-unused-ast"
ExperimentSidenav = "sidenav"
ExperimentUnitPage = "unit-page"
)
// Experiments represents all of the active experiments in the codebase and
// a description of each experiment.
var Experiments = map[string]string{
ExperimentAltRequeue: "Requeue modules for reprocessing in a different order.",
ExperimentAutocomplete: "Enable autocomplete with search.",
ExperimentFrontendRenderDoc: "Render documentation on the frontend if possible.",
ExperimentInsertPackageSource: "Insert the source code of a package in the database.",
ExperimentRemoveUnusedAST: "Prune AST prior to rendering documentation HTML.",
ExperimentSidenav: "Display documentation index on the left sidenav.",
ExperimentUnitPage: "Enable the redesigned details page.",
}
// Experiment holds data associated with an experimental feature for frontend
// or worker.
type Experiment struct {
// This struct is used to decode dynamic config (see
// internal/config/dynconfig). Make sure that changes to this struct are
// coordinated with the deployment of config files.
// Name is the name of the feature.
Name string
// Rollout is the percentage of requests enrolled in the experiment.
Rollout uint
// Description provides a description of the experiment.
Description string
}