summaryrefslogtreecommitdiff
path: root/doc/development/instrumentation.md
Commit message (Collapse)AuthorAgeFilesLines
* Remove Gitlab::Git::Repository#rugged and Gollum codeAlejandro Rodríguez2018-10-021-2/+2
| | | | | | | | Cleanup code, and refactor tests that still use Rugged. After this, there should be no Rugged code that access the instance's repositories on non-test environments. There is still some rugged code for other tasks like the repository import task, but since it doesn't access any repository storage path it can stay.
* Execute metrics initializer earlieretag-notes-pollingAdam Niedzielski2017-03-011-1/+1
| | | | | This makes sure that Gitlab::Metrics::RackMiddleware is added before Gitlab::EtagCaching::Middleware.
* Add more highlighting to Instrumentation docRobert Speicher2016-11-091-5/+5
| | | | [ci skip]
* Document how to track custom eventsYorick Peterse2016-09-121-0/+15
| | | | | | Fixes gitlab-org/gitlab-ce#22070 [ci skip]
* Track method call times/counts as a single metricYorick Peterse2016-06-171-17/+2
| | | | | | | | | | | | | | | | 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.
* Instrument private/protected methodsPaco Guzman2016-06-141-2/+2
| | | | | | | 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
* Measure CPU time for instrumented methodsPaco Guzman2016-06-141-5/+6
|
* Added documentation on how to instrument methodsdocument-adding-instrumentationYorick Peterse2016-05-051-6/+123
| | | | [ci skip]
* Track call counts in Gitlab::Metrics.measure_blockmetrics-measure-block-transactionYorick Peterse2016-04-111-3/+4
|
* Store block timings as transaction valuesYorick Peterse2016-04-111-19/+17
| | | | | | | | | | 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).
* Added dev guide for measuring Ruby blocksmetrics-measure-blockYorick Peterse2016-04-061-0/+37