I merged my Highcharts branch into master today, including a bunch of improvements to the GUI for XHProf including:
  • Using Highcharts for graphing URLs over time, which allows for multiple axis per graph
  • Adding a pie chart to the individual run page to show where time was spent on page load
  • Ability to merge various calls for display within the pie chart (e.g. mysql_* into mysql)
  • Switched to the javascript tablesorter for the single run results
  • Filter to allow you to view results only from a specific server or domain

Highcharts is a commercial library in Javascript for graphing, it's really easy to use and offers more features than the Google libraries used previously. I've purchased a license for the application so that anyone using this gui, regardless of the type of application they're profiling, can do so. The Highcharts integration was done by my colleague Graham Slater.

I really didn't consider the branch "done", the diff page still needs the pie charts, and to be switched over to the new table format. However, the license file received some serious updates to accurately represent the state of the code base and I considered making that file accurate to be a high priority.


As always, the code is available at GitHub

Comments »

Weblog: www.developercast.com
Tracked: Jun 15, 16:50
Weblog: www.phphatesme.com
Tracked: Jun 19, 04:59
You mention that you obtained "a license" for highcharts but the license file doesn't contain the actual licensing terms or a reference to them.
Unless you provide actual licensing terms for the code included the legal situation around it is pretty ambiguous and any use other than "private" will technically require to obtain a commercial license from you and Highcharts. Was this fairly major change in licensing intended?
#1 Dennis J. on 2010-06-14 19:55 (Reply)

Hi Dennis,

Thanks for giving me the opportunity to clarify this. There is a readme for highcharts where I think I explain things a bit better.

If you're using Highcharts inside XHProf, you're in the clear. Regardless of what type of website you're running it on (including commercial websites), or what your situation is (e.g. consultant), you're fine. The license has already been paid for. If you want to take highcharts and use it elsewhere on your site, you're going to need to handle that separately.

Does that allay some of your concerns? Also, how could I explain that better inside the license file?
#2 Paul Reinheimer (Homepage) on 2010-06-14 20:00 (Reply)

I guess since licensing is only concerned with distribution rather than usage as long as people only use the software they are ok. You should probably clarify though that the software may not be redistributed or forked.
Looking at the github page I see that two users have forked to code already. I'm not sure if that happened before or after the introduction of the highcharts code but as of now the license file does not permit redistribution in any form so technically they don't have a right to make their forks available to others (which they automatically do on github).

I think it would be best to ask the Highcharts guys to actually give you a proper license that defines the terms of distribution in the same way the jquery code already does with the MIT or GPL licenses.

The default is that nobody can distribute or copy that code in any way and any exceptions to that have to be explicitly granted in the license by the original copyright holder.
#3 Dennis J. on 2010-06-15 02:17 (Reply)

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

Hi, I’m Paul Reinheimer, a developer working on the web.

I co-founded WonderProxy which provides access to over 200 proxies around the world to enable testing of geoip sensitive applications. We've since expanded to offer more granular tooling through Where's it Up

My hobbies are cycling, photography, travel, and engaging Allison Moore in intelligent discourse. I frequently write about PHP and other related technologies.