66 parent::__construct(
'ArticleView', $workKey );
69 $this->renderer = $revisionRenderer;
93 bool $doSample =
false,
94 string $sourceLabel =
''
96 $renderedRevision = $this->renderer->getRenderedRevision(
102 'previous-output' => $previousOutput,
106 $parserOutput = $renderedRevision->getRevisionParserOutput();
110 $content = $this->revision->getContent( SlotRecord::MAIN );
112 'source' => $sourceLabel,
113 'type' => $previousOutput ===
null ?
'full' :
'selective',
114 'reason' => $this->parserOptions->getRenderReason(),
115 'parser' => $this->parserOptions->getUseParsoid() ?
'parsoid' :
'legacy',
116 'opportunistic' =>
'false',
117 'wiki' => WikiMap::getCurrentWikiId(),
118 'model' => $content ? $content->getModel() :
'unknown',
121 ->getCounter(
'ParserCache_selective_total' )
122 ->setLabels( $labels )
125 ->getCounter(
'ParserCache_selective_cpu_seconds' )
126 ->setLabels( $labels )
127 ->incrementBy( $parserOutput->getTimeProfile(
'cpu' ) );
130 return Status::newGood( $parserOutput );
144class_alias( PoolWorkArticleView::class,
'PoolWorkArticleView' );
Service for getting rendered output of a given page.
PoolCounter protected work wrapping RenderedRevision->getRevisionParserOutput.
ParserOptions $parserOptions
renderRevision(?ParserOutput $previousOutput=null, bool $doSample=false, string $sourceLabel='')
Render the given revision.
__construct(string $workKey, RevisionRecord $revision, ParserOptions $parserOptions, RevisionRenderer $revisionRenderer, LoggerSpi $loggerSpi)