-
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] Simple Logs component POC #72629
Comments
Pinging @elastic/logs-metrics-ui (Team:logs-metrics-ui) |
I think the component should allow consumers to specify what columns makes sense for them. Take the APM example: It's important to separate logs from different services (I'm going to assume this lives in If the kibana user leaves only <LogStream
...
columns={['@timestamp', 'event.dataset', 'message']}
/> |
How will this component fetch data? (Data plugin? HTTP? One time or with scrolling/pagination?)Data fetching will be done using the existing We will wrap this in a new How will this component behave if no data is available?It will show an ...vs Logs UI is disabledIt will render I also think consumers should be responsible of checking if the logs UI is enabled or not (we can provide a helper, or even better, see if Kibana offers a solution already). In the APM example, they can check if logs is enabled before showing the "Logs" tab in their UI. ...vs user doesn't have permissions on the logs indices?Same as above. Which parts of the existing Logs UI can be re-used?
What work will need to be done to make those existing parts of the Logs UI re-usable?The Where will this component live and how will it be accessed by others?
What other questions or concerns do we have about this component?How should it handle date ranges? Should it only take timestamps or datemath expressions? If that's the case, how should it handle Proposed component APIinterface LogStreamProps {
startTimestamp: number; // Required
endTimestamp: number; // Required
center?: TimeKey; // What log entry is centered?
filter?: string; // KQL expression
source?: string; // defaults to "default"
size?: number; // how many log lines. Default delegates to API.
columns?: string[]; // what fields to show. Default delegates to API.
paginable?: boolean; // defaults to `false`
}
export const LogStream: React.FC<LogStreamProps> = (props) => {...}; |
@afgomez the discussion in #67611 explicitly mentions using the source configuration as defined in the Logs UI. A deviation for the columns could mean significant changes to the APIs and would make the link back to the Logs UI very difficult (because that uses columns from the source configuration). The column definitions themselves are also more complex than just the field name. |
We can skip it for the first version. I still think there's some value in allowing consumers to specify what columns they want though, so I would like to revisit it in the future. |
I've outlined the possible API and some implementation details in #75650 |
Adding some thoughts here as we continue this work:
|
Drawing from designs mentioned in this ticket and clarified in this comment: #67611 (comment), we will put together a plan for how we would implement this component.
Related: #70513
Requirements so far:
Acceptance Criteria for this ticket:
The text was updated successfully, but these errors were encountered: