-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Proposal to improve the layout of the field reference documentation for Beats #9519
Comments
Adding @bmorelli25 because he has a dependency on this layout too. |
I think this is a very big improvement over what we have today. For your questions:
|
I think this is a huge improvement DeDe! Not sure that I have much to add (other than a 👍), but I'm a big fan of:
|
DEFINITELY a big improvement. wrt:
The ECS format currently uses 5 tables. No serious text overruns yet, but it's a matter of time. @webmat Ideas and implications for ECS here. |
Thanks for reminding me of this, @karenzone. Momentous timing, as I'm starting on the push of ECS docs to the main website. I'll consider the work and thoughts from this issue 👍 |
@ruflin I'd like to revisit this discussion about the field reference info now that ECS 1.0 has been released. I know you also have big changes in store for modules. I want to make sure we move forward in tandem on improvements here. |
As part of this effort, we need to make sure the generated doc tells users how to get the fields that are shown (module, processor, etc) and make titles unique. |
@dedemorton I think a first step is to improve the layout and potentially context information we have around the fields. I wonder if what ECS uses as layout could also work for Beats? For the bigger rafactoring to indicate where fields come from etc. +1. It will probably mean quite a few fields will show up in multiple places which is fine. An example for this is from my point of view what we have here as example in HAProxy (and others): https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-metricset-haproxy-info.html#_fields_42 The event shown contains quite a few ECS fields which is great, but how does the user know which is only looking at this event and does not know about ECS. Thinking long term about modules and fields definitions ending up in Kibana, the user should see the field definition in the index pattern or when hovering over a specific field. So no need to go to the docs for this. But that is really long term. |
Agreed. I think Karen and Matt based the ECS layout on the prototype I created, so we should be able to use a similar layout.
Totally agree! But we might also want to keep the field descriptions in the published docs where the content is searchable (as we get closer to this goal, we'll look at google analytics to see if this makes sense). For now, I'll see if I can tweak the script to spit out the format that we'd like to see. I'll pull in our resident doc tools guy (Nik) if I can't figure it out easily myself. |
@dedemorton Great, let me know if I can help on the scripting side for the layout. |
@ruflin and/or @nik9000 I'm finding it quite difficult to get the script to spit out tables because of inconsistencies in how the yaml files across the module docs are structured. Usually my bulldog-like tenacity wins out, but now in this case. :-P One way around this problem is to remove the sections completely and have one long list (or possibly table) that contains all the options. See the example I created here: https://metricbeatexample.firebaseapp.com/exported-fields-apache.html. To generate this, we just need to remove the code that adds the other sections and have something like:
How do we think users are using this content? If they want to find out what a field contains, then a simple page without sections is easier, IMO. If they want to know how the field gets generated, then we need sections for each metricset, but we also need to add missing content to a lot of modules because most of the section intros don't add much value. If we want to preserve the sub-sections, I'll need some help working through the logic. full disclaimer: I've only tested this on Metricbeat at this point. |
I don't think we need the section. I know we have sometimes descriptions inside but they are often just repeating the obvious. We rather have a long description on the top level about the different section or more details in each field instead. |
Currently the documentation about exported fields is not easy to read and scan due to problems with the layout. This proposal recommends improvements to the layout based on what I think should be done.
Problems with the existing layout:
Problems with the writing style/content:
Proposal to address these issues:
A prototype of the layout is available here: https://field-reference-test.firebaseapp.com/index.htmlCommented out because I accidentally blew this away.The asciidoc I used is here: https://github.com/dedemorton/beats-docs-review/pull/2/files
Note that links are missing in this small test case. I've put everything into a single file to make it easy to build. The table layout I've chosen is relatively simple and easy to read as raw text in GitHub.
Some other stuff I played around with:
Layout problems caused by our CSS or asciidoc (not easy to fix):
Questions and open issues:
The text was updated successfully, but these errors were encountered: