close(); if ( isset( $this->mCollated['-total'] ) && $this->mCollated['-total']['real'] < $this->mMinimumTime ) { # Less than minimum, ignore return; } if ( !function_exists( 'socket_create' ) ) { # Sockets are not enabled return; } $sock = socket_create( AF_INET, SOCK_DGRAM, SOL_UDP ); $plength = 0; $packet = ""; foreach ( $this->mCollated as $entry => $pfdata ) { if ( !isset( $pfdata['count'] ) || !isset( $pfdata['cpu'] ) || !isset( $pfdata['cpu_sq'] ) || !isset( $pfdata['real'] ) || !isset( $pfdata['real_sq'] ) ) { continue; } $pfline = sprintf( $wgUDPProfilerFormatString, $this->getProfileID(), $pfdata['count'], $pfdata['cpu'], $pfdata['cpu_sq'], $pfdata['real'], $pfdata['real_sq'], $entry ); $length = strlen( $pfline ); /* printf(""); */ if ( $length + $plength > 1400 ) { socket_sendto( $sock, $packet, $plength, 0, $wgUDPProfilerHost, $wgUDPProfilerPort ); $packet = ""; $plength = 0; } $packet .= $pfline; $plength += $length; } socket_sendto( $sock, $packet, $plength, 0x100, $wgUDPProfilerHost, $wgUDPProfilerPort ); } }