[Logs Shared] Move LogStream and LogView into new shared plugin#159279
[Logs Shared] Move LogStream and LogView into new shared plugin#159279tonyghiani wants to merge 360 commits intoelastic:mainfrom
Conversation
🤖 GitHub commentsExpand to view the GitHub comments
Just comment with:
|
|
Pinging @elastic/infra-monitoring-ui (Team:Infra Monitoring UI) |
sabarasaba
left a comment
There was a problem hiding this comment.
upgrade assistant changes lgtm
|
Pinging @elastic/apm-ui (Team:APM) |
|
Pinging @elastic/fleet (Team:Fleet) |
| licenseManagement: 41817 | ||
| licensing: 29004 | ||
| lists: 22900 | ||
| logsShared: 281060 |
There was a problem hiding this comment.
Have we looked into loading parts of this plugin async?
There was a problem hiding this comment.
Hey @jbudz, I was looking into this today and hopefully I'll be able to reduce this bundle size 👌
There was a problem hiding this comment.
I lazy loaded all the components I can, but most of the exported logic lives in utilities and state machines imported by the infra plugin, so the bundle size gain is minimum :(
…ic#159990) ## Summary Closes elastic#157479 This PR adds a check in Service Groups to display overflow bucket if Service metrics have been overflow  --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@elastic/charts](https://github.com/elastic/elastic-charts) | [`57.0.1` -> `58.2.0`](https://renovatebot.com/diffs/npm/@elastic%2fcharts/57.0.1/58.2.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>elastic/elastic-charts</summary> # [58.2.0](elastic/elastic-charts@v58.1.0...v58.2.0) (2023-06-23) ### Bug Fixes * `Chart` component `children` type ([elastic#2071](elastic/elastic-charts#2071)) ([525c782](elastic/elastic-charts@525c782)) * **deps:** update dependency @elastic/eui to v82 ([elastic#2074](elastic/elastic-charts#2074)) ([69a655f](elastic/elastic-charts@69a655f)) ### Features * **flame:** expose search field text and search text change listener ([elastic#2068](elastic/elastic-charts#2068)) ([c339947](elastic/elastic-charts@c339947)) * support native chart title and description ([elastic#2002](elastic/elastic-charts#2002)) ([341a990](elastic/elastic-charts@341a990)) # [58.1.0](elastic/elastic-charts@v58.0.0...v58.1.0) (2023-06-08) ### Features * **flame:** expose search control ([elastic#2064](elastic/elastic-charts#2064)) ([011b56b](elastic/elastic-charts@011b56b)) # [58.0.0](elastic/elastic-charts@v57.0.1...v58.0.0) (2023-06-06) ### Bug Fixes * **axis:** reduce number of y axis ticks on linear scale ([elastic#2005](elastic/elastic-charts#2005)) ([0ef828b](elastic/elastic-charts@0ef828b)) * **deps:** update dependency @elastic/eui to v81 ([elastic#2052](elastic/elastic-charts#2052)) ([4c55e01](elastic/elastic-charts@4c55e01)) ### BREAKING CHANGES * **axis:** the default number of desired ticks in the Y-Axis was changed from `10` to `5` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/elastic/kibana). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: nickofthyme <nicholas.partridge@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Nick Partridge <nick.ryan.partridge@gmail.com> Co-authored-by: Marco Vettorello <marco.vettorello@elastic.co>
|
Closing and reopening as #161151 |
💔 Build FailedFailed CI StepsTest Failures
Metrics [docs]Module Count
Public APIs missing comments
Any counts in public APIs
Async chunks
Public APIs missing exports
Page load bundle
Unknown metric groupsAPI count
async chunk count
ESLint disabled in files
ESLint disabled line counts
References to deprecated APIs
Total ESLint disabled count
History
To update your PR or re-run it, just comment with: |
📓 Summary
Closes #159128
Due to a dependencies issue when disabling a plugin in serverless mode, the LogStream feature and related logic were disabled for every consumer.
We decided to split this shared component and endpoint into their own plugin of shared logs utilities, reducing to the minimum the required dependency that could disable the plugin.
What we moved can be summarized with:
infrastructure-monitoring-log-viewsaved object definition and registration<LogStream />component<ScrollableLogTextStreamView />component and related logicinfraplugin.🤓 Review hints
Most of the changes are just renaming and moving stuff into the new plugin, but for some operations was required to implement new logic, which may deserve a more critical review:
plugin.tsfiles for theinfraandlogs_sharedplugins. The new plugin now registers the fallback actions to retrieve a source configuration if there's no stored log view. It also set the configuration for the message field and registers the log view saved object.logEntriesDomainhas also been moved inside the new plugin, but is also used by the logs-analysis endpoints, so it is exposed by the logs_shared plugin and consumed byinfra.👣 Following steps
We currently are still using the
observabilityplugin for consuming the CoPilot feature on our LogsStream flyout.The plugin dependency is marked as optional, so disabling the
observabilityplugin in a serverless environment won't disable also the exposed features in this new plugin, but it'll affect only the CoPilot feature, which won't be loaded.In future, would be nice to extract the CoPilot feature into its own package/plugin, so that also serverless projects can consume it without depending on `observability.