Add renderer memory metrics

We will collect per allocator memory usage metrics for the renderer at DidFinishLoad and Shutdown.

GetRendererMemoryMetrics generalizes the memory info collection that was used in RecordPurgeAndSuspendMetrics for use with my new metrics.

GetRendererMemoryMetrics is in RenderThreadImpl because it accesses discardable_shared_memory_manager_.

BUG=

Review-Url: https://codereview.chromium.org/2566043004
Cr-Commit-Position: refs/heads/master@{#443195}
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index cf45d73..a4ff0885 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -482,6 +482,18 @@
   // ChildMemoryCoordinatorDelegate implementation.
   void OnTrimMemoryImmediately() override;
 
+  struct RendererMemoryMetrics {
+    size_t partition_alloc_kb;
+    size_t blink_gc_kb;
+    size_t malloc_mb;
+    size_t discardable_kb;
+    size_t v8_main_thread_isolate_mb;
+    size_t total_allocated_mb;
+    size_t non_discardable_total_allocated_mb;
+    size_t total_allocated_per_render_view_mb;
+  };
+  void GetRendererMemoryMetrics(RendererMemoryMetrics* memory_metrics) const;
+
  protected:
   RenderThreadImpl(
       const InProcessChildThreadParams& params,