Skip to content

Instantly share code, notes, and snippets.

@ralphbean
Created August 11, 2015 15:54
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ralphbean/ae99bf4ed48961060729 to your computer and use it in GitHub Desktop.
Save ralphbean/ae99bf4ed48961060729 to your computer and use it in GitHub Desktop.
stats for decause. bodhi comments and copr builds over the last few years (from fedmsg data)
""" stats-for-decause.py
so, 0 years ago is august 2014 to august 2015
1 years ago is august 2013 to august 2014
2 years ago is august 2012 to august 2013, etc..
the anonymous comments don't add up back 2 years ago because the
anonymous format changed in the message payload -- the "contains"
thing doesn't work exactly that far back.
Output:
query is {'topic': 'org.fedoraproject.prod.bodhi.update.comment'}
---------------
0 years ago 19102
1 years ago 16807
2 years ago 11443
3 years ago 0
query is {'topic': 'org.fedoraproject.prod.bodhi.update.comment', 'contains': '"anonymous":false'}
---------------
0 years ago 18732
1 years ago 16345
2 years ago 7140
3 years ago 0
query is {'topic': 'org.fedoraproject.prod.bodhi.update.comment', 'contains': '"anonymous":true'}
---------------
0 years ago 370
1 years ago 462
2 years ago 230
3 years ago 0
query is {'topic': 'org.fedoraproject.prod.copr.build.end'}
---------------
0 years ago 192937
1 years ago 64219
2 years ago 0
3 years ago 0
"""
import copy
import time
import requests
one_minute = 60
one_hour = one_minute * 60
one_day = one_hour * 24
one_month = one_day * 30
one_year = one_day * 365
def get_count(start, finish, query):
query = copy.copy(query)
query['start'] = start
query['end'] = end
response = requests.get(
'https://apps.fedoraproject.org/datagrepper/raw',
params=query,
)
data = response.json()
return data['total']
queries = [
{
'topic': 'org.fedoraproject.prod.bodhi.update.comment',
},
{
'topic': 'org.fedoraproject.prod.bodhi.update.comment',
'contains': '"anonymous":false',
},
{
'topic': 'org.fedoraproject.prod.bodhi.update.comment',
'contains': '"anonymous":true',
},
{
'topic': 'org.fedoraproject.prod.copr.build.end',
},
]
for query in queries:
print "query is", query
print "---------------"
for year in range(4):
end = time.time() - one_year * year
start = time.time() - one_year * (year + 1)
print "%i years ago" % year,
print get_count(start, end, query)
print
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment