diff options
| author | Jonathan Amsterdam <jba@google.com> | 2020-10-06 14:38:14 -0400 |
|---|---|---|
| committer | Jonathan Amsterdam <jba@google.com> | 2020-10-06 18:46:50 +0000 |
| commit | 89cffa002db8f43301381e5a3a02215237018dfb (patch) | |
| tree | 612a444eb68277080ce499d8a5ccd135882ba6ec /devtools/cmd | |
| parent | 0ad7ab27d2e987f5346dc173d880590cdf2af861 (diff) | |
| download | go-x-pkgsite-89cffa002db8f43301381e5a3a02215237018dfb.tar.xz | |
devtools/cmd/experiment: remove
Experiments are now managed via a YAML config file.
Change-Id: I8c70e14bcbdcf3372994b80b1fa420fcbc5232f0
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/259839
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Julie Qiu <julie@golang.org>
Diffstat (limited to 'devtools/cmd')
| -rw-r--r-- | devtools/cmd/experiment/experiment.go | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/devtools/cmd/experiment/experiment.go b/devtools/cmd/experiment/experiment.go deleted file mode 100644 index 58f85ec3..00000000 --- a/devtools/cmd/experiment/experiment.go +++ /dev/null @@ -1,147 +0,0 @@ -// Copyright 2020 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. - -// Command experiment is used for modifying data in the experiments table. -package main - -import ( - "context" - "flag" - "fmt" - "log" - "os" - - "golang.org/x/pkgsite/internal" - "golang.org/x/pkgsite/internal/config" - "golang.org/x/pkgsite/internal/database" - "golang.org/x/pkgsite/internal/postgres" -) - -const usage = ` -List experiments: - experiments [flags...] ls - -Create a new experiment: - experiments [flags...] create <name> - -Update an experiment: - experiments [flags...] update <name> - -Remove an experiment: - experiments [flags...] rm <name> -` - -var rollout = flag.Uint("rollout", 100, "experiment rollout percentage") - -func exitUsage() { - flag.Usage() - os.Exit(2) -} -func main() { - flag.Usage = func() { - fmt.Fprint(flag.CommandLine.Output(), usage) - fmt.Fprintln(flag.CommandLine.Output()) - fmt.Fprintln(flag.CommandLine.Output(), "Flags:") - flag.PrintDefaults() - } - flag.Parse() - if flag.NArg() < 1 { - exitUsage() - } - ctx := context.Background() - cfg, err := config.Init(ctx) - if err != nil { - log.Fatal(ctx, err) - } - cfg.Dump(os.Stderr) - ddb, err := database.Open("postgres", cfg.DBConnInfo(), cfg.InstanceID) - if err != nil { - log.Fatal(ctx, err) - } - defer ddb.Close() - db := postgres.New(ddb) - switch flag.Arg(0) { - case "ls", "list": - if err := listExperiments(ctx, db); err != nil { - log.Fatalf("listing experiments: %v", err) - } - case "create": - if flag.NArg() < 2 { - fmt.Println(flag.NArg()) - exitUsage() - } - if err := createExperiment(ctx, db, flag.Arg(1), *rollout); err != nil { - log.Fatalf("creating experiment: %v", err) - } - case "update": - if flag.NArg() < 2 { - exitUsage() - } - if err := updateExperiment(ctx, db, flag.Arg(1), *rollout); err != nil { - log.Fatalf("updating experiment: %v", err) - } - case "rm", "remove": - if flag.NArg() < 1 { - exitUsage() - } - if err := removeExperiment(ctx, db, flag.Arg(1)); err != nil { - log.Fatalf("removing experiment: %v", err) - } - default: - exitUsage() - } -} -func listExperiments(ctx context.Context, db *postgres.DB) error { - exps, err := db.GetExperiments(ctx) - if err != nil { - return err - } - fmt.Printf("%30s %12s %-40s\n", "NAME", "ROLLOUT", "DESCRIPTION") - for _, exp := range exps { - fmt.Printf("%30s %12d %-40s\n", exp.Name, exp.Rollout, exp.Description) - } - return nil -} - -func createExperiment(ctx context.Context, db *postgres.DB, name string, rollout uint) error { - exp := &internal.Experiment{ - Name: name, - Description: description(name), - Rollout: rollout, - } - if err := db.InsertExperiment(ctx, exp); err != nil { - return err - } - fmt.Printf("\nCreated experiment %q with rollout=%d.\n", name, rollout) - return nil -} - -func updateExperiment(ctx context.Context, db *postgres.DB, name string, rollout uint) error { - exp := &internal.Experiment{ - Name: name, - Description: description(name), - Rollout: rollout, - } - if err := db.UpdateExperiment(ctx, exp); err != nil { - return err - } - fmt.Printf("\nUpdated experiment %q; rollout=%d.\n", name, rollout) - return nil -} - -func removeExperiment(ctx context.Context, db *postgres.DB, name string) error { - if err := db.RemoveExperiment(ctx, name); err != nil { - return err - } - fmt.Printf("\nRemoved experiment %q.\n", name) - return nil -} - -func description(name string) string { - d, ok := internal.Experiments[name] - if !ok { - log.Fatalf("Experiment %q does not exist.", name) - } - return d -} |
