package metrics import ( "runtime" "testing" "time" ) func BenchmarkRuntimeMemStats(b *testing.B) { r := NewRegistry() RegisterRuntimeMemStats(r) b.ResetTimer() for i := 0; i < b.N; i++ { CaptureRuntimeMemStatsOnce(r) } } func TestRuntimeMemStats(t *testing.T) { r := NewRegistry() RegisterRuntimeMemStats(r) CaptureRuntimeMemStatsOnce(r) zero := runtimeMetrics.MemStats.PauseNs.Count() // Get a "zero" since GC may have run before these tests. runtime.GC() CaptureRuntimeMemStatsOnce(r) if count := runtimeMetrics.MemStats.PauseNs.Count(); 1 != count-zero { t.Fatal(count - zero) } runtime.GC() runtime.GC() CaptureRuntimeMemStatsOnce(r) if count := runtimeMetrics.MemStats.PauseNs.Count(); 3 != count-zero { t.Fatal(count - zero) } for i := 0; i < 256; i++ { runtime.GC() } CaptureRuntimeMemStatsOnce(r) if count := runtimeMetrics.MemStats.PauseNs.Count(); 259 != count-zero { t.Fatal(count - zero) } for i := 0; i < 257; i++ { runtime.GC() } CaptureRuntimeMemStatsOnce(r) if count := runtimeMetrics.MemStats.PauseNs.Count(); 515 != count-zero { // We lost one because there were too many GCs between captures. t.Fatal(count - zero) } } func TestRuntimeMemStatsNumThread(t *testing.T) { r := NewRegistry() RegisterRuntimeMemStats(r) CaptureRuntimeMemStatsOnce(r) if value := runtimeMetrics.NumThread.Value(); value < 1 { t.Fatalf("got NumThread: %d, wanted at least 1", value) } } func TestRuntimeMemStatsBlocking(t *testing.T) { if g := runtime.GOMAXPROCS(0); g < 2 { t.Skipf("skipping TestRuntimeMemStatsBlocking with GOMAXPROCS=%d\n", g) } ch := make(chan int) go testRuntimeMemStatsBlocking(ch) var memStats runtime.MemStats t0 := time.Now() runtime.ReadMemStats(&memStats) t1 := time.Now() t.Log("i++ during runtime.ReadMemStats:", <-ch) go testRuntimeMemStatsBlocking(ch) d := t1.Sub(t0) t.Log(d) time.Sleep(d) t.Log("i++ during time.Sleep:", <-ch) } func testRuntimeMemStatsBlocking(ch chan int) { i := 0 for { select { case ch <- i: return default: i++ } } } t/npm_and_yarn/devel/electron4/files/ini-1.3.7</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2'>dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option> <option value='gnome-3.22'>gnome-3.22</option> <option value='gnome-3.24'>gnome-3.24</option> <option value='gnome-3.26'>gnome-3.26</option> <option value='gnome-3.28'>gnome-3.28</option> <option value='gnome-3.32'>gnome-3.32</option> <option value='gnome-3.36'>gnome-3.36</option> <option value='gstreamer'>gstreamer</option> <option value='gstreamer-1.16'>gstreamer-1.16</option> <option value='gstreamer0.10-removal'>gstreamer0.10-removal</option> <option value='main' selected='selected'>main</option> <option value='master'>master</option> <option value='mate-1.16'>mate-1.16</option> <option value='mate-1.18'>mate-1.18</option> <option value='mate-1.20'>mate-1.20</option> <option value='mate-1.22'>mate-1.22</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/about/'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?id=644e6756289396616b16551299ad9829f6bf8c94'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/p5-Devel-LeakTrace'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/devel/p5-Devel-LeakTrace?id=644e6756289396616b16551299ad9829f6bf8c94'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-Devel-LeakTrace?id=644e6756289396616b16551299ad9829f6bf8c94'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/devel/p5-Devel-LeakTrace?id=644e6756289396616b16551299ad9829f6bf8c94'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/devel/p5-Devel-LeakTrace'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/p5-Devel-LeakTrace'> <input type='hidden' name='id' value='644e6756289396616b16551299ad9829f6bf8c94'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?id=644e6756289396616b16551299ad9829f6bf8c94'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel?id=644e6756289396616b16551299ad9829f6bf8c94'>devel</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/p5-Devel-LeakTrace?id=644e6756289396616b16551299ad9829f6bf8c94'>p5-Devel-LeakTrace</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/p5-Devel-LeakTrace?id=644e6756289396616b16551299ad9829f6bf8c94&showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-Devel-LeakTrace?id=0601a59f0e9c3afbbf7cf2aef6035ad46b4d0726'>Pass maintainership of almost of my "p5-*" ports to "perl@".</a></td><td>Sergey Skvortsov</td><td><span title='2012-05-07 23:42:51 +0800'>2012-05-07</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-Devel-LeakTrace?id=7e3b32fff8006b26f11bd1aa2ce928e2ea2ba7a6'>- remove maintainer tags from pkg-descr</a></td><td>Eitan Adler</td><td><span title='2011-10-23 07:50:23 +0800'>2011-10-23</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+0</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-Devel-LeakTrace?id=d6db46aade6ffa86b0ddda72d3a04318bd30fa3b'>-remove MD5</a></td><td>Olli Hauer</td><td><span title='2011-07-03 22:59:23 +0800'>2011-07-03</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+0</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-Devel-LeakTrace?id=c10f314307a4e84ca4811cb03db549590b4c364a'>- lang/perl5.6 is dead, remove PERL_LEVEL/PERL_VERSION < 500801 checks</a></td><td>Philip M. Gollucci</td><td><span title='2009-07-23 00:27:08 +0800'>2009-07-23</span></td><td>1</td><td><span class='deletions'>-7</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-Devel-LeakTrace?id=4aaab89f578233fc117be25797258ca7e2ed882d'>- Take advantage of CPAN macro from bsd.sites.mk, change ${MASTER_SITE_PERL_C...</a></td><td>Marcelo Araujo</td><td><span title='2008-04-17 22:30:31 +0800'>2008-04-17</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-Devel-LeakTrace?id=9839011ec3910790376ce9ace5e2a1c5bcb2781f'>Welcome bsd.perl.mk. Add support for constructs such as USE_PERL5=5.8.0+.</a></td><td>Mark Linimon</td><td><span title='2007-09-08 09:12:10 +0800'>2007-09-08</span></td><td>1</td><td><span class='deletions'>-4</span>/<span class='insertions'>+0</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-Devel-LeakTrace?id=fe279f0df86b9326e8192aadd25d0c0ea5e5cade'>Bump PORTREVISION on glib12/gtk12 consumer ports to ease the upgrade path.</a></td><td>Ade Lovett</td><td><span title='2006-03-07 16:28:06 +0800'>2006-03-07</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-Devel-LeakTrace?id=acd87b4ad806ea86233e2a9bdf896c6028bb5222'>SHA256ify</a></td><td>Edwin Groothuis</td><td><span title='2006-01-22 16:34:46 +0800'>2006-01-22</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-Devel-LeakTrace?id=e33233f948fa75569942bda3f34c065ad24f1576'>Replace ugly "@unexec rmdir %D... 2>/dev/null || true" with @dirrmtry</a></td><td>Edwin Groothuis</td><td><span title='2006-01-22 09:55:36 +0800'>2006-01-22</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+2</span></td></tr>