Crash Fast & Furious

Post on 26-Jan-2017

682 views 0 download

Transcript of Crash Fast & Furious

Crash Fast &

Furious

Pierre-Yves Ricau, Square

Source: https://t.co/uH1EqxqAow

1

2

1

2

3

1

2

3

4

1

2

public void uncaughtException(Thread t, Throwable e) { bugsnagClient.notify(e, Severity.ERROR); originalHandler.uncaughtException(t, e); }

private void notify(Throwable exception, Severity severity) { final Error error = new Error(config, exception); error.setSeverity(severity); captureState(error); Async.run(new Runnable() { @Override public void run() { deliver(error); } }); }

Crashs natifs

1

2

Reproduire

1

2

3

4

Infos statiques

1

2

3

Rolling log

1

2

squ.re/leakcanary

Defensive programming

Offensive programming Crash Fast

2

1

Exception Grouping

1

2

@Test public void submitTipSuccess() { withRobot(SalesHistoryScreenRobot.class) // .selectFirstBillAwaitingTipWithAmount(500_00L) // .enterCustomTip("100") // .clickSettleCustomTip() // .checkSettleTipButtonConfirmAmount("$501.00") // .clickSettleCustomTip(); }

Dogfood / Beta

Staged Rollout

• Process process process • Repro repro repro • Crash Fast & Furious

@Piwai