Meetbot Data Analytics – A peek into Fedora IRC meetings

Many Fedora projects and groups use  IRC channels on freenode for their regular meetings. Generally, meetings take place in one of the three #fedora-meeting channels (#fedora-meeting, #fedora-meeting-1 and #fedora-meeting-2). However, there is no requirement that a meeting take place in only these channels. Many ad-hoc or one-time meetings take place in other channels. Such meetings in IRC channels are normally logged. There is a Meetbot IRC bot in every channel to assist with running meetings and publishing meeting summaries and logs. To help meeting attendees, Meetbot provides a set of commands like #startmeeting, #endmeeting, #info, #help, #link, and more.

Datagrepper

With an aim to gather information about Fedora IRC meetings and especially understand how Fedora contributors interact in these meetings, I turn towards Datagrepper. Datagrepper is a JSON API that lets you query the history of the Fedora Message bus (or fedmsg) for corresponding data. Here is a quick look of the raw feed of Datagrepper from the fedmsg bus with messages for topics like buildsys.rpm.sign and buildsys.task.state.change.

Screenshot from 2015-10-23 21:47:06

Constructing Queries

fedmsg has a few Meetbot-related topics corresponding to Meetbot commands which I gathered daily, weekly, and monthly IRC meeting data from. You can construct queries for a time period by specifying  the start and end parameters for the query. Using count variables from JSON data dump, I found the total number of messages pertaining to our query. You can also use Datagrepper Charts API for some basic visualizations.

Starting and Completing Meetings

