Skip to content

Conversation

@shahzad31
Copy link
Contributor

@shahzad31 shahzad31 commented Aug 21, 2020

Summary

Fixes: #74500

Added web core vitals, This only covers core web vitals, Total blocking time and First content full paint will be covered in a separate issue.

Testing:

You can test this by enabling apm on Kibana

use https://github.com/elastic/apm-integration-testing to start apm-server

./scripts/compose.py start master --no-kibana

in kibana use these credentials

elasticsearch.username: admin
elasticsearch.password: changeme

You can enable apm_rum on local kibana using https://github.com/elastic/kibana/blob/master/docs/developer/getting-started/debugging.asciidoc

This way you can reload couple of pages in kibana, performs some interactions and you should see the data in client side monitoring app.

image

@shahzad31 shahzad31 requested a review from formgeist September 4, 2020 12:50
@justinkambic
Copy link
Contributor

One thing I am noticing while trying to test this locally is that these default empty states should be updated to handle an undefined value:

image

@justinkambic
Copy link
Contributor

justinkambic commented Sep 4, 2020

There's something interesting happening with the chart overlay when I hover. We probably want to constrain this.

EDIT: it seems to happen when there is only one point on the chart, i.e. it's related to initial startup behavior, and should go away after any extended period of use. Still, if we can correct it that would be idea.

Show Image

image

@justinkambic
Copy link
Contributor

justinkambic commented Sep 4, 2020

On very narrow screens I'm seeing a bit of an overflow:

Show Image

image

@shahzad31 shahzad31 requested a review from a team as a code owner September 4, 2020 16:42
@shahzad31
Copy link
Contributor Author

shahzad31 commented Sep 4, 2020

@justinkambic have improved web core vitals responsiveness

For the page laod dist initial setup issue, going to create an issue for that. that seems bit tricky. Out of scope of this PR. Created this issue to track it elastic/uptime#252

image

@shahzad31
Copy link
Contributor Author

One thing I am noticing while trying to test this locally is that these default empty states should be updated to handle an undefined value:

image

@justinkambic also fixed this.

Copy link
Contributor

@justinkambic justinkambic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks pretty clean. I did miss one other responsive concern on tiny screens, but I think it is not related to these changes. Perhaps create an follow-up issue, unless you want to include the fix here?

image

@shahzad31
Copy link
Contributor Author

@justinkambic i have improved it up to certain width, i think this is acceptable level.
image

@elastic elastic deleted a comment from elasticmachine Sep 7, 2020
@kibanamachine
Copy link
Contributor

💚 Build Succeeded

Build metrics

@kbn/optimizer bundle module count

id value diff baseline
apm 1241 +6 1235

async chunks size

id value diff baseline
apm 4.9MB +12.3KB 4.9MB

distributable file count

id value diff baseline
default 45447 +1 45446

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

Comment on lines +110 to +114
export const FCP_FIELD = 'transaction.marks.agent.firstContentfulPaint';
export const LCP_FIELD = 'transaction.marks.agent.largestContentfulPaint';
export const TBT_FIELD = 'transaction.experience.tbt';
export const FID_FIELD = 'transaction.experience.fid';
export const CLS_FIELD = 'transaction.experience.cls';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to make a separate file with the csm fields to prepare for the imminent move out of APM?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok i will do this in a follow up PR.

import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui';

import { useFetcher } from '../../../../hooks/useFetcher';
import { useUrlParams } from '../../../../hooks/useUrlParams';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fyi: we are in the process of deprecating the global url params (and thus useUrlParams)

Copy link
Member

@sorenlouv sorenlouv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm
It is my understanding that we will attempt to move csm out of apm codebase in the not so distant future.
I think we can make this process easier if we de-couple the two codebases as much as possible, starting today

Copy link
Contributor

@justinkambic justinkambic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@shahzad31 shahzad31 merged commit e827a67 into elastic:master Sep 8, 2020
@shahzad31 shahzad31 deleted the rum-core-vitals branch September 8, 2020 15:19
shahzad31 added a commit to shahzad31/kibana that referenced this pull request Sep 10, 2020
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
shahzad31 added a commit that referenced this pull request Sep 10, 2020
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
@sorenlouv sorenlouv removed the Team:APM - DEPRECATED Use Team:obs-ux-infra_services. label Oct 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release_note:enhancement Team:Uptime - DEPRECATED Synthetics & RUM sub-team of Application Observability v7.10.0 v8.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[RUM dashboard] introducing Core Vitals

5 participants