wiki.techinc.nl/includes/libs/objectcache
Timo Tijhof 295f03568c objectcache: Remove docs about RedisConnectionPool configurable size
There exists no option matching this description.

The class was created in Feb 2013 with Ie72536240e (03833b54e8),
which initially included a `poolSize` option that matches this
description.

This was removed the next month in March 2013,
with I6ea53378c9 (646051d36d).

While at it, fix file headers and ingroup doc annotations

Change-Id: I285122054c8848d0fa700aa323ff813d5f0c4690
(cherry picked from commit 91f7c7289363f982a28d3ba03ea3b19552db5360)
2024-11-07 08:43:27 +00:00
..
serialized Add namespace to remaining parts of Wikimedia\ObjectCache 2024-09-27 16:19:10 -04:00
utils objectcache: Remove docs about RedisConnectionPool configurable size 2024-11-07 08:43:27 +00:00
APCUBagOStuff.php objectcache: Improve overall BagOStuff class docs 2024-09-11 11:55:10 +01:00
BagOStuff.php Use explicit nullable type on parameter arguments 2024-10-16 20:58:33 +02:00
CachedBagOStuff.php Use explicit nullable type on parameter arguments 2024-10-16 20:58:33 +02:00
EmptyBagOStuff.php objectcache: Improve overall BagOStuff class docs 2024-09-11 11:55:10 +01:00
HashBagOStuff.php objectcache: Improve overall BagOStuff class docs 2024-09-11 11:55:10 +01:00
IStoreKeyEncoder.php Add namespace to the root classes of ObjectCache 2024-07-10 00:14:54 +03:30
MediumSpecificBagOStuff.php Use explicit nullable type on parameter arguments 2024-10-16 20:58:33 +02:00
MemcachedBagOStuff.php objectcache: Improve overall BagOStuff class docs 2024-09-11 11:55:10 +01:00
MemcachedPeclBagOStuff.php objectcache: Improve overall BagOStuff class docs 2024-09-11 11:55:10 +01:00
MemcachedPhpBagOStuff.php objectcache: Improve overall BagOStuff class docs 2024-09-11 11:55:10 +01:00
MultiWriteBagOStuff.php Use explicit nullable type on parameter arguments 2024-10-16 20:58:33 +02:00
README.md objectcache: Remove wanobjectcache.$keygroup.regen_set_delay metric 2024-09-18 15:46:25 +00:00
RedisBagOStuff.php objectcache: Move RedisConnRef.php to /libs/objectcache/ 2024-11-07 08:40:54 +00:00
RESTBagOStuff.php Remove unchecked exception annotations 2024-09-17 22:20:58 +02:00
WANObjectCache.php Use explicit nullable type on parameter arguments 2024-10-16 20:58:33 +02:00

wikimedia/objectcache

Statistics

Sent to StatsD under MediaWiki's namespace.

WANObjectCache

The default WANObjectCache provided by MediaWikiServices disables these statistics in entry points where MW_ENTRY_POINT is 'cli'.

wanobjectcache.{kClass}.{cache_action_and_result}

Upon cache access via WANObjectCache::getWithSetCallback(), this measures the total time spent in this method from start to end for all cases, except process-cache hits.

See also wanobjectcache.{kClass}.regen_walltime, which, during misses/renews, measures just the portion of time spent in the callback to regenerate the value.

  • Type: Measure (in milliseconds).
  • Variable kClass: The first part of your cache key.
  • Variable result: One of:
    • "hit.good": A non-expired value was returned (and call did not get chosen for pre-emptive refresh).
    • "hit.refresh": A non-expired value was returned (and call was chosen for a pre-emptive refresh, and an async refresh was scheduled).
    • "hit.volatile": A value was found that was generated and stored less than 0.1s ago, and returned as-is despite appearing to also be expired already. This amount of time is considered negligible in terms of clock accuracy, and by random chance we usually decide to treat these as a cache hit (see RECENT_SET_HIGH_MS).
    • "hit.stale": An expired value was found, but we are within the allowed stale period specified by a lockTSE option, and the current request did not get the regeneration lock. The stale value is returned as-is.
    • "miss.compute": A new value was computed by the callback and returned. No non-expired value was found, and if this key needed a regeneration lock, we got the lock.
    • "miss.busy": A busy value was produced by a busyValue callback and returned. No non-expired value was found, and we tried to use a regeneration lock (per the busyValue option), but the current request did not get the lock.
    • "renew.compute": Artificial demand from an async refresh, led to a new value being computed by the callback. These are like "miss.compute", but in response to "hit.refresh".
    • "renew.busy": Artificial demand from an async refresh failed to produce a value. The key used the busyValue option, and could not get a regeneration lock.

wanobjectcache.{kClass}.regen_walltime

Upon cache update due to a cache miss or async refresh, this measures the time spent in the regeneration callback when computing a new value.

  • Type: Measure (in milliseconds).
  • Variable kClass: The first part of your cache key.

wanobjectcache.{kClass}.ck_touch.{result}

Call counter from WANObjectCache::touchCheckKey().

  • Type: Counter.
  • Variable kClass: The first part of your cache key.
  • Variable result: One of "ok" or "error".

wanobjectcache.{kClass}.ck_reset.{result}

Call counter from WANObjectCache::resetCheckKey().

  • Type: Counter.
  • Variable kClass: The first part of your cache key.
  • Variable result: One of "ok" or "error".

wanobjectcache.{kClass}.delete.{result}

Call counter from WANObjectCache::delete().

  • Type: Counter.
  • Variable kClass: The first part of your cache key.
  • Variable result: One of "ok" or "error".