code: func Report(c context.Context) {
  	var stats runtime.MemStats
  	runtime.ReadMemStats(&stats)
  
  	MemAlloc.Set(c, int64(stats.Alloc))
  	MemTotalAlloc.Set(c, int64(stats.TotalAlloc))
  	MemMallocs.Set(c, int64(stats.Mallocs))
  	MemFrees.Set(c, int64(stats.Frees))
  	MemNextGC.Set(c, int64(stats.NextGC))
  	MemNumGC.Set(c, int64(stats.NumGC))
  	MemPauseTotal.Set(c, int64(stats.PauseTotalNs/1000))
  	MemHeapSys.Set(c, int64(stats.HeapSys))
  	MemHeapIdle.Set(c, int64(stats.HeapIdle))
  	MemHeapInuse.Set(c, int64(stats.HeapInuse))
  	MemHeapObjects.Set(c, int64(stats.HeapObjects))
  	MemStackInuse.Set(c, int64(stats.StackInuse))
  	MemStackSys.Set(c, int64(stats.StackSys))
  	MemMSpanInuse.Set(c, int64(stats.MSpanInuse))
  	MemMSpanSys.Set(c, int64(stats.MSpanSys))
  	MemMCacheInuse.Set(c, int64(stats.MCacheInuse))
  	MemMCacheSys.Set(c, int64(stats.MCacheSys))
  
  	GoroutineNum.Set(c, int64(runtime.NumGoroutine()))
  }
docs: // Report updates runtime stats metrics.
  //
  // Call it periodically (ideally right before flushing the metrics) to gather
  // runtime stats metrics.