question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Desktop Performance RFC

See original GitHub issue

Goal

The goal of this project is to provide insights on Desktop’s performance so the team can make informed product decisions and to better prioritize issues.

At the moment, much is unknown about how Desktop performs in the wild. Every now and again, we will get an issue where a user is having a bad experience with Desktop on their computer while the team has to guess what could be causing such terrible performance. This is not ideal because it increases the difficulty of determining the impact an issue has and slows the pace at which we get answers — if we get an answer at all.

What success looks like

I will consider this project a success if we are able to answer any of the questions from these five categories:

Category Questions
Workflow What do our users spend most of their time doing? Which workflow (part or full) is slowest? How long does each step in a workflow normally take?
RAM What is Desktop’s memory usage over time?
Network How much time are our users spending waiting on Desktop to complete API requests?
Errors When are users encountering errors? What are they? Is it a trend?

Where are we now?

The current format of our metrics package is unable to support the level of granularity needed to give any insight on the areas defined above, so we will have to revise how we collect and submit usage. Thomas and I spent a short amount of time discussing what a new metrics package would look like and we agreed that we should try to incorporate what’s being done in atom/telemetry.

Refined Data structure we came up with to submit metrics

[
    {
        "dimension": {
            "user_guid": "",
            "installation_guid": "",
            "event_type": "commit"
        },
        "measure": {
            "network_time": -1,
            "memory_usage": 8e+8
        }
    }
]

The key difference between this structure and the one in production is the one we are suggesting has an event granularity while the one in production is aggregated data.

What needs to get done

This list is not complete as these are the things that need to be done before we can move to bigger more interesting things like creating new ~Mode~ Looker dashboards.

  • Come up with new data structure that supports our new data needs and implement them: https://github.com/desktop/desktop/issues/5695
  • Determine metrics we’d like to start tracking and get them implemented in code
  • Update central to be compatible with new metrics format
  • POC using structured logging

cc, @desktop/analytics

Issue Analytics

  • State:open
  • Created 5 years ago
  • Reactions:2
  • Comments:11 (10 by maintainers)

github_iconTop GitHub Comments

1reaction
iAmWillShepherdcommented, Sep 19, 2018

@outofambit yes, that is currently the state of our metrics. We may have to rework that structure to answer the questions we want, but what’s there now should be sufficient to wrap your head around things.

0reactions
Buchananm739commented, Jun 18, 2019

PNG image

Read more comments on GitHub >

github_iconTop Results From Across the Web

Application Performance Measurement MIB RFC 3729
With this perspective, a true end-to-end view of the IT infrastructure results, combining the performance of the application, desktop, network, and server, ...
Read more >
RFC 2544 Network Testing - GL Communications Inc
RFC 2544 defines a specific set of tests that can be used to evaluate equipment performance. It defines a set of 4 tests...
Read more >
What is RFC 2544? Performance Test Methodology
Request for comment (RFC) 2544 is a benchmarking methodology created in 1999 for testing and measuring the performance of network devices.
Read more >
Valkyrie2544: the free software to perform all RFC2544 tests
Valkyrie2544 is a free PC application that makes it easy to create, edit and execute test configurations in accordance with RFC 2544. ......
Read more >
Basics of RFC 2544 and Y 1564 Testing Seminar - YouTube
A seminar I did on the basics of Ethernet SLA testing using RFC -2544 and Y.1564Apologize for me clearing my throat so much....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found