The Streaming Profiler SDK just got better.  The XenApp 5.0 APIs are published!

Here’s a link to the download site and official documentation for the 1.2 release of the Streaming Profiler SDK.

Just to be clear, YES, the 1.2 Streaming Client/Profiler can be used on top of Presentation Server 4.5.  The 1.2 version of the Profiler and Client are on the XenApp 5.0 DVD, announced here.  The streaming components can install on top of PS 4.5 and are not tied to Windows Server 2008 – though that is one of the platforms the new client supports.

In a prior post, I outlined the foundations of the Streaming Profiler SDK.  For that background, read here.

Additional details and overview on the SDK update can be found here.

OKAY – What’s new?

Enhancements at a glance, Streaming Profiler SDK version 1.2:

  • New APIs – Support for Inter-Isolation Communication defined profiles
  • Supports more languages; notably C++ where the prior supported only C# and probably VB.
  • Actual sample source!  What a concept.
  • The SDK files are better organized for easy navigation.

Enhancement 1: Support for C++

No, I do not make this stuff up.  The Profiler SDK is COM based and COM allows client programs to be written in numerous languages.  The Profiler back end code is written in CPP, so you would think it would be possible to write a client application in CPP.   This previously wasn’t possible.   If you don’t ship all the parts that are needed to compile the CPP code, then nobody will be successful using that language.  Neat!  With this release, we actually now include the TLB file with the SDK and this makes it possible to write COM client applications without the assistance of Visual Studio programming environment.  I’ll note that the Visual Studio method is still easier and writing this stuff in C# rather flows together compared to the CPP methods.

Enhancement 2: Actual sample code provided with the SDK

The Profiler SDK now includes actual sample code!  Super.  How useful is it?  Yes, very useful.   The prior had samples included with the help files, but a file on disk is more tangible and easier to use given it also comes with build procedures or Visual Studio build environment.  I wrote a sample for the SDK which is included in the official download.  Actually, I didn’t so much write a sample; I wrote a utility that was needed and the SDK team shipped it.  That works.  The App Streaming Test team wrote some samples as well.  The existance of Hello World can take you a long way toward working code and this is a good addition in this SDK.

Enhancement 3: New APIs – Inter-Isolation Communication profiles

The New IRADEPackage2 classes include support for defining links between profiles.  Goodness.

What can you code now – call to action!

Here’s my list of profiler SDK based utilities that are definitely needed, but that I don’t have the time to code….

Volunteers to fill these gaps and publish their works will receive a kind plug on this blog.

  1. RadeGUID       Feed it a GUID, it will search the profiles and tell you which profile on the server caused this entry to get populated into the cache.
  2. RadePurge       Nuke RadeCache.  I mean really nuke it – not just the apps that are published.
  3. RadePackage   Command line launch a profiling session and save the output with no user interaction.   Everything needed for this exists right now.

In the above, I throw some rocks at our own stuff.  I’m not sure that’s the right political way to go about it, but I do like to get things going the right way.  Fortunately most of the rocks are self-directed so that makes it easier.  We’re making good progress and the Citrix Product Management group is giving significant focus to SDKs and I think this will provide good benefits for years to come.

Joe Nord

Product Architect Application Streaming

Citrix Systems, Fort Lauderdale, FL