‪TYPO3CMS  ‪main
TYPO3\CMS\Core\TimeTracker\TimeTracker Class Reference
Inheritance diagram for TYPO3\CMS\Core\TimeTracker\TimeTracker:
TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 __construct (bool $isEnabled=true)
 
 push (string $tslabel, string $value='')
 
 pull (string $content='')
 
 setTSlogMessage (string $content, string $logLevel=LogLevel::INFO)
 
 setEnabled (bool $isEnabled=true)
 
 start (?float $starttime=null)
 
 incStackPointer ()
 
 decStackPointer ()
 
int getDifferenceToStarttime (float $microtime=null)
 
 finish ()
 
 getParseTime ()
 
 isEnabled ()
 
 getTypoScriptLogStack ()
 

Public Attributes

bool $LR = true
 

Protected Member Functions

int getMilliseconds (?float $microtime=null)
 

Protected Attributes

bool $isEnabled = false
 
int $starttime = 0
 
float $finishtime = 0
 
array $wrapError
 
array $wrapIcon
 
int $uniqueCounter = 0
 
array $tsStack = [[]]
 
int $tsStackLevel = 0
 
array $tsStackLevelMax = []
 
array $tsStackLog = []
 
int $tsStackPointer = 0
 
array $currentHashPointer = []
 

Detailed Description

Frontend Timetracking functions Is used to register how much time is used with operations in TypoScript.

Note: Only push() (with first argument only), pull() and setTSlogMessage() are considered API, everything else is internal.

Definition at line 33 of file TimeTracker.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\TimeTracker\TimeTracker::__construct ( bool  $isEnabled = true)

Member Function Documentation

◆ decStackPointer()

TYPO3\CMS\Core\TimeTracker\TimeTracker::decStackPointer ( )

Decreases the stack pointer

See also
incStackPointer()
‪\TYPO3\CMS\Frontend\Page\PageGenerator::renderContent()
‪\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle()

Definition at line 206 of file TimeTracker.php.

References TYPO3\CMS\Core\TimeTracker\TimeTracker\isEnabled().

◆ finish()

TYPO3\CMS\Core\TimeTracker\TimeTracker::finish ( )

Usually called when the page generation and output is prepared.

See also
start()

Definition at line 250 of file TimeTracker.php.

References TYPO3\CMS\Core\TimeTracker\TimeTracker\isEnabled().

Referenced by TYPO3\CMS\Core\TimeTracker\TimeTracker\getParseTime().

◆ getDifferenceToStarttime()

int TYPO3\CMS\Core\TimeTracker\TimeTracker::getDifferenceToStarttime ( float  $microtime = null)

Gets the difference between a given microtime value and the starting time as milliseconds.

Parameters
float | null$microtime‪The microtime value - if not set the current time is used
Returns
‪int The difference between a given microtime value and starting time as milliseconds

Definition at line 239 of file TimeTracker.php.

References TYPO3\CMS\Core\TimeTracker\TimeTracker\$starttime, and TYPO3\CMS\Core\TimeTracker\TimeTracker\getMilliseconds().

Referenced by TYPO3\CMS\Core\TimeTracker\TimeTracker\getParseTime().

◆ getMilliseconds()

int TYPO3\CMS\Core\TimeTracker\TimeTracker::getMilliseconds ( ?float  $microtime = null)
protected

Gets a microtime value as milliseconds value.

Parameters
float | null$microtime‪The microtime value - if not set the current time is used
Returns
‪int The microtime value as milliseconds value

Definition at line 221 of file TimeTracker.php.

References TYPO3\CMS\Core\TimeTracker\TimeTracker\isEnabled().

Referenced by TYPO3\CMS\Core\TimeTracker\TimeTracker\getDifferenceToStarttime(), and TYPO3\CMS\Core\TimeTracker\TimeTracker\start().

◆ getParseTime()

TYPO3\CMS\Core\TimeTracker\TimeTracker::getParseTime ( )

◆ getTypoScriptLogStack()

TYPO3\CMS\Core\TimeTracker\TimeTracker::getTypoScriptLogStack ( )

◆ incStackPointer()

TYPO3\CMS\Core\TimeTracker\TimeTracker::incStackPointer ( )

Increases the stack pointer

See also
decStackPointer()
‪\TYPO3\CMS\Frontend\Page\PageGenerator::renderContent()
‪\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle()

Definition at line 189 of file TimeTracker.php.

References TYPO3\CMS\Core\TimeTracker\TimeTracker\$tsStackPointer, and TYPO3\CMS\Core\TimeTracker\TimeTracker\isEnabled().

◆ isEnabled()

◆ pull()

TYPO3\CMS\Core\TimeTracker\TimeTracker::pull ( string  $content = '')

Pulls an element from the TypoScript tracking array

Parameters
string$content‪The content string generated within the push/pull part.
See also
‪\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle()
push()

Definition at line 123 of file TimeTracker.php.

References TYPO3\CMS\Core\TimeTracker\TimeTracker\isEnabled().

◆ push()

TYPO3\CMS\Core\TimeTracker\TimeTracker::push ( string  $tslabel,
string  $value = '' 
)

Pushes an element to the TypoScript tracking array

Parameters
string$tslabel‪Label string for the entry, eg. TypoScript property name
string$value‪Additional value (

, may vanish)

