-
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
[LogsUI] Add analysis results screen #43471
[LogsUI] Add analysis results screen #43471
Conversation
…uirement filtering check
…to 42771-log-rate-results-screen
…to 42771-log-rate-results-screen
…to 42771-log-rate-results-screen
…s (naieve version)
Just a note to say I'm investigating the React duplicate keys error. This wasn't happening during development, so I thought it was caused by the elastic-charts version bump within Kibana as I noticed it after merging |
💚 Build Succeeded |
Hmm, okay, it does look like something has changed in elastic-charts which is causing the error. Looking at #43516 we bumped from
The PR mentions Error details (standard React duplicate key stuff):
Version Version It's entirely possible I've used something incorrectly, but I'm not using any duplicate prop IDs anywhere. I'll chase this up with the charts peeps. PR can tentatively be reviewed by forcing version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at this today. Will see if anything jumps out at me re: the charts duplicate keys stuff.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking great! Obviously we need to wait for the elastic-charts fix so that the tooltip isn't broken, but I've added a few thoughts in the meantime.
x-pack/legacy/plugins/infra/public/pages/logs/analysis/page_results_content.tsx
Outdated
Show resolved
Hide resolved
x-pack/legacy/plugins/infra/public/pages/logs/analysis/sections/log_rate.tsx
Outdated
Show resolved
Hide resolved
x-pack/legacy/plugins/infra/public/pages/logs/analysis/sections/log_rate.tsx
Outdated
Show resolved
Hide resolved
💚 Build Succeeded |
@jasonrhodes Just pushed the changes for switching between chart / table view as discussed on Slack yesterday. With the button placement wasn't sure whether under the title looked best, or inline and over to the right. |
💔 Build Failed |
💔 Build Failed |
💚 Build Succeeded |
I think it's fine where it is for now. Functionally looks fantastic, thanks for knocking that out so fast! |
@jasonrhodes I'm trying to herd together the last remaining bits we have across the two PRs we have open. I've just pushed adding a Beta badge to this PR, although the commit doesn't seem to be showing up here yet due to GitHub's degraded service status on PRs. There's a bit of icky styling I had to add to get everything to line up properly between links, tabs, and badges, but as it's temporary and will be ripped out I think we can live with it. |
💚 Build Succeeded |
* Add empty analysis tab * Add ml capabilities check * Add job status checking functionality * Add a loading page for the job status check * Change types / change method for deriving space ID / change setup requirement filtering check * Use new structure * Add a loading page * Initial timeRange URL state hookup * Hook up params to data fetching * Fleshing out EUI structure * Change tab syntax * i18n translate message prop * Fix import * Add structural visual components * Split section in to independent component * Real loading and no data states * Add initial chart rendering (WIP) * Tick formatting for x axis * Add series styling, tickFormatter etc * Base bucketDuration on time range for a sensible number of data points (naieve version) * Add auto refresh * Adjust bucketDuration algorithm * Add some dark theme support * Call the functions * Extract chart helpers * Amend io-ts types * i18n translations * Add types for graph data * Allow ability to toggle model bounds * Add anomaly series * Format date correctly * Add anomalies detected text * Simplify syntax * Update title * Render panel within a page * Add ability to switch between chart and table view * Fix typechecking errors * Add a Beta badge to the analysis tab
* Add empty analysis tab * Add ml capabilities check * Add job status checking functionality * Add a loading page for the job status check * Change types / change method for deriving space ID / change setup requirement filtering check * Use new structure * Add a loading page * Initial timeRange URL state hookup * Hook up params to data fetching * Fleshing out EUI structure * Change tab syntax * i18n translate message prop * Fix import * Add structural visual components * Split section in to independent component * Real loading and no data states * Add initial chart rendering (WIP) * Tick formatting for x axis * Add series styling, tickFormatter etc * Base bucketDuration on time range for a sensible number of data points (naieve version) * Add auto refresh * Adjust bucketDuration algorithm * Add some dark theme support * Call the functions * Extract chart helpers * Amend io-ts types * i18n translations * Add types for graph data * Allow ability to toggle model bounds * Add anomaly series * Format date correctly * Add anomalies detected text * Simplify syntax * Update title * Render panel within a page * Add ability to switch between chart and table view * Fix typechecking errors * Add a Beta badge to the analysis tab
Summary
This ticket closes #42771, it adds a results screen, which for now contains the results for the log rate analysis job.
Testing notes
On our shared cluster there is an existing and running job / datafeed named
kibana-logs-ui-default-default-log-entry-rate
, this PR can be tested against that (providing you're on thedefault
space, using thedefault
source configuration) whilst [Logs UI] Create screen to set up analysis ML jobs #43413 is in progress. You may also setup your own jobs / datafeed by hitting the module setup endpoint as in [Logs UI] Create ML module for log analysis #42872 to test this against, but for ease using the preexisting data is easiest.The anomaly explorer of the ML UI itself (
ml#/explorer
) is helpful to go see where anomalies exist to zone in on them in our analysis results. We don't actually have a great deal of anomalies in our cluster (usually a good thing 😅) but they are there.Limitations
There are a couple of things to note regarding chart rendering, which is facilitated by
elastic-charts
.y
andy0
values when using a band area series. This means we haveExpected: <value>
twice, rather thanExpected: <minValue> - <maxValue>
. This is coming in the future.E.g.
Checklist
Use
strikethroughsto remove checklist items you don't feel are applicable to this PR.