Architecture:MediaWiki/instrumentation layer

The instrumentation layer provides basic services used throughout the code base, such as logging. The instrumentation layer may be used by all other layers of the application. It typically serves as glue or framework abstraction over some standard library or service.

Status:
As per August 2020, the idea of instrumentation services is well-established in MediaWiki, though such code sometimes makes use of application-level entities.

Constraints:
The instrumentation layer must not have any knowledge of application-specific concepts.

Example:
Examples of code in the instrumentation layer include LegacyLogger, Profiler, and BufferingStatsdDataFactory.