-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Logs UI] Proposal: Make column widths configurable #39703
Comments
Pinging @elastic/infra-logs-ui |
Being able to drag to resize (and for the UI to remember the size) would be ideal. |
I would mirror what @OrangeDog has stated, having a few fields within the log view automatically squashes the message field, with the "other" fields taking up an equal spacing. This can make it awkward to read the content. |
That is good feedback, thank you. While we're talking about it, do you have any opinions on the preferred way to display the value if the column is too small? Does wrapping by default make sense or would truncation (with an ellipsis) be best for your use-case? |
@weltenwort it should use the Line Wrapping that already exists under Customize. |
@OrangeDog yes, that makes sense In regard to remembering the settings, they are already "persisted" in the url, so bookmarking and sharing should just work. We've been hesitant to introduce another layer of persistence (like localstorage), because it can be the cause of much confusion and makes debugging harder. Would adding the ability to set a "default" in the source configuration be an improvement if you consider your workflow? |
A default would be an improvement. |
+1 For both ideals As far as localStorage I agree with @OrangeDog when you go to the UI it should have the same customization as the last time you used it. Another thought would be the ability to save the configuration of the columns and load it back later. It would be handy with using different configurations for different datasets. Also, the column order should be resortable, without having to delete and add back, but there's probably a separate issue for that. |
Thanks for the additional input! Persisting the column widths with the rest of the source configuration is the most obvious first step to me. I'm imagining giving the choice between two width values:
I'll create a mockup soon ™️
Yes, we're tracking it in #35736 and work on it has already started. |
I feel like the simplest solution for this problem is just to allow the columns to be resizable using click and drag in the log stream UI. Even if those changes don't persist, it'd be a good bit better than today where you can't change it at all. As a parallel effort, we could allow percentage-based settings to be specified in the configuration so they can set their "default" widths that get loaded on every visit to the Logs UI. I think percentage may be plenty (defaults to "auto" or something to specify that we handle it, or a percent value if they want to control it). How does timestamp currently do width based on character count? |
I would contend the simplicity of that in terms of clean UX, accessibility and technical implementation 😉 I'd be happy discuss that during the planning session.
|
Suggestion coming out of our grooming session: let's work this ticket so that you can configure the proportional widths for all of the columns except timestamp, and leave timestamp as it is right now (auto-configured to be the number of characters in the timestamp, as styled based on the user's Kibana date format settings). Give this comment a thumbs up if you're on board with that plan and we can re-work the ticket or create a new one to summarize that scope. |
Implementation for this is now being tracked by #44327 (didn't want to edit this description and lose the conversation/research done here) |
Is this already possible? |
Summary
With #34916 gained the ability to add additional columns to the Logs UI. One big limitation is the lack of control over the column width. The naive ratio-based sizing it currently implements is not ideal for many use cases.
Rationale
Auto-sizing the columns is not really a feasible option due to the incremental nature of the log loading process. It's impossible to know the size of not-yet-loaded log entries that will be fetched when scrolling. At the same time changing the column widths whenever new data come in has the effect of causing sudden and unexpected jumps in the layout, which would cause the user and the browser to lose track of scroll position.
As an alternative, the user could be given the ability to explicitly configure the size of the columns to match their best estimate of what width would be useful to their use-case.
Mockups
The text was updated successfully, but these errors were encountered: