|  | Automatically adapt to faster/slower uploads of renderer histograms
This replaces the current time based approach (chrome is given N seconds
to upload all renederer histograms) with an asynch callback approach
that waits until all renderers have responded (with their updates). It
uses a fall-back timer to ensure that a hung renderer won't delay things
forever as well.
This causes faster (and complete) updates in about:histograms as well
as generally assuring complete updates during UMA gatherings.
This code was contributed by Raman Tenneti in CL 42496
http://codereview.chromium.org/42496 
bug=12850 
r=raman
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=17123
  
   
  
   
  
   
  
   
  
   
  
   
    
  
  
    
      |  | Unified diffs | Side-by-side diffs | Delta from patch set | Stats (+525 lines, -79 lines) | Patch |  
        |  | M | base/histogram.h | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 1 chunk | +1 line, -3 lines | 0 comments | Download |  
        |  | M | base/histogram.cc | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 1 chunk | +0 lines, -10 lines | 0 comments | Download |  
        |  | M | chrome/browser/browser_about_handler.cc | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 3 chunks | +10 lines, -8 lines | 0 comments | Download |  
        |  | M | chrome/browser/browser_main.cc | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 3 chunks | +15 lines, -3 lines | 0 comments | Download |  
        |  | M | chrome/browser/metrics/metrics_service.h | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 3 chunks | +9 lines, -5 lines | 0 comments | Download |  
        |  | M | chrome/browser/metrics/metrics_service.cc | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 5 chunks | +45 lines, -29 lines | 0 comments | Download |  
        |  | M | chrome/browser/renderer_host/resource_message_filter.h | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 1 chunk | +2 lines, -1 line | 0 comments | Download |  
        |  | M | chrome/browser/renderer_host/resource_message_filter.cc | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 2 chunks | +3 lines, -1 line | 0 comments | Download |  
        |  | M | chrome/chrome.gyp | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 1 chunk | +2 lines, -0 lines | 0 comments | Download |  
        |  | M | chrome/common/common.vcproj | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 1 chunk | +8 lines, -0 lines | 0 comments | Download |  
        |  | A | chrome/common/histogram_synchronizer.h | View | 1 | 1 chunk | +148 lines, -0 lines | 0 comments | Download |  
        |  | A | chrome/common/histogram_synchronizer.cc | View | 1
        
          2
        
          3 | 1 chunk | +260 lines, -0 lines | 0 comments | Download |  
        |  | M | chrome/common/render_messages_internal.h | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 2 chunks | +5 lines, -2 lines | 0 comments | Download |  
        |  | M | chrome/renderer/render_thread.h | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 2 chunks | +2 lines, -2 lines | 0 comments | Download |  
        |  | M | chrome/renderer/render_thread.cc | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 3 chunks | +5 lines, -5 lines | 0 comments | Download |  
        |  | M | chrome/renderer/renderer_histogram_snapshots.h | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 2 chunks | +2 lines, -2 lines | 0 comments | Download |  
        |  | M | chrome/renderer/renderer_histogram_snapshots.cc | View | 1
        
          2
        
          3
        
          4
        
          5
        
          6 | 2 chunks | +8 lines, -8 lines | 0 comments | Download |  |