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

Increase Documentation #831

Open
brentarias opened this issue Jul 17, 2018 · 6 comments
Open

Increase Documentation #831

brentarias opened this issue Jul 17, 2018 · 6 comments

Comments

@brentarias
Copy link

@brentarias brentarias commented Jul 17, 2018

I'd like to contribute to documentation. However, I myself need to learn BDN before I could contribute. I'll give a couple examples of missing documentation, but I'd like to regularly re-visit to add more examples of missing documentation. Perhaps this can be an on-going issue.

Some starting examples that need documentation:

  • There is no documentation about how to contribute to documentation. This is why I'm posting this issue here.
  • launchCount, warmupCount, targetCount and invocationCount. The documentation nowhere defines these. I've been figuring it out simply through experimentation.
  • The BenchmarkSwitcher has no documentation of what command-line switches it acknowledges. The sample documentation doesn't use an intuitive example.
  • Aside from the BenchmarkSwitcher, there is no documentation that indicates - one way or another - if the BDN console app is capable of accepting other command line switches.
  • There is no commentary about how or if test execution success or failure is taken into account. For example, if roughly 10% of [benchmark] executions result in an exception...how does BDN report this? Does it even have the ability to include this information in the results?
  • There is no discussion of "number of simultaneous users/requests." The documentation should state if there is such a capability and, if yes, how to use it.
  • Console output indicates events such as "Pilot N:" and "IdleTarget N:", but documentation does not explain these. Likewise, the documentation does not explain the difference between "IdleWarmup N:" and "MainWarmup N:" or the difference between "MaintTarget N:" and "Result N:".

The documentation should provide all the above information. Answers I receive in this issue, I'm glad to work into a pull request.

@AndreyAkinshin
Copy link
Member

@AndreyAkinshin AndreyAkinshin commented Jul 20, 2018

Hello @brentarias! It's great that you want to contribute to documentation, your help will be highly appreciated. We are going to release BenchmarkDotNet v0.11.0 on the next week with an updated documentation. After the release, I will answer all your questions and provide the corresponding links.

@AndreyAkinshin
Copy link
Member

@AndreyAkinshin AndreyAkinshin commented Jul 23, 2018

@brentarias, v0.11.0 is released! In this version, we migrated to DocFX and improved many parts of the documentation. It's still not perfect, but now it should be easy to modify it.

Below you can find some links which are relevant to your questions

There is no documentation about how to contribute to documentation. This is why I'm posting this issue here.

https://benchmarkdotnet.org/articles/contributing/documentation.html

launchCount, warmupCount, targetCount and invocationCount. The documentation nowhere defines these. I've been figuring it out simply through experimentation.

https://benchmarkdotnet.org/articles/configs/jobs.html

The BenchmarkSwitcher has no documentation of what command-line switches it acknowledges. The sample documentation doesn't use an intuitive example.

https://benchmarkdotnet.org/articles/guides/console-args.html
https://benchmarkdotnet.org/articles/configs/filters.html

Aside from the BenchmarkSwitcher, there is no documentation that indicates - one way or another - if the BDN console app is capable of accepting other command line switches.

https://benchmarkdotnet.org/articles/guides/how-to-run.html

There is no commentary about how or if test execution success or failure is taken into account. For example, if roughly 10% of [benchmark] executions result in an exception...how does BDN report this? Does it even have the ability to include this information in the results?

It's not supported for now, see #373

There is no discussion of "number of simultaneous users/requests." The documentation should state if there is such a capability and, if yes, how to use it.

If you are talking about multithreaded benchmarks, it's also not supported for now, see #147

Console output indicates events such as "Pilot N:" and "IdleTarget N:", but documentation does not explain these. Likewise, the documentation does not explain the difference between "IdleWarmup N:" and "MainWarmup N:" or the difference between "MaintTarget N:" and "Result N:".

https://benchmarkdotnet.org/articles/guides/how-it-works.html

@Maximusya
Copy link
Contributor

@Maximusya Maximusya commented Jan 6, 2019

Hi all!
My first contribution to documentation was as straightforward as:

  • read through https://benchmarkdotnet.org/
  • notice a room for improvement
  • click Improve this doc
  • use GitHub web editor to edit the corresponding .md file and create a pull request

But when it came to obscure bugs with links (and I did have noticed a commit history of the ongoing fight with links) and it was no longer a matter of editing .md, I followed the instructions in https://benchmarkdotnet.org/articles/contributing/documentation.html to build and start docfx locally. That's when I noticed that the site https://benchmarkdotnet.org/ is deployed with content/scripts that are nowhere to be seen in dotnet/BenchmarkDotNet repository.
The bug is not present in locally built docs, but present in "production"!

Is there some manual process involved in preparing docs for deployment? Or I am just missing something...

Update: one example of the content that looks manual is https://benchmarkdotnet.org/styles/main.js

@adamsitnik
Copy link
Member

@adamsitnik adamsitnik commented Jan 6, 2019

@AndreyAkinshin
Copy link
Member

@AndreyAkinshin AndreyAkinshin commented Jan 12, 2019

@Maximusya you are right, I build and deploy docs manually. When we migrated to the docfx-based docs, I decided to introduce versioning. Unfortunately, docfx 2.x doesn't support versioning, so I use a pretty tricky manual way to deploy docs.

However, according to the Google Analytics reports, nobody read docs for the previous versions. I guess, we can remove the versioning from the documentation. It will significantly simplify documentation building and deploying. We can bring versioning back after BenchmarkDotNet 1.0 is released (docfx 3.x should support it out of the box).

@adamsitnik what do you think?

@adamsitnik
Copy link
Member

@adamsitnik adamsitnik commented Jan 12, 2019

@AndreyAkinshin I agree, if nobody is using it then we should remove it and keep things simple

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.