Babylon Performance Profiler

Hello Everyone,
My name is Sahil and I just started interning on the Babylon team a few weeks ago :smiley:. For my internship I am building a performance profiling tool, which will compliment the current numbers you see in the inspector under the statistics tab. This tool will allow users to see some (or all) of the numbers over time in a more visual format in the form of a Graph.

Here is a bit of a visual to illustrate what I am trying to build.

Do note that the UI won’t have that type of styling in the final product, and this is just a visual to give a rough idea of what I’m trying to build.

Now you may be wondering: What separates this from the chrome dev tools profiler? Well our profiler will be able to get data from directly from the babylon engine and display things dev tools may not be able to!

We will be using a pop out format similar to the animation curve editor for the desktop flow, while mobile will have to record, export, then import on to the desktop.

I have made a list of milestones to cover for my internship (right now they are really rough and based on the information I know so they are subject to change around!!).

Milestone 1:
•Ask team about what “data sources” they would like to see (Done)
•Ask community about what “data sources” they would like to see (In Progress)
•Develop a list of data sources to be implemented.

Milestone 2:
•Create button to open profiler
•Choose a graph library!
•Have a pop up showing a graph with mock data
•Figure out what data is already “accessible” and what will need to have support added

Milestone 3: (Get one of the data sources working and connected to a graph)
•Allow for the collection of one of the “simpler” data sources
•Connect the graph to this data source
•Adjust for any changes needed

Milestone 4: (Connect multiple graphs and allow toggling and colorization)
•Allow for the collection and displaying of multiple data sources.
•Allow for custom colorization.
•Allow for toggling of data sources.

Milestone 5: (Build the mobile flow and connect one of the sources not easily accessible currently)
•Allow for recording, exporting, and importing of data (useful for mobile!).
•Connect at least one of the “more difficult” data sources to the graph.

Milestone 6: (Finish off the pre-defined data sources and allow for user defined regions)
•Connect the rest of the data sources defined.
•Allow for user defined “Region” for profiling (collect data only between start and end defined by user).

Milestone 7:
Allow for user defined sources

Milestone 8:

By “data sources” I mean sources of data to display visually in graph format!

So for this feature as mentioned in the milestones I need to gather data on what would be good to display in graph format. Basically to prioritize what gets built at what point. So I am now asking people on the forum for what sources of data they would like to see and any suggestions they may have :smiley: !!

Please fill out this form to help out:

Feel free to leave a comment on this post if you want to expand on any idea in the form or anything else :smiley: