sentry-demos / ios

iOS Empower Plant
1 stars 4 forks source link

Flagship Profile: Construct Recursive Function to simulate a slow span #68

Closed kpujjigit closed 11 months ago

kpujjigit commented 1 year ago

Match the Profile Data capture in our Flask and Android Demos to demonstrate a recursive, out-of-hand function. The Flask demo has a getIterator() function to showcase this. The goal is to induce an artificial slowdown that's part of the checkout flow and showcases Profiling's capabilities.

Below is the recursively observed i our Flask demo by way of getIterator():

image

kpujjigit commented 1 year ago

Screenshot of a File I/O Performance Issue showcasing a slow span in our mobile-android project. Named productProcessing()

Screenshot 2023-11-19 at 12 57 43 PM
kpujjigit commented 1 year ago

Link to productProcessing span in mobile-android: https://demo.sentry.io/profiling/profile/android/d15afc332b154710a5171a2f8384f7df/flamegraph/?colorCoding=by+recursion&fov=0%2C0%2C9313431552%2C1&query=&sorting=call+order&spanId=4f339f6af5bd44a3&tid=5477&view=top+down

kpujjigit commented 1 year ago

Android Example of implementation: https://github.com/sentry-demos/android/pull/93/commits/62198f9973d92b6dc0eed315235185db540eca81

kahest commented 11 months ago

I have a PR ready producing this:

Hoping to get write access so I don't need to fork :)