Closed Bug 1068271 Opened 11 years ago Closed 9 years ago

AduBySignature doesn't work on beta/release

Categories

(Socorro :: Webapp, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: benjamin, Unassigned)

Details

I was trying to use AduBySignature for a crash which is primarily a release-channel crash, and I discovered that the API doesn't return any response for beta and release channels. ISTR this being by design earlier, but I don't remember why. Example working with aurora: https://crash-stats.mozilla.com/api/AduBySignature/?channel=aurora&product_name=Firefox&signature=js%3A%3Afrontend%3A%3ATokenStream%3A%3AgetTokenInternal(js%3A%3Afrontend%3A%3ATokenStream%3A%3AModifier) And returning no results with beta: https://crash-stats.mozilla.com/api/AduBySignature/?channel=beta&product_name=Firefox&signature=js%3A%3Afrontend%3A%3ATokenStream%3A%3AgetTokenInternal(js%3A%3Afrontend%3A%3ATokenStream%3A%3AModifier) In this case, I really don't care at all about the particular signature; what I actually care about is just getting the ADI numbers per buildid/date/channel for beta and release. That would let me construct ADI-normalized graphs of any supersearch query by date *or* buildid, so e.g. take Lonnen's graph of nsFrame::BoxReflow and normalize it by ADI: https://dl.dropboxusercontent.com/u/105227/chemspill-32/signature-match-from-9-2.png So if there's another way to get the ADI/buildid/date/channel for any arbitrary date-range+channel, that would solve this issue just as much as actually making the AduBySignature API work.
I think the problem here is the underlying build_adu table that this uses, I see no hits for release and barely any for beta. It also has different logic for each, I am not too familiar with build_adu so would need to look into it: https://github.com/mozilla/socorro/blob/master/socorro/external/postgresql/raw_sql/procs/update_build_adu.sql (In reply to Benjamin Smedberg [:bsmedberg] from comment #0) > So if there's another way to get the ADI/buildid/date/channel for any > arbitrary date-range+channel, that would solve this issue just as much as > actually making the AduBySignature API work. I bet I could figure this out faster than untangling build_adu.
(In reply to Robert Helmer [:rhelmer] from comment #1) > (In reply to Benjamin Smedberg [:bsmedberg] from comment #0) > > So if there's another way to get the ADI/buildid/date/channel for any > > arbitrary date-range+channel, that would solve this issue just as much as > > actually making the AduBySignature API work. > > > I bet I could figure this out faster than untangling build_adu. Pretty sure we don't have a way to get at this via the API right now, a query that should work: SELECT adu_count, build_date, adu_date, build_type_enum AS channel FROM product_adu JOIN product_versions USING (product_version_id) WHERE adu_date >= '2014-09-10' AND adu_date <= '2014-09-14' AND build_type_enum = 'release' AND product_name = 'Firefox' ORDER BY adu_date ; Note that the build ID has been truncated to just a YYYY-MM-DD "build_date", if you need the whole ID we can get that too but it's a bit more complicated.
Flags: needinfo?(benjamin)
So it appears that this is primarily a fundamental difference between product_adu, which is for beta/release and clusters all of nightly/aurora together under a single "product", and build_adu, which is only populated for nightly/aurora? For beta/release the builddate as date is sufficient, because we rarely if ever have multiple builds which matter on the same day. Aurora/nightly is again different. Having the SQL query from comment 2 be available in API form would nice for the charts I'd like to make.
Flags: needinfo?(benjamin)
Benjamin, Is still a report you need?
Component: Middleware → Webapp
Flags: needinfo?(benjamin)
Not worth the effort not, since we're switching from ADI to telemetry-based ADU and usage-hours.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(benjamin)
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.