Skip to content
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

Add benchmarks #26

Closed
10 of 12 tasks
hmdhk opened this issue Jun 7, 2018 · 6 comments
Closed
10 of 12 tasks

Add benchmarks #26

hmdhk opened this issue Jun 7, 2018 · 6 comments
Assignees
Milestone

Comments

@hmdhk
Copy link
Contributor

hmdhk commented Jun 7, 2018

Postponed:

@hmdhk hmdhk changed the title Benchmarking the agent Add benchmarks for agent Jun 7, 2018
@hmdhk hmdhk changed the title Add benchmarks for agent Add benchmarks Jun 7, 2018
@hmdhk
Copy link
Contributor Author

hmdhk commented Sep 4, 2018

Preliminary results:

[
  {
    "name": "PerformanceMonitoring.createTransactionPayload",
    "mean": 0.000011806532270798866,
    "hz": 84698.87491632943
  },
  {
    "name": "PerformanceMonitoring.sendTransactions-no-json",
    "mean": 0.000023883519882611687,
    "hz": 41869.875333076285
  },
  {
    "name": "PerformanceMonitoring.sendTransactions",
    "mean": 0.00023317307692307694,
    "hz": 4288.659793814432
  }
]

@vigneshshanmugam
Copy link
Member

Blocked on Jenkins Pipeline.

@hmdhk
Copy link
Contributor Author

hmdhk commented Apr 30, 2019

We still need to make the Kibana dashboards and also the scripts to send benchmark payload to ES.
So it's currently not blocked.

@hmdhk hmdhk removed their assignment Jun 19, 2019
@vigneshshanmugam vigneshshanmugam self-assigned this Jun 20, 2019
@vigneshshanmugam
Copy link
Member

vigneshshanmugam commented Jun 20, 2019

Some thoughts on what are the dimensions that we have to come up on the RUM agent when it comes to the performance of the application and also the user experience.

  • We have to document the different loading patterns and explain the pros/cons of the approach because this decides how our script parse and execution affects the page-load. We have to find how we affect the browser from firing onload event.

  • Parse time of our agent script. Once the agent is downloaded, we patch some of the apis(XHR, Fetch) and also create global APM object.

  • Initialisation/Bootstrap time, Basically when user calls init method, It sets up all the listeners, configs and other successive initialisation that needs for agent to function properly.

  • Payload Construction - Once the load event is fired, most of our work comes up creating spans from RT and NT and also XHR spans that happened in the page. This is one of the most expensive work for the agent and we should identify the impact

  • Payload Beacon - Our payload is big right now since we do not have any compression technique, We have an open issue about this Optimize the payload size #158. We should also measure this as part of the process.

  • Post onload - currently any transactions/errors that happens after onload is also captured and also for SPA, we have to measure how much impact performance by monitoring even beyond onload.

I am going to work on setting couple of tests for capturing some of the benchmarks and we can start looking in to improving things along the way.

@vigneshshanmugam
Copy link
Member

Automation team already has a script for publishing the benchmarks to the ES cluster when running on the Jenkins pipeline. We have to prepare the script for running the benchmarks on the ci

@vigneshshanmugam
Copy link
Member

Closing this issue as we have opened dedicated ones for Performance Tuning and Benchmark son PR.

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

No branches or pull requests

4 participants