<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/doc/development/instrumentation.md, branch ide-diff-cursor</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Execute metrics initializer earlier</title>
<updated>2017-03-01T17:15:28+00:00</updated>
<author>
<name>Adam Niedzielski</name>
<email>adamsunday@gmail.com</email>
</author>
<published>2017-03-01T17:15:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=ee318727774dbec75d5506a4b4749fc4236206d5'/>
<id>ee318727774dbec75d5506a4b4749fc4236206d5</id>
<content type='text'>
This makes sure that Gitlab::Metrics::RackMiddleware is added before
Gitlab::EtagCaching::Middleware.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes sure that Gitlab::Metrics::RackMiddleware is added before
Gitlab::EtagCaching::Middleware.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add more highlighting to Instrumentation doc</title>
<updated>2016-11-09T11:05:23+00:00</updated>
<author>
<name>Robert Speicher</name>
<email>rspeicher@gmail.com</email>
</author>
<published>2016-11-09T11:05:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=57f9ee0b9f77dc1aa0882fe0423228b77b8e8a33'/>
<id>57f9ee0b9f77dc1aa0882fe0423228b77b8e8a33</id>
<content type='text'>
[ci skip]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ci skip]
</pre>
</div>
</content>
</entry>
<entry>
<title>Document how to track custom events</title>
<updated>2016-09-12T15:41:45+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2016-09-12T15:41:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=0c046399d4361e2f3d8943efddd2ef4fd3b2152f'/>
<id>0c046399d4361e2f3d8943efddd2ef4fd3b2152f</id>
<content type='text'>
Fixes gitlab-org/gitlab-ce#22070

[ci skip]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes gitlab-org/gitlab-ce#22070

[ci skip]
</pre>
</div>
</content>
</entry>
<entry>
<title>Track method call times/counts as a single metric</title>
<updated>2016-06-17T17:09:55+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2016-06-17T15:45:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=be3b8784431d8f788d174fce2f1b17ddc1cf3429'/>
<id>be3b8784431d8f788d174fce2f1b17ddc1cf3429</id>
<content type='text'>
Previously we'd create a separate Metric instance for every method call
that would exceed the method call threshold. This is problematic because
it doesn't provide us with information to accurately get the _total_
execution time of a particular method. For example, if the method
"Foo#bar" was called 4 times with a runtime of ~10 milliseconds we'd end
up with 4 different Metric instances. If we were to then get the
average/95th percentile/etc of the timings this would be roughly 10
milliseconds. However, the _actual_ total time spent in this method
would be around 40 milliseconds.

To solve this problem we now create a single Metric instance per method.
This Metric instance contains the _total_ real/CPU time and the call
count for every instrumented method.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously we'd create a separate Metric instance for every method call
that would exceed the method call threshold. This is problematic because
it doesn't provide us with information to accurately get the _total_
execution time of a particular method. For example, if the method
"Foo#bar" was called 4 times with a runtime of ~10 milliseconds we'd end
up with 4 different Metric instances. If we were to then get the
average/95th percentile/etc of the timings this would be roughly 10
milliseconds. However, the _actual_ total time spent in this method
would be around 40 milliseconds.

To solve this problem we now create a single Metric instance per method.
This Metric instance contains the _total_ real/CPU time and the call
count for every instrumented method.
</pre>
</div>
</content>
</entry>
<entry>
<title>Instrument private/protected methods</title>
<updated>2016-06-14T13:17:51+00:00</updated>
<author>
<name>Paco Guzman</name>
<email>pacoguzmanp@gmail.com</email>
</author>
<published>2016-06-13T16:49:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=dadc531353bdf0e384d05d173d19756b0d9fba13'/>
<id>dadc531353bdf0e384d05d173d19756b0d9fba13</id>
<content type='text'>
By default instrumentation will instrument public,
protected and private methods, because usually
heavy work is done on private method or at least
that’s what facts is showing
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By default instrumentation will instrument public,
protected and private methods, because usually
heavy work is done on private method or at least
that’s what facts is showing
</pre>
</div>
</content>
</entry>
<entry>
<title>Measure CPU time for instrumented methods</title>
<updated>2016-06-14T10:49:31+00:00</updated>
<author>
<name>Paco Guzman</name>
<email>pacoguzmanp@gmail.com</email>
</author>
<published>2016-06-13T16:41:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=120fbbd4875f340b5c863b7e0e3eabcb2796e15d'/>
<id>120fbbd4875f340b5c863b7e0e3eabcb2796e15d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added documentation on how to instrument methods</title>
<updated>2016-05-05T17:26:41+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2016-05-04T11:14:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=e449a6c05c734ff9e38e13013591d07d03c0fff6'/>
<id>e449a6c05c734ff9e38e13013591d07d03c0fff6</id>
<content type='text'>
[ci skip]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ci skip]
</pre>
</div>
</content>
</entry>
<entry>
<title>Track call counts in Gitlab::Metrics.measure_block</title>
<updated>2016-04-11T11:27:52+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2016-04-11T11:27:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d9110a7ecab52ab0716a42c2075cebdf8028d5e7'/>
<id>d9110a7ecab52ab0716a42c2075cebdf8028d5e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Store block timings as transaction values</title>
<updated>2016-04-11T11:09:36+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2016-04-11T10:23:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=16926a676bdea4bfbbbaf9d390373073d2ff8bbd'/>
<id>16926a676bdea4bfbbbaf9d390373073d2ff8bbd</id>
<content type='text'>
This makes it easier to query, simplifies the code, and makes it
possible to figure out what transaction the data belongs to (simply
because it's now stored _in_ the transaction).

This new setup keeps track of both the real/wall time _and_ CPU time
spent in a block, both measured using milliseconds (to keep all units
the same).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes it easier to query, simplifies the code, and makes it
possible to figure out what transaction the data belongs to (simply
because it's now stored _in_ the transaction).

This new setup keeps track of both the real/wall time _and_ CPU time
spent in a block, both measured using milliseconds (to keep all units
the same).
</pre>
</div>
</content>
</entry>
<entry>
<title>Added dev guide for measuring Ruby blocks</title>
<updated>2016-04-06T12:32:27+00:00</updated>
<author>
<name>Yorick Peterse</name>
<email>yorickpeterse@gmail.com</email>
</author>
<published>2016-04-05T10:37:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=352bc7d2b9a4ed5725e4f0e9f2e63d71678de9bc'/>
<id>352bc7d2b9a4ed5725e4f0e9f2e63d71678de9bc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
