-
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
[RUM Dashboard] Create new path for client side monitoring #74740
Conversation
Pinging @elastic/uptime (Team:uptime) |
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.
Sorry for my lack of understanding, but I need some more context. I'm also sorry for the wall of text that follows.
From what I can tell, this appears to be existing functionality that we are extracting from APM into its own top-level application/feature. If that is the case, then I have some thoughts around the privilege/access model.
- APM users in 7.9 have access to this feature within APM itself. After upgrading, they won't have access to this anymore, based on the way this is currently configured. I don't think this is what you want, as it's considered a breaking change to take features away from users who were previously authorized.
- Does APM continue to function if the user doesn't have access to this new Client Side Monitoring app?
- Does Client Side Monitoring function if the user doesn't have access to the APM feature? What type of access is required for me to test and verify this?
3a) Does Client Side Monitoring rely on any API routes defined by the APM application? APM secures access to its routes using theaccess:apm
tag, and others. Client Side Monitoring is not configured to grant access to these APIs, so if you're relying on them, then we'll need to adjust the feature definition accordingly.
3b) Does Client Side Monitoring rely on any UI Capabilities defined by the APM feature? If so, how will this work for users who don't have access to APM itself? - Should users with the existing
apm_user
role have access to this new Client Side Monitoring feature?
@legrego thanks for the feedback, So this was kind of hidden feature within apm in 7.9, which was only accessible through a URL, acting kind of as a preview for users. So now it will be totally dependant on Only apm users will be able to access this new feature. |
Thanks for the updates @shahzad31 - your new changes mean you don't technically need my review anymore, so LGTM from a security perspective |
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.
Mostly some remarks around parallelisation and a bug in the observability dashboard. Also I think we should use csm
consistently rather than rum
or clientSideMonitoring
where appropriate, but will leave that up to you.
x-pack/plugins/apm/public/components/app/Main/route_config/index.tsx
Outdated
Show resolved
Hide resolved
x-pack/plugins/apm/public/components/app/RumDashboard/RumHome.tsx
Outdated
Show resolved
Hide resolved
@dgieselaar Thanks for the feedback, i have addressed all of it. |
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.
I think @dgieselaar has done a better job reviewing here than I can, so I have nothing to add other than confirming his findings.
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.
I think there's one or two lines that could be removed and a translation that should be added, but other than that, LGTM!
x-pack/plugins/apm/public/components/app/RumDashboard/RumHome.tsx
Outdated
Show resolved
Hide resolved
💛 Build succeeded, but was flaky
Test FailuresPlugin Functional Tests.test/plugin_functional/test_suites/core/route·ts.core route timeouts idle socket should timeout if servers response is too slowStandard Out
Stack Trace
Build metrics@kbn/optimizer bundle module count
async chunks size
page load bundle size
History
To update your PR or re-run it, just comment with: |
Summary
Fixes: elastic/uptime#240
Created a new entry point for client side monitoring solutions, code as of now will remain part of APM, so simply just registered a new feature.
For permission perspective, it will continue to use
apm_user
role.Also used lazy loading in plugin setup to reduce initial page load bundle size.