*/
public function recordConnection( $server, $db, $isMaster ) {
// Report when too many connections happen...
- if ( $this->hits['conns']++ == $this->expect['conns'] ) {
- $this->reportExpectationViolated( 'conns', "[connect to $server ($db)]" );
+ if ( $this->hits['conns']++ >= $this->expect['conns'] ) {
+ $this->reportExpectationViolated(
+ 'conns', "[connect to $server ($db)]", $this->hits['conns'] );
}
- if ( $isMaster && $this->hits['masterConns']++ == $this->expect['masterConns'] ) {
- $this->reportExpectationViolated( 'masterConns', "[connect to $server ($db)]" );
+ if ( $isMaster && $this->hits['masterConns']++ >= $this->expect['masterConns'] ) {
+ $this->reportExpectationViolated(
+ 'masterConns', "[connect to $server ($db)]", $this->hits['masterConns'] );
}
}
}
// Report when too many writes/queries happen...
- if ( $this->hits['queries']++ == $this->expect['queries'] ) {
- $this->reportExpectationViolated( 'queries', $query );
+ if ( $this->hits['queries']++ >= $this->expect['queries'] ) {
+ $this->reportExpectationViolated( 'queries', $query, $this->hits['queries'] );
}
- if ( $isWrite && $this->hits['writes']++ == $this->expect['writes'] ) {
- $this->reportExpectationViolated( 'writes', $query );
+ if ( $isWrite && $this->hits['writes']++ >= $this->expect['writes'] ) {
+ $this->reportExpectationViolated( 'writes', $query, $this->hits['writes'] );
}
// Report slow queries...
if ( !$isWrite && $elapsed > $this->expect['readQueryTime'] ) {
/**
* @param string $expect
* @param string $query
- * @param string|float|int $actual [optional]
+ * @param string|float|int $actual
*/
- protected function reportExpectationViolated( $expect, $query, $actual = null ) {
+ protected function reportExpectationViolated( $expect, $query, $actual ) {
if ( $this->silenced ) {
return;
}
- $n = $this->expect[$expect];
- $by = $this->expectBy[$expect];
- $actual = ( $actual !== null ) ? " (actual: $actual)" : "";
-
$this->logger->info(
- "Expectation ($expect <= $n) by $by not met$actual:\n$query\n" .
- ( new RuntimeException() )->getTraceAsString()
+ "Expectation ({measure} <= {max}) by {by} not met (actual: {actual}):\n{query}\n" .
+ ( new RuntimeException() )->getTraceAsString(),
+ [
+ 'measure' => $expect,
+ 'max' => $this->expect[$expect],
+ 'by' => $this->expectBy[$expect],
+ 'actual' => $actual,
+ 'query' => $query
+ ]
);
}
}