Xamarin Profiler 0.17 preview released

RodrigoMoyaRodrigoMoya ESXamarin Team Xamurai
edited July 2015 in Profiler

A new preview 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:

  • Fix call tree generation
  • Fix metadata retrieval when paused
  • Fix flat chart for Android profiling
  • Support MLPD v10 format
  • Display relative percentages in call tree views

Windows:

  • Use radio buttons for call tree display settings
  • Fix enabling of console view for live runs
  • Fix resizing of right-side panel view

Mac:

  • Prettify NSAlert-based dialogs
  • Fix problems with spaces for MLPD directory setting
  • Use radio buttons for snapshots preferences and call tree display settings
  • Improve toolbar on Yosemite
  • Improve tabs look
  • Reflect correct default sorting on default views
  • Display percentages graphically for samples list view

Bugs fixed:

  • 30948 - Profiler is getting crashed when user is trying to start profiler
  • 30036 - Xam.Mac app is not getting closed when user click on Stop button in profiler window
  • 30225 - Console output is not displaying for Xam.Mac app
  • 30683 - Snapshot data is not getting reset
  • 31096 - Memory profiler tracks total allocations
  • 28846 - Profiler does not generate data and chart for the android app and after sometime it throws error
  • 27479 - Profiler shows "Unknown" nodes in call tree
  • 27944 - Profiler does not generate and display data properly for instruments Allocations and Time Profiler in details pan
  • 29743 - Instrument selection dialog is not getting closed
  • 30283 - Taking a snapshot causes the profiler to crash with an out of memory exception
  • 29386 - Functionality of Right panel is not working properly
  • 28411 - On selecting any instrument, focus should move on that instrument along with its graph/chart
  • 30585 - Expand/collapse icon is not working properly for right-side panel
  • 31125 - Allocation List and Snapshot view default sorting is not by Time
  • 30671 - User is not able to save profiler session

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

  • CliffCawley.NCliffCawley.N USMember
    edited June 2015

    @RodrigoMoya
    I have installed this version and in Visual Studio 2012 I'm trying to launch it with the Analyze -> Xamarin Profiler menu item, but the Xamarin Profiler menu item is disabled. What have I done wrong?

  • CliffCawley.NCliffCawley.N USMember

    Also, I tried launching with Xamarin Studio instead and while it launches the Profiler, my app crashes when launched by the profiler. If I run it without the Profiler attached, it runs just fine.

    I've attached the log from the Android monitor.

    I'm not 100% sure, but looks like a crash in the mono runtime?

    06-30 13:08:14.642: I/DEBUG(86): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 06-30 13:08:14.642: I/DEBUG(86): Build fingerprint: 'generic/vbox86p/vbox86p:5.0/LRX21M/buildbot02241201:userdebug/test-keys' 06-30 13:08:14.642: I/DEBUG(86): Revision: '0' 06-30 13:08:14.642: I/DEBUG(86): ABI: 'x86' 06-30 13:08:14.642: I/DEBUG(86): pid: 4954, tid: 4973, name: imble.nimbleapp >>> com.nimble.nimbleapp <<< 06-30 13:08:14.642: I/DEBUG(86): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x18 06-30 13:08:14.645: I/DEBUG(86): eax 00000000 ebx a2cf0c04 ecx 00000000 edx fffffff9 06-30 13:08:14.645: I/DEBUG(86): esi b475bf80 edi b475bfc0 06-30 13:08:14.645: I/DEBUG(86): xcs 00000073 xds 0000007b xes 0000007b xfs 00000007 xss 0000007b 06-30 13:08:14.645: I/DEBUG(86): eip a2be0f16 ebp b475bf88 esp a26ffc50 flags 00210246 06-30 13:08:14.645: I/DEBUG(86): backtrace: 06-30 13:08:14.645: I/DEBUG(86): #00 pc 00231f16 /data/app/Mono.Android.DebugRuntime-1/lib/x86/libmonosgen-32bit-2.0.so (mono_threads_attach_tools_thread+54) 06-30 13:08:14.645: I/DEBUG(86): #01 pc 0000bcaa /data/app/com.nimble.nimbleapp-1/lib/x86/libmono-profiler-log.so (writer_thread+26) 06-30 13:08:14.645: I/DEBUG(86): #02 pc 00020b78 /system/lib/libc.so (__pthread_start(void*)+56) 06-30 13:08:14.645: I/DEBUG(86): #03 pc 0001bfd9 /system/lib/libc.so (__start_thread+25) 06-30 13:08:14.645: I/DEBUG(86): #04 pc 00012bc6 /system/lib/libc.so (__bionic_clone+70) 06-30 13:08:14.717: I/DEBUG(86): Tombstone written to: /data/tombstones/tombstone_01 06-30 13:08:14.717: I/BootReceiver(482): Copying /data/tombstones/tombstone_01 to DropBox (SYSTEM_TOMBSTONE)

    What can I do, I'm not sure where to go from here.

    (I've installed an older version of the profiler and it's worked just fine. I think the last version was 0.12 or 0.14 or something.)

    Cliff

    log.txt 46.7K
  • CliffCawley.NCliffCawley.N USMember
    edited July 2015

    I have installed this version and in Visual Studio 2012 I'm trying to launch it with the Analyze -> Xamarin Profiler menu item, but the Xamarin Profiler menu item is disabled. What have I done wrong?

    Okay, so this was because in the Droid project I didn't have 'Enable developer instrumentation (debugging and profiling)' Checked. I swear in a previous version it wouldn't disable the menu, but when clicked would tell me that it would enable that option for me.

    Anyway, further info on the crash that I get trying to profile:

    Simple Project with mvvmcross

    Genymotion -> Crash
    Xamarin Android Player -> Crash
    Android emulator HAXM -> Works!

    Larger Project with mvvmcross

    Genymotion -> Crash
    Xamarin Android Player -> Crash
    Android emulator HAXM -> Crash

    Can I provide any more info?

  • Nikolay.2813Nikolay.2813 USMember

    I get the following after upgrading my Xamarin to the latest 5.9.4 with the 0.17 build of the Profiler.

    Same problem with different ios devices, before the Xamarin update I was able to use the Memory profiler just fine.

  • RodrigoMoyaRodrigoMoya ESXamarin Team Xamurai

    @CliffCawley.N seems you're getting a Xamarin.Android problem that has already been fixed. The updates with the fixes are in the beta/alpha channels right now, so please try again after updating.

    @Nikolay.2813 can you please provide the profiler logs (Help -> Open log directory)?

  • Nikolay.2813Nikolay.2813 USMember

    @RodrigoMoya Thanks for the quick response. Sent message with log.

  • CliffCawley.NCliffCawley.N USMember
    edited July 2015

    @RodrigoMoya It's worries me to have to use beta/alpha channels as our app is live in the stores and we're performing updates, but sure, I'm feeling lucky today.

  • CliffCawley.NCliffCawley.N USMember

    I'm happy to report that updating Xamarin has allowed me to use it with the Profiler!

    Thanks for your suggestion @RodrigoMoya

  • viren2m2viren2m2 USMember

    The time profiler for Android does not work in this version as well. The running time always displays 0 ms.
    Any clue on when this might get fixed?

  • StefanReinhard.1213StefanReinhard.1213 USMember ✭✭

    Having the the same Problem as Nikolai.2813 and possibly viren2m2. The Profiler stops immediately after launching the App. Like this, the Profiler is unfortunately more or less unusable ;-)

  • RunarOvesenHjerpbakkRunarOvesenHjerpbakk NOUniversity ✭✭

    I have the same problem as @Nikolay.2813 and @StefanReinhard.1213. All the good exceptions are lined up. App works without the profiler attached (albeit slowly, hence the need for profiling :) ).

Sign In or Register to comment.