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

Reorganized help text some, grouped option flags #3

Closed
wants to merge 1 commit into from

Conversation

ragnarlonn
Copy link

No description provided.

},
cli.StringSliceFlag{
Name: "out, o",
Usage: "Write all measurements to a database",
Copy link
Contributor

Choose a reason for hiding this comment

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

Inconsistent wording: measurements vs metrics above.

Copy link
Author

@ragnarlonn ragnarlonn Aug 10, 2016

Choose a reason for hiding this comment

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

That was by design actually - to show that we log actual, collected measurement samples to influx, rather than the calculated metrics that are logged to stdout. But I'm open to alternative ways of expressing the distinction.

Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really need to express that difference? Technically, the tags are applied to samples, which form metrics (which we log to stdout or stream to a database). The distinction doesn't really seem to matter here…

"Write metrics to a database" seems like it'd convey the same message more concisely.

Copy link
Author

Choose a reason for hiding this comment

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

I think it is important to understand that the data sent to influx != the data sent to stdout. If we just say that "metrics" can be sent either to stdout or influx, people will expect the data to be the same and that --select or --exclude applies to both. I thought about using another header name instead of "OUTPUT OPTIONS", like perhaps "STDOUT OUTPUT OPTIONS", which would highlight the difference.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, I see. I think we should go about this another way.

The data sent to influx is the same data that is sent to stdout, or any other destination we may add in the future. In either influx/Grafana or stdout, you can filter the data being presented to you, but it doesn't change the underlying dataset.

How can we communicate that --select, --exclude and --group-by change the presentation of the data on stdout, rather than pointing out how --tag and --out (which work on any destination, not just stdout) differ from them?

Copy link
Author

Choose a reason for hiding this comment

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

Well, my simple solution was to put them in a separate group/section, with a header. Another way would be to stress in their descriptions the fact that they only filter stuff sent to stdout (which would probably use up more characters than using a group header). A third way would be to rename them to something that sounds a bit less generic. --stdout-select, --stdout-exclude, --stdout-group-by (not suggesting those, just making an example).

@liclac liclac self-assigned this Aug 10, 2016
@liclac
Copy link
Contributor

liclac commented Aug 10, 2016

I really don't like the idea of having the options split like this. I'd prefer if the logical grouping and descriptions could be used instead.

Usage: "Suppress the summary at the end of a test",
cli.DurationFlag{
Name: "interval, i",
Usage: "Write periodic summaries",
Copy link
Contributor

Choose a reason for hiding this comment

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

Hm, I know I wrote this one and all, but I actually wonder if it could be made clearer. It doesn't really indicate that you should pass in a duration.

@ragnarlonn
Copy link
Author

What do you mean by "the logical grouping"?

@liclac
Copy link
Contributor

liclac commented Aug 10, 2016

As in, the order they are presented within the singular list, putting related options next to each other.

@ragnarlonn
Copy link
Author

If we don't want to use groupings/sections, many tools have other ways to get more info in about options. Locust uses multiple description lines for each option (locust --help). I saw another tool that inserted example command lines in between option descriptions, but I can't remember which one. Some examples of grouped options include Httpie - https://github.com/jkbrzt/httpie, Wget or Salt (Saltstack). Httpie is considered a lot more user-friendly than curl (which uses the docker run --help style help text).

@liclac
Copy link
Contributor

liclac commented Aug 19, 2016

I'm just gonna close this while we go ahead and add subcommands. That should eliminate a lot of potential for flag bloat.

@liclac liclac closed this Aug 19, 2016
@ragnarlonn ragnarlonn deleted the feat/hilfe branch February 24, 2017 14:19
mstoykov added a commit that referenced this pull request Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants