def fetch(self, cur): cur.execute(''' SELECT SUM(adu_count) FROM product_adu badu JOIN product_versions pv ON pv.product_version_id = badu.product_version_id WHERE adu_date >= %(enddate)s - interval '1 week' AND adu_date < %(enddate)s AND pv.build_type = 'beta' AND pv.major_version = %(version)s AND pv.product_name = 'Firefox' ''', {'os': self.os, 'version': self.range.version, 'enddate': self.range.enddate}) adu, = cur.fetchone() self.adu = float(adu) startdate = date_to_timestamp(self.range.enddate - timedelta(days=7)) enddate = date_to_timestamp(self.range.enddate - timedelta(days=1)) cur.execute(''' SELECT COUNT(*) count FROM reports_clean rc JOIN product_versions pv ON pv.product_version_id = rc.product_version_id WHERE date_processed BETWEEN %(startdate)s AND %(enddate)s AND pv.build_type = 'beta' AND pv.major_version = %(version)s AND pv.product_name = 'Firefox' AND rc.process_type = 'Browser' ''', {'os': self.os, 'version': self.range.version, 'startdate': startdate, 'enddate': enddate}) self.total, = cur.fetchone() cur.execute(''' SELECT s.signature, COUNT(*) count FROM reports_clean rc JOIN signatures s ON s.signature_id = rc.signature_id JOIN product_versions pv ON pv.product_version_id = rc.product_version_id WHERE date_processed BETWEEN %(startdate)s AND %(enddate)s AND pv.build_type = 'beta' AND pv.major_version = %(version)s AND pv.product_name = 'Firefox' AND rc.process_type = 'Browser' GROUP BY signature ORDER BY count DESC LIMIT 200 ''', {'os': self.os, 'version': self.range.version, 'startdate': startdate, 'enddate': enddate}) self.signatures = list(cur)
def fetch(self, cur): cur.execute( ''' SELECT SUM(adu_count) FROM product_adu badu JOIN product_versions pv ON pv.product_version_id = badu.product_version_id WHERE adu_date >= %(enddate)s - interval '1 week' AND adu_date < %(enddate)s AND pv.build_type = 'beta' AND pv.major_version = %(version)s AND pv.product_name = 'Firefox' ''', { 'os': self.os, 'version': self.range.version, 'enddate': self.range.enddate }) adu, = cur.fetchone() self.adu = float(adu) startdate = date_to_timestamp(self.range.enddate - timedelta(days=7)) enddate = date_to_timestamp(self.range.enddate - timedelta(days=1)) cur.execute( ''' SELECT COUNT(*) count FROM reports_clean rc JOIN product_versions pv ON pv.product_version_id = rc.product_version_id WHERE date_processed BETWEEN %(startdate)s AND %(enddate)s AND pv.build_type = 'beta' AND pv.major_version = %(version)s AND pv.product_name = 'Firefox' AND rc.process_type = 'Browser' ''', { 'os': self.os, 'version': self.range.version, 'startdate': startdate, 'enddate': enddate }) self.total, = cur.fetchone() cur.execute( ''' SELECT s.signature, COUNT(*) count FROM reports_clean rc JOIN signatures s ON s.signature_id = rc.signature_id JOIN product_versions pv ON pv.product_version_id = rc.product_version_id WHERE date_processed BETWEEN %(startdate)s AND %(enddate)s AND pv.build_type = 'beta' AND pv.major_version = %(version)s AND pv.product_name = 'Firefox' AND rc.process_type = 'Browser' GROUP BY signature ORDER BY count DESC LIMIT 200 ''', { 'os': self.os, 'version': self.range.version, 'startdate': startdate, 'enddate': enddate }) self.signatures = list(cur)
WHERE build_adus.build = releases_raw.build_id::text ) AS aducount, ( SELECT crashcount FROM sigreports WHERE sigreports.build = releases_raw.build_id ) AS crashcount FROM releases_raw WHERE product_name = 'firefox' AND platform = 'win32' AND build_type = %(studlyChannel)s AND repository = %(repository)s AND to_date(substring(build_id::text from 1 for 8), 'YYYYMMDD') BETWEEN %(startdate)s AND %(enddate)s ORDER BY build_id ''', { 'startdate': dateoption.date_to_timestamp(opts.startdate), 'enddate': dateoption.date_to_timestamp(opts.enddate), 'signatures': signatures, 'search': opts.search, 'channel': opts.channel, 'studlyChannel': opts.channel.capitalize(), 'repository': channels[opts.channel] }) if opts.graph: import nightly_signature_graph builds = map(nightly_signature_graph.RowType, cur) label = "Crashes/100ADI for signature(s) %s on the %s channel" % ( ','.join(signatures), opts.channel) nightly_signature_graph.produce_graph(builds, label, sys.stdout) else:
SELECT aducount FROM build_adus WHERE build_adus.build = releases_raw.build_id::text ) AS aducount, ( SELECT crashcount FROM sigreports WHERE sigreports.build = releases_raw.build_id ) AS crashcount FROM releases_raw WHERE product_name = 'firefox' AND platform = 'win32' AND build_type = %(studlyChannel)s AND repository = %(repository)s AND to_date(substring(build_id::text from 1 for 8), 'YYYYMMDD') BETWEEN %(startdate)s AND %(enddate)s ORDER BY build_id ''', {'startdate': dateoption.date_to_timestamp(opts.startdate), 'enddate': dateoption.date_to_timestamp(opts.enddate), 'signatures': signatures, 'search': opts.search, 'channel': opts.channel, 'studlyChannel': opts.channel.capitalize(), 'repository': channels[opts.channel]}) if opts.graph: import nightly_signature_graph builds = map(nightly_signature_graph.RowType, cur) label = "Crashes/100ADI for signature(s) %s on the %s channel" % ( ','.join(signatures), opts.channel) nightly_signature_graph.produce_graph(builds, label, sys.stdout) else: import csv