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

Visualize build profile #77

Open
mortenmj opened this issue Feb 5, 2025 · 2 comments
Open

Visualize build profile #77

mortenmj opened this issue Feb 5, 2025 · 2 comments

Comments

@mortenmj
Copy link
Collaborator

mortenmj commented Feb 5, 2025

We currently craft links to bb-portal where the user can download the profile for an invocation. This is a little dirty for, at least, two reasons. For one, the format of bb-portal links is not considered public API. And second, from bb-portal we have no control over how long the profile is persisted. It also requires the user to get the profile, and load it into e.g. chrome://tracing in order to view, which is cumbersome.

There are two improvements I'd like to see here. For one, we should persist the profile for any invocation in our own storage, and allow users to define as part of their bb-portal configuration how this is stored. And we should visualize the trace inside bb-portal itself. It's a relatively simple format, and there are libraries available for visualizing a flame graph, so this should be fairly straight forward.

@trey-ivy
Copy link
Collaborator

trey-ivy commented Feb 6, 2025

So I was talking with our devex team about this the other day and one of them had a good suggestion that we should provide a button that would allow you to persist this artifact further. So something like if you click on the button it saves it for X # of days, which I thought was a good compromise to serializing every one of these.

As for the flame graph visualization, i think we can certainly do something like this, but I don't think we can match the functionality provided by chrome's embedded tracing tool. Its fast, you can really zoom in and navigate around, it can handle tons of depth and complexity, etc. Even if we do surface a visualization in the UI for this data i think we should keep a way to download the item to your local machine.

@jasonschroeder-sfdc
Copy link
Contributor

Can bb-portal embed/deep link to the profile viewer? https://perfetto.dev/docs/visualization/deep-linking-to-perfetto-ui

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

3 participants