See also
‪\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::cObjGetSingle()
pull()

Definition at line 96 of file TimeTracker.php.

References TYPO3\CMS\Core\TimeTracker\TimeTracker\$tsStack, TYPO3\CMS\Core\TimeTracker\TimeTracker\$tsStackLevel, TYPO3\CMS\Core\TimeTracker\TimeTracker\$tsStackPointer, and TYPO3\CMS\Core\TimeTracker\TimeTracker\isEnabled().

◆ setEnabled()

TYPO3\CMS\Core\TimeTracker\TimeTracker::setEnabled ( bool  $isEnabled = true)

◆ setTSlogMessage()

TYPO3\CMS\Core\TimeTracker\TimeTracker::setTSlogMessage ( string  $content,
string  $logLevel = LogLevel::INFO 
)

Logs the TypoScript entry

Parameters
string$content‪The message string
string$logLevel‪Message type: see LogLevel constants
See also
‪\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::CONTENT()

Definition at line 143 of file TimeTracker.php.

References TYPO3\CMS\Core\TimeTracker\TimeTracker\isEnabled().

Referenced by TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer\convertToUserIntObject(), TYPO3\CMS\Frontend\ContentObject\UserContentObject\render(), TYPO3\CMS\Frontend\ContentObject\ContentObjectArrayContentObject\render(), and TYPO3\CMS\Frontend\ContentObject\ContentObjectArrayInternalContentObject\render().

◆ start()

TYPO3\CMS\Core\TimeTracker\TimeTracker::start ( ?float  $starttime = null)

Member Data Documentation

◆ $currentHashPointer

array TYPO3\CMS\Core\TimeTracker\TimeTracker::$currentHashPointer = []
protected

Definition at line 78 of file TimeTracker.php.

◆ $finishtime

float TYPO3\CMS\Core\TimeTracker\TimeTracker::$finishtime = 0
protected

Is set via finish() with the millisecond time when the request handler is finished.

Definition at line 48 of file TimeTracker.php.

◆ $isEnabled

bool TYPO3\CMS\Core\TimeTracker\TimeTracker::$isEnabled = false
protected

If set to true (see constructor) then timetracking is enabled

Definition at line 38 of file TimeTracker.php.

Referenced by TYPO3\CMS\Core\TimeTracker\TimeTracker\__construct(), TYPO3\CMS\Core\TimeTracker\TimeTracker\isEnabled(), and TYPO3\CMS\Core\TimeTracker\TimeTracker\setEnabled().

◆ $LR

bool TYPO3\CMS\Core\TimeTracker\TimeTracker::$LR = true

Log Rendering flag. If set, ->push() and ->pull() is called from the cObj->cObjGetSingle(). This determines whether the TypoScript parsing activity is logged. But it also slows down the rendering.

Definition at line 56 of file TimeTracker.php.

◆ $starttime

int TYPO3\CMS\Core\TimeTracker\TimeTracker::$starttime = 0
protected

Is loaded with the millisecond time when this object is created

Definition at line 43 of file TimeTracker.php.

Referenced by TYPO3\CMS\Core\TimeTracker\TimeTracker\getDifferenceToStarttime().

◆ $tsStack

array TYPO3\CMS\Core\TimeTracker\TimeTracker::$tsStack = [[]]
protected

Definition at line 73 of file TimeTracker.php.

Referenced by TYPO3\CMS\Core\TimeTracker\TimeTracker\push().

◆ $tsStackLevel

int TYPO3\CMS\Core\TimeTracker\TimeTracker::$tsStackLevel = 0
protected

Definition at line 74 of file TimeTracker.php.

Referenced by TYPO3\CMS\Core\TimeTracker\TimeTracker\push().

◆ $tsStackLevelMax

array TYPO3\CMS\Core\TimeTracker\TimeTracker::$tsStackLevelMax = []
protected

Definition at line 75 of file TimeTracker.php.

◆ $tsStackLog

array TYPO3\CMS\Core\TimeTracker\TimeTracker::$tsStackLog = []
protected

◆ $tsStackPointer

int TYPO3\CMS\Core\TimeTracker\TimeTracker::$tsStackPointer = 0
protected

◆ $uniqueCounter

int TYPO3\CMS\Core\TimeTracker\TimeTracker::$uniqueCounter = 0
protected

Definition at line 72 of file TimeTracker.php.

◆ $wrapError

array TYPO3\CMS\Core\TimeTracker\TimeTracker::$wrapError
protected
Initial value:
= [
LogLevel::INFO => ['', ''],
LogLevel::NOTICE => ['<strong>', '</strong>'],
LogLevel::WARNING => ['<strong style="color:#ff6600;">', '</strong>'],
LogLevel::ERROR => ['<strong style="color:#ff0000;">', '</strong>'],
]

Definition at line 58 of file TimeTracker.php.

◆ $wrapIcon

array TYPO3\CMS\Core\TimeTracker\TimeTracker::$wrapIcon
protected
Initial value:
= [
LogLevel::INFO => '',
LogLevel::NOTICE => 'actions-document-info',
LogLevel::WARNING => 'status-dialog-warning',
LogLevel::ERROR => 'status-dialog-error',
]

Definition at line 65 of file TimeTracker.php.