Skip to content
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

Docs: Add section on configuration parameter categories #938

Merged
merged 5 commits into from
Feb 4, 2022

Conversation

aknuds1
Copy link
Contributor

@aknuds1 aknuds1 commented Jan 28, 2022

What this PR does:
Add documentation section on configuration parameter categories.

Which issue(s) this PR fixes:
Fixes #910.

Checklist

  • [na] Tests updated
  • Documentation added
  • [na] CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

@aknuds1 aknuds1 marked this pull request as draft January 28, 2022 09:53
@aknuds1 aknuds1 added the type/docs Improvements or additions to documentation label Jan 28, 2022
---
title: "Configuration parameter lifecycle"
linkTitle: "Configuration parameter lifecycle"
weight: 1
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need input on what the weight should be.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Weighting should be in magnitudes of 10 or 100 (to allow for future content). Lower weights appear higher in the TOC

And thank you for asking this question - we'll add it to our writing guidelines.

Copy link
Contributor Author

@aknuds1 aknuds1 Jan 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GrafanaWriter I was more wondering what the weight should be in relation to the other sections, i.e. where to put this section in the ordering. I wasn't wondering about weighting magnitudes.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a good question that I also would be interested in the answer of. With no other obvious ordering, I think that it looks nice when it is alphabetical. (I don't know if Hugo just does that if we have equal weights?)

We have different types of documentation in our information architecture. Do they have ordering?
Perhaps concept -> task -> reference?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks as if the sections are ordered alphabetically with the current weighting, so I suppose we can just keep it as-is.

In order to simplify Mimir configuration, parameters are bucketed into 3 categories according to
their maturity and intended use: _basic_, _advanced_, and _experimental_.

## Basic
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GrafanaWriter, please weigh in here wrt "basic".

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we avoid using the term "basic" as it can have editorial tones - similar to terms such as "simple" or "easy".

My suggestion - could we use "core"?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think "core" is good.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"core" sounds good to me.
I've also seen us use the word 'stable', but that's more in contrast to 'experimental' flags.

So our hierarchy is that a flag is either 'stable' or 'experimental'
Independently, a flag is either 'core' or 'advanced'.
An 'advanced' flag can be 'stable' or 'experimental'.
An 'core' flag should never be 'experimental' I think?
I'm trying to build a venn diagram of this in my head.

Copy link
Collaborator

@pracucci pracucci Jan 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An 'core' flag should never be 'experimental' I think?

Agree. A core parameter should never be experimental at the same time.

Copy link
Contributor

@09jvilla 09jvilla Jan 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait @pracucci -- is that a typo in your response? it seems like you're saying the opposite...

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, it was a typo. I forget a "never", which reverse the sense of the sentence. I updated the message above.

Copy link
Collaborator

@pracucci pracucci left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @aknuds1 for working on this! I left few comments.

docs/sources/configuration/config-param-lifecycle.template Outdated Show resolved Hide resolved
docs/sources/configuration/config-param-lifecycle.md Outdated Show resolved Hide resolved
docs/sources/configuration/config-param-lifecycle.md Outdated Show resolved Hide resolved
docs/sources/configuration/config-param-lifecycle.md Outdated Show resolved Hide resolved
docs/sources/configuration/config-param-lifecycle.md Outdated Show resolved Hide resolved
docs/sources/configuration/config-param-lifecycle.md Outdated Show resolved Hide resolved
docs/sources/configuration/config-param-lifecycle.md Outdated Show resolved Hide resolved
@aknuds1 aknuds1 force-pushed the chore/document-config-param-lifecycle branch from 450287f to 7fe5650 Compare January 28, 2022 13:05
@aknuds1 aknuds1 requested a review from pracucci January 28, 2022 13:06
@aknuds1 aknuds1 force-pushed the chore/document-config-param-lifecycle branch from 7fe5650 to 52b8845 Compare January 28, 2022 13:07
@aknuds1
Copy link
Contributor Author

aknuds1 commented Jan 28, 2022

@pracucci OK, will remove template.

@aknuds1 aknuds1 force-pushed the chore/document-config-param-lifecycle branch from 52b8845 to 94f4e15 Compare January 28, 2022 14:16
@aknuds1 aknuds1 requested a review from pracucci January 28, 2022 14:17
Copy link
Collaborator

@pracucci pracucci left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! We need a tech writer now.

@RichiH
Copy link
Member

RichiH commented Jan 31, 2022

Breaking #938 (comment) out into its own top-level discussion:

Basic, advanced, and experimental overload two orthogonal dimensions into one:

  1. "How advanced does the user need to be to use/configure this"
  2. "How stable is the feature"

If we're talking user progression, basic, advanced, and expert are the common terms. Though I agree that basic can have negative connotations, in the context of "this is a basic setup" it makes more sense than "this is a core setup".

On stability, stable and experimental are the common terms.

One could argue that two categorizations are too complex for what we need, which would lead us to basic, advanced, expert, and experimental.

All that being said, while I believe that basic is more correct than core, I do not feel very strongly.

What I do feel strongly about is that whatever system we end up using here need to match what Grafana, Loki, and Tempo are using or will be using.

@RichiH
Copy link
Member

RichiH commented Jan 31, 2022

PS: We would use "basic" in direct relation to "advanced" and "expert" not completely detached, so there is context for the reader.

@aknuds1
Copy link
Contributor Author

aknuds1 commented Jan 31, 2022

As a point of reference, VLC uses the "advanced" term for normally hidden parameters.

Copy link
Contributor

@osg-grafana osg-grafana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unblocking, and can rework this later as needed.

@aknuds1 aknuds1 force-pushed the chore/document-config-param-lifecycle branch from 680f1a7 to 4b4a575 Compare February 3, 2022 14:08
@aknuds1 aknuds1 assigned aknuds1 and unassigned aknuds1 Feb 4, 2022
@aknuds1 aknuds1 changed the title WIP: Docs: Add section on configuration parameter lifecycle Docs: Add section on configuration parameter lifecycle Feb 4, 2022
@aknuds1 aknuds1 marked this pull request as ready for review February 4, 2022 08:59
@aknuds1 aknuds1 changed the title Docs: Add section on configuration parameter lifecycle Docs: Add section on configuration parameter categories Feb 4, 2022
@aknuds1
Copy link
Contributor Author

aknuds1 commented Feb 4, 2022

After having discussed with @pracucci and @jdbaldry I'm going to merge this PR, although the question whether to rename the "basic" category to "core" isn't resolved yet. Renaming the category will in any case require renaming it also in the Mimir and GEM code bases (i.e., it goes beyond mere documentation), so we will make a dedicated issue regarding making that decision before launch.

@aknuds1 aknuds1 merged commit 64a1235 into main Feb 4, 2022
@aknuds1 aknuds1 deleted the chore/document-config-param-lifecycle branch February 4, 2022 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/docs Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Define criteria for categorizing configuration parameters
7 participants