title: Debug react component rerender
body: <p>I'm trying to debug bug that is reproduced very rarely (once per several dozens of trys).</p>
  
  <p>I'm inside of <code>render</code> call and want to find out as much information as possible from there:</p>
  
  <ul>
  <li>What caused rerender: <code>forceUpdate</code>, <code>setState</code> or <code>props</code> changed?</li>
  <li>If it was a <code>props</code> change, which component initiated chain of rerenders: I mean not the fact of parent render, but the top component from parents chain that has used <code>setState</code> or <code>forceUpdate</code> and so caused rerender of itself and the whole tree bellow (including the component I'm currently in).</li>
  </ul>
  
  <p>It's guaranteed that all components are class components (not functional) and I'm using react 16.4.2 including deprecated lifecycle methods (if it is important). There are some usages of context too.</p>
  
  <p>How can I make it? Note, I'm asking about debug techniques, not about fixing my concrete bug.</p>