Commit graph

10 commits

Author SHA1 Message Date
Aaron Schulz
7ea13643f5 Added $wgTrxProfilerLimits and slow query limits
* Limits are now configurable instead of being hard-coded

Change-Id: I99133586eb82e8e9e84061548c8d1a99695fde5c
2015-04-28 10:18:11 +02:00
Gilles Dubuc
7b2d50e761 Track request method in dbperformance.log
This will allow us to avoid needlessly investigating master requests that
only happen on POST (which is already what we want for multi-DC).

Bug: T92357
Change-Id: Ia7437d00f5b89a8e318d85659d60e2f9f9f26149
2015-04-06 15:13:03 +00:00
Kunal Mehta
e241d2c7ed Use structured logging/MWLoggerFactory for TransactionProfiler
Change-Id: Id78c41623641562abe57546dfeb027fd0f437a15
2015-03-27 21:30:53 -07:00
Aaron Schulz
b403a75772 Made TransactionProfiler affected-row warnings not trigger for JobRunner
* The CLI check did not work since jobs can work via HTTP requests

Change-Id: I524e79fd51275777c1505e29ecf0725b998eabcc
2015-02-17 16:50:12 -08:00
Aaron Schulz
505394a5a9 Added query/connection expectation support to TransactionProfiler
* Master connections and writes on read requests will now be logged to
  get visibility into code that reduces performance and site availability.

bug: T88445
bug: T86862
Change-Id: Ic2ae95c33facbb54e062aef2ce67d6182caa044a
2015-02-11 18:57:03 +00:00
Aaron Schulz
52a5954068 Moved "large write query" code to TransactionProfiler
Change-Id: Ic05e832eb21545a4e639b52aca7b3a5811a890ce
2015-02-05 01:42:25 +00:00
Aaron Schulz
be8b4d4d28 TransactionProfiler now shows the delay periods between queries
* Also tweaked the slave query display threshold to show them more

Change-Id: I0d9002b2f12e846a7355992443287d4ec43a7e88
2014-11-21 20:46:41 +00:00
Chad Horohoe
8784f22964 Profiling: remove "m" prefixes from variables since they're pointless
Change-Id: I88cdbac935d6d908fa3745634922a0bb70c0dbc8
2014-11-06 19:17:26 +00:00
Aaron Schulz
671bcd8d27 Changed TransactionProfiler to only work via the DB classes
* This makes it work with xhprof/xdebug, though it will only examine DB queries.

Change-Id: I999b66e6c3af88dda408b2252c248e085af9eea4
2014-11-06 10:30:51 -08:00
Chad Horohoe
4e61f1bb8b Profiler code cleanup
- Put Profiler, ProfileSection and TransactionProfiler in their own
  files and rely on Autoloader to use them (maintenance has been
  using the autoloader here for some time--we don't profile the
  autoloader manually)
- This reduces overhead in WebStart/doMaintenance by only loading
  three functions at profiler initialization and defers until the
  first profiling call happens
- Inline callback functions in ProfilerSimpleText rather than having
  public static functions.
- Small comment and code formatting changes in various touched files.

Change-Id: Idf27677c068c50b847152c523a33e7f0c33fdeeb
2014-11-04 21:14:51 +00:00