52
Crash Fast & Furious Pierre-Yves Ricau, Square

Crash Fast & Furious

Embed Size (px)

Citation preview

Page 1: Crash Fast & Furious

Crash Fast &

Furious

Pierre-Yves Ricau, Square

Page 2: Crash Fast & Furious
Page 3: Crash Fast & Furious

Source: https://t.co/uH1EqxqAow

Page 4: Crash Fast & Furious
Page 5: Crash Fast & Furious
Page 6: Crash Fast & Furious
Page 7: Crash Fast & Furious
Page 8: Crash Fast & Furious

1

2

Page 9: Crash Fast & Furious

1

2

3

Page 10: Crash Fast & Furious

1

2

3

4

Page 11: Crash Fast & Furious
Page 12: Crash Fast & Furious

1

2

Page 13: Crash Fast & Furious
Page 14: Crash Fast & Furious

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

Page 15: Crash Fast & Furious

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); } }); }

Page 16: Crash Fast & Furious

Crashs natifs

1

2

Page 17: Crash Fast & Furious
Page 18: Crash Fast & Furious
Page 19: Crash Fast & Furious
Page 20: Crash Fast & Furious

Reproduire

Page 21: Crash Fast & Furious
Page 22: Crash Fast & Furious
Page 23: Crash Fast & Furious
Page 24: Crash Fast & Furious
Page 25: Crash Fast & Furious
Page 26: Crash Fast & Furious

1

2

3

4

Page 27: Crash Fast & Furious
Page 28: Crash Fast & Furious

Infos statiques

Page 29: Crash Fast & Furious
Page 30: Crash Fast & Furious
Page 31: Crash Fast & Furious

1

2

3

Page 32: Crash Fast & Furious
Page 33: Crash Fast & Furious

Rolling log

1

2

Page 34: Crash Fast & Furious
Page 35: Crash Fast & Furious
Page 36: Crash Fast & Furious
Page 37: Crash Fast & Furious

squ.re/leakcanary

Page 38: Crash Fast & Furious
Page 39: Crash Fast & Furious
Page 40: Crash Fast & Furious

Defensive programming

Page 41: Crash Fast & Furious

Offensive programming Crash Fast

2

1

Page 42: Crash Fast & Furious

Exception Grouping

Page 43: Crash Fast & Furious

1

2

Page 44: Crash Fast & Furious
Page 45: Crash Fast & Furious

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

Page 46: Crash Fast & Furious
Page 47: Crash Fast & Furious

Dogfood / Beta

Page 48: Crash Fast & Furious

Staged Rollout

Page 49: Crash Fast & Furious
Page 50: Crash Fast & Furious
Page 51: Crash Fast & Furious

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

Page 52: Crash Fast & Furious

@Piwai