ROS Metrics

As a programmer, I think there’s something inherently pleasing about collecting and organizing data. Even more so when you can do it automatically. In that vein, let me introduce my latest nights-and-weekends side project: metrics.ros.org

The idea partially stemmed from this Discourse thread and my previous project ROS Answered. The core is to supercharge the standard Metrics report and graph trends over time.

Some observations:

Anyway, thanks to Tully for granting me access to the Discourse and Google Analytics APIs. I still want to get my hands on the underlying wiki data and the raw logs from http://packages.ros.org (hit me up OSU OSL). There’s lots more that can be gleaned from this data. The graphs I’ve made just scratch the surface. I look forward to using the data to help us understand and improve the ROS community/ecosystem.

Github Repo
related tweets

Send me a message if you want access to the aggregated database files.

26 Likes

@DLu WoW! Awesome! I think this is really COOL and very useful information. I’ve seen and used metrics information published by ROSCon once a year. But now, thanks to you, we can see the information we want anytime, anywhere and compare it with previous records. It will also be a big help in choosing a development direction. I’m so happy to have a lot of information on one web page. Really, thank you so much. :+1:

1 Like

This is super cool.

Just curious. How is rank_product calculated? What does it represent?

https://metrics.ros.org/repos.html

1 Like

Every Github repo is ranked based on number of forks*, stars, and subscriptions. ros_comm for instance has 402 stars, which is the 19th most overall (which is what the 0402 (19) means). Its ranked 12th for forks and 12th for subs too. Multiply 19 * 12 * 12 and you get 2736, its rank product.

In other words, it doesn’t represent much and exact relative rankings should be taken with a grain of salt. I’m open to alternative ranking systems.

*Technically, its not forks but network-size, meaning it counts forks of forks, which is why googlecartographer/cartographer and ros2/cartographer both have the same number of forks.

Thanks for this work @DLu, truly. Beyond the community I believe this will benefit many of us trying to convince ros-outsiders/clients/users/investors/governments/etc of the relevance of ROS.

Thanks for putting this together.

Awesome work thanks a lot!

Any plan to add non-package repo to the list (Github repos not listed in ros/rosdistro) ?
Some are great tool like rosautodoc, marv, etc.

Very nice indeed @DLu.

Looking at the package statistics per architecture I really don’t understand how i386 downloads can still count up to almost 50% of total downloads.

Is that actually true?

2 Likes

@lmathieu Is there a canonical place those are all listed?

@gavanderhoorn It’s what the public logs say, but I’ve been informed that the raw logs that Tully used to generate slide 20 of the official metrics report are more accurate. I’m hoping to get access to the raw logs soon to make things more accurate.

If these things are valuable for the ROS community I’d encourage the developers to submit them to be indexed in the rosdistros. This will make them searchable on https://index.ros.org as well as having documentation generated.

There’s a tutorial here for doing that.

Yeah this doesn’t agree with the logs that I’ve been analyzing. Looking at your script it appears to be using the urldetails page from awstats not the downloads page. I’ve opened a ticket pointing to where that could be improved.

I’ll also see if that page can have the listing not truncated.

1 Like