Skip to content

RUM-14690: Reduce rendezvous events in RumAgent#121

Merged
ambushwork merged 2 commits into
developfrom
yl/rdv/rum-agent
Mar 1, 2026
Merged

RUM-14690: Reduce rendezvous events in RumAgent#121
ambushwork merged 2 commits into
developfrom
yl/rdv/rum-agent

Conversation

@ambushwork

@ambushwork ambushwork commented Feb 20, 2026

Copy link
Copy Markdown
Member

What does this PR do?

This PR mainly reduce the rendezvous events by:

  • caching rumScope, uploader & writer inside brightscript scope instead of visiting SceneGraph thread everytime.
  • caching all the fields and listen to their updates.

Results

This PR reduces the rendezvous events in application launch from 102-> 63 (38% improvements)

image

Additional Notes

  • Next steps should focus on upload/writer, to avoid repeating setup in RumAgent

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Make sure you discussed the feature or bugfix with the maintaining team in an Issue
  • Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

@ambushwork
ambushwork force-pushed the yl/rdv/rum-agent branch 5 times, most recently from f80ee59 to f3e852d Compare February 24, 2026 10:40
@ambushwork
ambushwork marked this pull request as ready for review February 24, 2026 10:42
@ambushwork
ambushwork requested a review from a team as a code owner February 24, 2026 10:42
m.top.observeFieldScoped("addAction", m.port)
m.top.observeFieldScoped("addError", m.port)
m.top.observeFieldScoped("addResource", m.port)
m.top.observeFieldScoped("sendCrash", m.port)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

here it is only sendCrash removed, but below in the rumAgentLoop there is also addConfigTelemetry removed, not sure if it is right or not

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

sendCrash and addConfigTelemetry are not removed, to avoid rendezvous of visiting m.top fields, these two functions are moved into updateFields function and triggered only when the m. fields are set.

only sendCrash is removed here because it should be triggered only inside RumAgent with the lastExitOrTerminationReason value from last session (should not be explicitly called) , so we stop listen the injection from outside. addConfigTelemetry is kept because we still call it from sample app and unit test.

@0xnm

0xnm commented Feb 24, 2026

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f3e852d1ef

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread library/components/rum/RumAgent.bs
Comment thread library/components/core/WriterTask.bs
@ambushwork
ambushwork merged commit 465a20f into develop Mar 1, 2026
8 checks passed
@ambushwork
ambushwork deleted the yl/rdv/rum-agent branch March 1, 2026 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants