Xamarin Profiler 0.15 preview released

RodrigoMoyaRodrigoMoya ESXamarin Team Xamurai
edited June 2015 in Profiler

A new release of the Xamarin Profiler is available.

Please note that the Mac app bundle has been renamed (from XamarinProfiler.Mac.app to "Xamarin Profiler.app"), so the old version needs to be removed before installing this new update, so that Xamarin Studio prompts the user for the new location.

Common:

  • Always display drilled down objects, even when filtering
  • Fix lookup of Google Android emulators
  • Fix crash when trying to stop already stopped iOS application on device
  • Add pause/resume functionality

Windows:

  • Show correctly caller column in Allocations Summary (drill down mode) and List views
  • Fix crash when loading only the time instrument
  • Disable snapshot button when no instruments support displaying snapshots
  • Draw snapshot markers in all instruments, even if they have no data

Mac:

  • Prevent user from quickly clicking Run button several times
  • Change expand/collapse icon as right-side panel is expanded/collapsed
  • Improve Xamarin.Mac app profiling
  • Improve look&feel of the charts

Bugs fixed:

  • 27238 - Starting to profile Xamarin Studio and nothing happens
  • 27718 - Clean up markers for Generics
  • 26431 - Xamarin Profiler hangs on OSX 10.10.1 for Xamarin.Mac applciation
  • 29468 - User is not able to copy console tab data in windows profiler
  • 29655 - Display option for 'Call Tree' is not getting reset when we start profiler
  • 27547 - Profiler becomes unresponsive/hanged for a while when I run the profiler
  • 29709 - Profiler getting crashed
  • 29384 - Selected row info is lost for Call Tree view in extended detail pan
  • 29623 - Profiler window does not displaying correct application name
  • 27674 - Profiler does not generate chart and data for instrument 'Time Profiler' for iOS app with iOS device
  • 29743 - Instrument selection dialog is not getting closed

Limitations

This is a preview release and there are definite limitations, including but not limited to:

  • No official support for profiling Release builds
  • Data sets are correct at time of collection but data mining and representation is preliminary. This will improve in future releases.
  • Samples list not available on Android
  • Support for Xamarin.Mac app profiling is preliminary
  • Enabling Boehm for iOS builds results in no useful data on devices, as allocations and calls need to be disabled
  • Performance with large apps has been improved, but still lacking some

We encourage users to get in touch and file bug reports so we can continue to make this tool more useful and more stable.

Posts

  • DavidDancyDavidDancy AUMember ✭✭✭✭

    Gave it a try this morning on our app. As previously, on iOS when I have both Allocations and Timings selected, the app doesn't start (it gets killed by the Watchdog).

    However, this time when I select only Allocations the app starts. Yay!

    By the time it gets going there's something like 500,000 objects that have been allocated, but the actual number of live objects in that list isn't shown, and the current RAM usage of the app isn't shown either. Is this planned for a future release? (I see the little diamond next to each object that shows whether it's alive or not). I can see much less value in knowing the total allocations than in knowing how many allocations are live at this moment.

    I tried taking some snapshots and found that it takes several seconds (anything up to about 50s for the first few, well over 2 minutes for the fourth one) to complete the snapshot. Of course the app has moved on by the time the snapshot actually completes. I get the impression that the second and subsequent snapshots show a delta from the original, rather than absolute values. Is this correct?

    It makes me wonder if tracking so many objects (there are nearly 200,000 listed in the first snapshot) is why everything takes so much time. An option to track only live objects might be interesting in terms of providing useful information at a smaller price in elapsed time to compare the current snapshot with the previous one. This isn't even a large app!

    I'll also re-iterate my other previous suggestion that the .NET runtime be optionally excluded from analysis because it's just noise rather than useful data.

    However it's encouraging to see the app now able to start under the profiler and to get some indication of what's going in inside it. Progress! :smile:

  • GuillaumeGirardGuillaumeGirard CAMember ✭✭

    I am no longer able to start the profiler on Windows since 00.15...
    Here an extract of my event logs:

    Application: XamarinProfiler.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.TypeInitializationException
    Stack:
    at XamarinProfiler.Core.Logging.LoggingService.Initialize()
    at XamarinProfiler.Windows.App..ctor()
    at XamarinProfiler.Windows.App.Main()

  • shawshaw USXamarin Team, Insider Xamurai
    edited May 2015

    @GuillaumeGirard I think I see where this is broken. If you delete C:\Users\YourUser\AppData\Local\Xamarin\Log\Xamarin.Profiler that should get you passed that error.

    If possible, could you zip up that directory before deleting it and send it to me? shaw at xamarin dot com

  • GuillaumeGirardGuillaumeGirard CAMember ✭✭

    Already tried that after looking at the exe with Reflector (deleted the whole C:\Users\YourUser\AppData\Local\Xamarin\Log folder)... without any success.
    The only logs that were in that folder where under the "12.0" folder and only associated to the Visual Studio plug-in.

  • ThomassThomass DEMember

    @sshaw I am having the same problem. Profiler does not start. Any News on a Workaround? I tried the one suggested by you, but there was no folder: ...\AppData\Local\Xamarin\Log\Xamarin.Profiler on my system.

  • decriptordecriptor USBeta, Developer Group Leader Xamurai

    @GuillaumeGirard @Thomass ok, I think I might have a workaround. My current guess is if you install Xamarin Studio that it should start to work.

  • GuillaumeGirardGuillaumeGirard CAMember ✭✭

    @decriptor thanks for the hint but I will wait for a proper fix. Xamarin Studio is totally useless for me and I do not want to add bunch of software on my workstation that I do not use.
    I have never been able to start the profiler since its first beta release, so continuing to wait a couple of month will not make much difference...

  • ThomassThomass DEMember

    @decriptor @GuillaumeGirard I installed the newest Xamarin Studio and the profiler now Starts ThumbsUp

    Thanks!

  • Downloaded latest Xamarin Studio and profiler. Created a new app and did starting profiler. Proflier shows blank.

    Logs:

    INFO[2015-06-03 22:20:49Z]: ##########################################
    INFO[2015-06-03 22:20:49Z]: # Xamarin Profiler version - 0.15.0.0
    INFO[2015-06-03 22:20:49Z]: ##########################################

    Thanks

  • decriptordecriptor USBeta, Developer Group Leader Xamurai

    @GuillaumeGirard The problem is essentially that Mono.Posix.dll is missing. If you copy that into the folder with the profiler exe then it might work. Xamarin Studio GACs the Mono.Posix.dll and that is why we missed it. It should be fixed in the next release.

  • GuillaumeGirardGuillaumeGirard CAMember ✭✭

    @decriptor big thanks!! finally succeeded to start it :)
    Now time to learn to use it ;)

  • shawshaw USXamarin Team, Insider Xamurai

    I'm glad you are finally able to use it :)

Sign In or Register to comment.