Counting bytes and measuring latencies

Community Cookbooks - Metrics

Chef community cookbooks site has been around for quite some time (since 2009). While working with Chef and the community cookbooks I always wondered if we can have some metrics to indicate the growth, health and development impetus around these cookbooks. Some of these informations (like growth, activity) are easy to capture, while metrics like health, compatibility with other cookbooks, dependecies are rather difficult to capture. But last year we have seen a tremendous emphasis and effort in cookbook testing, best practices, reusability etc. As a result of these efforts certain preferred practices(or best practices) and tools (unit testing tools, lint tools, functional testing tools) have emerged (or matured in some cases). I think these tools together with a cross platform continuous integration system will lay down the future of portable, pick and drop chef cookbooks (almost like ruby gems). Assuming Chef cookbooks will be experiencing even more adoption in this year, I have managed to churn out few global metrics around the number of cookbooks, their distrubution, the rate at which they are updating etc, which I'll be able to use for benchmarking and tracking

Chef community cookbook website provides a minimalistic api for metadata. All these metrics are generated from this api.

Total cookbooks:

Number of cookbooks added in last:

1 week

1 month

1 year

Next two plots capture the number of new cookbooks uploaded or existing cookbooks updated (i.e. version bumps) over time. Note the recent bump in updated cookbooks which is due to chef 11 release, that has introduced some breaking changes, and quite a few cookbooks needed changes.

Last 60 weeks trend

Last 30 months trend

Distribution of cookbooks across categories:

Community cookbook site categorize individual cookbooks. Following is the distribution of cookbooks across all the categories.

Cookbook maintainers

There are total cookbook maintainers. A large amount of the existing cookbooks (almost 1/6th) are maintained by opscode. Following is the chart for top 10 community cookbook maintainers.

Top 10 maintainers

Cookbooks Ratings

Among total cookbooks, of them have end user ratings Though they are not conclusive, they provide a data point. Following is the distribution of how users have rather the cookbooks (from 0 to 5 with 5 being best).

Mailing list activities

Chef has two mailing lists, an user mailing list and a developer mailing list, following is the trend in number of emails over the years in these two mailing lists on month by month basic

User mailing list

Dev mailing list

#chef IRC channel stats

Chef has two multiple IRC channel aimed for different type of discussions. #chef is used for generic discussion, while #chef-hacking is used for development related discussions and #learnchef for introductory level discussions.

Message count in #chef per day (for last 180 days)

Top 20 contributors in #chef (since 01-01-2012)

This data is generated at . I am planning to write a follow up post on how I have automated this entire post. Let me know if you have any suggestions. :-)