Closed Bug 653609 Opened 13 years ago Closed 12 years ago

populate crash-stats-dev with synthetic data

Categories

(Socorro :: Infra, task, P2)

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: rhelmer, Assigned: rhelmer)

References

()

Details

We need to populate the staging/trunk instance with data, in order for it to be useful for QA. For the full staging/release environment, we copy data from production to provide the base data, and re-insert crashes from production to test that the system is working.

Ted suggested generating synthetic crash data for this, there is apparently a Breakpad test tool that can do this already (Ted could you link it from this bug please?). 

I think it would be a good exercise for Socorro to do the following:

* create a set of fake product names and versions
** this will help us avoid hardcoding Firefox, Thunderbird etc.
* generate synthetic crash data for above
** this should have mostly processable but some un-processable dumps
* generate daily ADU data for above
** should be random but within certain limits, just to make the graph interesting
Sounds like a good idea - and probably it should have a few patterns we want to check for in UI, like some that are detected as "duplicates", etc.
Generally, patterns we know we have fixed bugs for should be in such a generator script.
There's not a tool, per se, but a utility class for generating synthetic minidumps that we use in unittests:
http://code.google.com/p/google-breakpad/source/browse/trunk/src/processor/synth_minidump.h
You can see it in use here:
http://code.google.com/p/google-breakpad/source/browse/trunk/src/processor/synth_minidump_unittest.cc

It would be fairly straightforward to write a tool using that + a script that would let you say things like "generate me a minidump that has 3 threads, and the crashing thread should have the following frames: foo(), bar(), baz()", and have it generate a minidump + some symbol files that will give you that output when fed to mdsw.
OS: Linux → All
Hardware: x86_64 → All
Rob, do you intend to own this (realizing you might not do all the work); can we front-load this into 1.7.8?  Thanks!
(In reply to comment #3)
> Rob, do you intend to own this (realizing you might not do all the work); can
> we front-load this into 1.7.8?  Thanks!

For the 1.7.8 timeframe, I think it would make more sense to just extract from stage/prod, since I don't know how long this will take.

Josh is working on a postgres extract script in bug 652248, and given a list of OOIDs we can trivially script repopulating HBase, so I'd pin your hopes for 1.7.8 on these :)
Assignee: nobody → rhelmer
Don't want to block 1.7.8 with this; if it's done in time great, otherwise we'll use the postgres extract script from bug 652248.
Target Milestone: 1.7.8 → 1.9
(In reply to comment #5)
> Don't want to block 1.7.8 with this; if it's done in time great, otherwise
> we'll use the postgres extract script from bug 652248.

Mind if I make bug 652248 block this, then?
(In reply to comment #6)
> (In reply to comment #5)
> > Don't want to block 1.7.8 with this; if it's done in time great, otherwise
> > we'll use the postgres extract script from bug 652248.
> 
> Mind if I make bug 652248 block this, then?

I just morphed this one to make it more specific; let's leave bug 652248 targeted to 1.7.8, if you want to file a specific "use that extract script to populate crash-stats-dev" then go for it, but I think it's enough as-is :)
Status: NEW → ASSIGNED
Summary: populate crash-stats-trunk with data → populate crash-stats-dev with synthetic data
(In reply to comment #7)

> I just morphed this one to make it more specific; let's leave bug 652248
> targeted to 1.7.8, if you want to file a specific "use that extract script to
> populate crash-stats-dev" then go for it, but I think it's enough as-is :)

Fine by me -- that bug isn't targeted to 1.7.8, which is my worry :-)
(In reply to comment #8)
> (In reply to comment #7)
> 
> > I just morphed this one to make it more specific; let's leave bug 652248
> > targeted to 1.7.8, if you want to file a specific "use that extract script to
> > populate crash-stats-dev" then go for it, but I think it's enough as-is :)
> 
> Fine by me -- that bug isn't targeted to 1.7.8, which is my worry :-)

I also made bug 653587 dependent on it; you can track that one to follow the setup of crash-stats-dev.
Priority: -- → P2
No longer blocks: 653587
Assignee: rhelmer → nobody
Assignee: nobody → rhelmer
Target Milestone: 1.9 → ---
Depends on: 663603
Depends on: 698943
Component: Socorro → General
Product: Webtools → Socorro
Component: General → Infra
QA Contact: socorro → infra
Depends on: 721223
bug 762304 will allow us to do this, but we could use vagrant-on-jenkins to do the kinds of tests I originally wanted to do here without having to change crash-stats-dev.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.