Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Improve visibility of experiments #12070

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
bpmct opened this issue Feb 8, 2024 · 7 comments
Closed

Improve visibility of experiments #12070

bpmct opened this issue Feb 8, 2024 · 7 comments
Assignees
Labels
good first issue Easily solved issues suitable for starters and community contributors

Comments

@bpmct
Copy link
Member

bpmct commented Feb 8, 2024

We use experiments to develop WIP features and also let community members and customers opt-in to try features that are in-progress or a bit rough around the edges.

We recently had a regression that, if we had more community members opted into experiments, we likely would have caught as it was under the wildcard experiment for 2 months. We also spent a ton of time troubleshooting customer deployments, only to find that they had an experiment on.

Product Requirements

  • From the Coder dashboard, an admin can see what experiments are turned on for their deployment
  • From the Coder dashboard, an admin can see what experiments are available (including * to turn them all on
  • From telemetry, we can see what deployments have which experiments on
@cdr-bot cdr-bot bot added the feature label Feb 8, 2024
@matifali
Copy link
Member

matifali commented Feb 9, 2024

We do have enabled and safe available experiments already exposed on th deployment page.
markup_1000000191

@mtojek mtojek added the good first issue Easily solved issues suitable for starters and community contributors label Feb 29, 2024
@dannykopping dannykopping self-assigned this Mar 7, 2024
@dannykopping
Copy link
Contributor

Grafana Mimir handles experiments & deprecations rather nicely: https://grafana.com/docs/mimir/latest/references/configuration-parameters/#parameter-lifecycle

I also love that they include a Prometheus metric to show which deprecated & experimental configs are in use, with associated log warnings.

@dannykopping
Copy link
Contributor

From the Coder dashboard, an admin can see what experiments are turned on for their deployment

As @matifali shows above: we already have this, so I'll consider this done unless there are other requirements.

From the Coder dashboard, an admin can see what experiments are available (including * to turn them all on)

@bpmct @matifali to clarify: do we need to be able to activate experiments at runtime? If not, will it be sufficient to link them to https://pkg.go.dev/github.com/coder/coder/v2/codersdk#Experiment? IMHO we should probably maintain a separate docs page listing and explaining all the experiments; it'll be a bit less jarring then jumping to Go docs.

@matifali
Copy link
Member

matifali commented Mar 18, 2024

A separate docs page sounds fine but keeping it manually updated will be cumbersome and I am sure it will drift. If we can auto generate the experiments docs that's perfect.

Also we can then link to the docs page from within the dashboard.

About enabling experiments from the UI, currently it is not possible as we need a restart of coderd. We may need a roadmap and RFC if and how we want to support changing configuration without restarting.

@dannykopping
Copy link
Contributor

Thanks for confirming @matifali πŸ‘ I didn't see a mechanism for enabling experiments at runtime.
Runtime changes could be a valuable feature, it's probably worth exploring.

A separate docs page sounds fine but keeping it manually updated will be cumbersome and I am sure it will drift. If we can auto generate the experiments docs that's perfect.

Also we can then link to the docs page from within the dashboard.

πŸ‘

@dannykopping
Copy link
Contributor

@matifali I think I'll keep the docs update for a separate PR, if that's ok?
We don't have that many experiments, and our current docs are probably fine for that.

@matifali
Copy link
Member

I am ok both ways. We don't need to necessarily write docs.

We can choose between the two,

  1. Write docs and link to them from within the dashboard
  2. Give an overview or small description about what an experiment does within the dashboard.

The purpose is to increase discovery of available experiments so we get more users to try them out.

Yeah I agree it's more suitable to do as a separate PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Easily solved issues suitable for starters and community contributors
Projects
None yet
Development

No branches or pull requests

4 participants