meetbot.meeting.start: Messages on this topic are published when an IRC meeting starts (using #startmeeting Meetbot command).

meetbot.meeting.complete: Messages on this topic are published when an IRC meeting ends (using #endmeeting Meetbot command).

mcomplete mstart

On average, 99 IRC meetings take place every month across different channels (the mean monthly IRC meetings started is 98 while mean monthly IRC meetings completed is 100). During December to February, this value dropped considerably. After looking at the number of weekly IRC meetings started as well as completed, we see that the drop in IRC meetings in December can be attributed to the two weeks during the Christmas season (IRC meetings started dropping approximately the week before Christmas and continued until after New Years).

wcompletedwstart

The weekly mean for IRC meetings started is 23.05 (median 26, highest 33) while for completed IRC meetings is 23.51 (median 27, highest 35). Also, IRC meetings are particularly low (mostly zero IRC meetings started/completed per day) during March 11th to 18th, 2015, January 28th to February 1st, and February 7th to 15th, 2015 (bot outage?).

dcomplete dstart

On a normal weekday, generally 3 to 4 meetings are started/completed. Saturdays have lower values(~1-2) and no meetings are generally held on Sundays (the average IRC meetings per day started is 3 while that of IRC meetings completed is 3.3, and the median for both is 4). The highest value of IRC meetings started as well as completed across different channels occurred on 23rd March 2015 (started 11, completed 14) to Monday (next working day) after a week with particularly low IRC meetings. (March 11th to 18th 2015).

dstacked

Using daywise percentage-stacked representation, we see that IRC meetings started and completed is generally the same (started and completed have equal percentages), thus allowing us to conclude that meetings are generally of short duration (less than 24 hours). The small delta in IRC meetings started and completed can be attributed to the IRC meetings overlapping between two periods. Also, the deviations are during the weeks where IRC meetings started/completed is very low and hence the large percentage value (i.e. March 11th to 18th IRC meetings started are 1, but meetings completed are 0, hence 100% of total is due to meetings started – the complete blue streak in the graph for such a case).

For visualizations generated using Datagrepper Charts API:

Updating Meeting Topics

meetbot.meeting.topic.update: Messages on this topic are published when meeting topic is updated (using #topic command).

mtopicwupdate

This correlates with IRC meetings with very low values in the December to March period and in the weeks where IRC meetings (started/completed) is particularly low. The monthly average for topic update messages generated during IRC meetings is 556.16 (median value is 618 and highest number of topic.update messages in a month is 708). The weekly mean is 130 messages (median value is 143 and highest number of topic.update messages in a week is 202).

dtopicdavgupdate

On average, 18 topic.update messages are published per day (median value 20) with highest messages published on July 19, 2015 (56 messages). Plotting the daywise average topic.update messages per IRC meeting (we consider topic.update messages/IRC meetings started as meeting duration is generally less than a day), we can see that generally meeting topics are updated 4-5 times per meeting (mean 4.07, median 4.71), but there have also been 11-12 average topic updates per IRC meeting.

You can also find visualizations generated using Datagrepper Charts API for meetbot.meeting.topic.update here.

Calls for Help in Meetings

meetbot.meeting.item.helpMessages on this topic are published when attendees call for help on items (using #help Meetbot command). This topic was introduced at the end of March, therefore previous values are not available.

mhelpwhelp

The #help command, as shown by the graphs, is rarely used by IRC meeting attendees, only being used once per month in the past two months. 

For visualizations generated using Datagrepper Charts API for meetbot.meeting.item.help, click here.

Linking to More Info

meetbot.meeting.item.link: Messages on this topic are published when attendees link information to an item (using #link Meetbot command). This command was introduced at the end of March, therefore previous values are not available.

mlinkwlink

The monthly average number of items linked was 404 (median 465) and the highest number of items linked in the past year was 567. The weekly average number of items linked was 104.25 (median 109) and the highest number of items linked in the past year was 183.

dlinkdavglink

On average, 14 items are linked in IRC meetings in a day, with the highest being 61 item links within a single day. Also, in an IRC meeting, generally 3 to 4 items are linked to, with 14 being the highest number of items linked to in an IRC meeting.

For visualizations generated using Datagrepper Charts API for meetbot.meeting.item.link, click here.

Attendees and Chairs

To get an overview of statistics related to the Fedora contributers attending IRC meetings (both attendees and chairs), I used the meetbot.meeting.complete messages (meetbot.meeting.start messages only show the initial attendees). I used the data for the  past three months (August to October 2015).

attend

During the past 3 months, 337 IRC meetings have taken place. On average, 10 people attended an IRC meeting, including the chairs, and the mean size of chairs was 4.67 for an IRC meeting (mean 4.67, median 5).  Also, the largest meeting in the past three months comprised of 27 attendees and the largest group of chairs included 10 Fedora contributors.

Other Questions to Ask

  1. Are there any specific time periods in a day when IRC meetings generally occur?
  2. Are any channels specifically used? Especially what percent of meetings are conducted on channels like #fedora-meeting, #fedora-meeting-1, #fedora-meeting-2? Is the distribution of meetings across channels equal?
  3. Are item.link messages generated equivalently by both chairs and non-chairs, or is the message generation partial?
  4. Are topic.help messages generated in the past only due to a specific set of users using this command?

Check out threebean’s blog posts on Datagrepper here. He is one of the super awesome people behind fedmsg and Datagrepper.

Here is a fun word cloud visualization of IRC meeting attendees over the past three months (Fedora CommOps seems to be very active – you can see a lot of CommOps members here: decause, threebean, mattdm, lmacken, jflory7 and mailga too!! Yayy!!)

cloud

Categories: CommOps

4 Comments

  1. We are very happy to have zodbot in our #gluster-meeting channel too! There are 2 weekly meetings taking place there, and there are quite some Gluster people in the nick-cloud 🙂 Not sure how much this disrupts the ‘Fedora’ statistics though…

  2. > On average, 99 IRC meetings take place every month across different channels (the mean monthly IRC meetings started is 98 while mean monthly IRC meetings completed is 100).

    Is this normal, that the mean completed meetings is 100, but only 98 started?

    • Its not an anomaly just the boundary cases. The stats are calculated over a period of 30 days. A meeting can span over two such intervals – a meeting started in an earlier interval and can end in its immediate next interval- and still be shorter than a day .For example, say, the meeting starts about half an hour before the interval ends and ends half an hour into the next interval . Here the meeting duration is one hour and yet this meeting will increment the value of #IRC meetings started in previous month than where #IRC meeting completed value is incremented(i.e. the interval it ends). I hope this solves your doubt 🙂

Leave a Reply

Your email address will not be published.

*

Copyright © 2017 Fedora Community Blog

Theme by Anders NorenUp ↑

%d bloggers like this: