-
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
[User Experience App] Move UX public code out of apm #88645
Conversation
💔 Build Failed
Failed CI StepsTest FailuresJest Tests.x-pack/plugins/apm/public/components/app/service_inventory.ServiceInventory should render services, when list is not emptyStandard Out
Stack Trace
Jest Tests.x-pack/plugins/apm/public/components/app/service_inventory.ServiceInventory should render empty message, when list is empty and historical data is foundStandard Out
Stack Trace
Jest Tests.x-pack/plugins/apm/public/components/app/service_inventory.ServiceInventory when legacy data is found renders an upgrade migration notificationStandard Out
Stack Trace
and 12 more failures, only showing the first 3. Metrics [docs]
History
To update your PR or re-run it, just comment with: |
💚 Build SucceededMetrics [docs]Module Count
Public APIs missing comments
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: cc @shahzad31 |
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.
LGTM - smoke tested the dashboard locally, I reviewed some of the code but didn't do any in-depth review aside from the plugin hookup code, which looked fine; if there are particular areas you want me to look at more closely let me know and I will re-review.
@@ -0,0 +1 @@ | |||
## Observability User Experience Application |
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.
Might be cool to add some copy here vs. having an empty file.
Pinging @elastic/apm-ui (Team:apm) |
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.
Curious if we can remove some other stuff to the obs plugin or a separate package, but other than that it is looking good, thanks a million @shahzad31 !
@@ -121,3 +121,4 @@ pageLoadAssetSize: | |||
controls: 34788 | |||
expressionPie: 26338 | |||
sharedUX: 16225 | |||
ux: 20784 |
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.
do you mind updating the one for APM?
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.
hmm shouldn't this happen auto? i ran the script
@@ -118,3 +118,9 @@ export const uxLocalUIFilters = uxLocalUIFilterNames.reduce((acc, key) => { | |||
}, | |||
}; | |||
}, {} as UxLocalUIFilterMap); | |||
|
|||
export type UxUIFilters = { |
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.
any chance we can move this entire file?
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.
this one is tricky, it's being used in APM server. And UX plugin is using some stuff from APM. So for now relationship is one directional. UX app is dependant on APM. I kept it here for now , to not introduce circular dependency.
Once routes are removed from APM, this will be gone auto.
@@ -8,7 +8,13 @@ | |||
import { getRumPageLoadTransactionsProjection } from '../../projections/rum_page_load_transactions'; | |||
import { mergeProjection } from '../../projections/util/merge_projection'; | |||
import { SetupUX } from './route'; | |||
import { BreakdownItem } from '../../../typings/ui_filters'; | |||
|
|||
export interface BreakdownItem { |
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.
is it possible to move this entire folder (rum_client/
) out of the apm plugin?
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.
Yes, this will be a follow up.
@@ -0,0 +1,20 @@ | |||
/* |
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.
any chance we can move this file to observability or keep it in APM and have the UX app import it?
@@ -0,0 +1,42 @@ | |||
/* |
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.
there is already a copy in the obs plugin, so this will be the 3rd one - any chance we can consolidate? maybe as a separate package?
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.
definitely, a follow up. i think we will move this to observability plugin. i am not sold on moving it to a package.
Friendly reminder: Looks like this PR hasn’t been backported yet. |
Summary
Fixes #78430
Moves existing UX dashboard code from APM plugin to new ui User Experience plugin.
This is the first step in the refactoring, more follow ups should be expected to untangle more things.
Test cases
Make sure you do these test cases before approving the PR
We will add/enable e2e tests in a follow up PR