---
title: "Usage in Fluid"
manual: "kreXX Debugger"
version: "6.1"
permalink: "https://docs.typo3.org/permalink/brainworxx/includekrexx:fluid@6.1"
source: "Quickstart/Fluid/Index.rst"
rendered: "2026-10-19T14:39:25+00:00"
---

# Usage in Fluid {#fluid}

## The debugging ViewHelpers {#the-debugging-viewhelpers}

Using the ViewHelpers is pretty much straight forward:

```html
<!-- Normal frontend output -->
<krexx:debug>{_all}</krexx:debug>
<!-- Use this part if you don't want fluid to escape your string or if you are
     stitching together an array. -->
<krexx:debug value="{my: 'value', to: 'analyse'}" />
<!-- Force the logging into a file -->
<krexx:log>{_all}</krexx:log>
<krexx:log value="{my: 'value', to: 'analyse'}" />
```

![Fluid debugger output with source generation for fluid.](../../Images/Fluid2.png)

kreXX will then try to analyse everything inside the variable given to it. All reachable properties will be shown in the
debugger output.

From a Fluid template point of view, array, object getters and object public methods are handeld in the same way. kreXX
will do the same when displaying them.

## Benchmarking ViewHelpers {#benchmarking-viewhelpers}

```html
<!-- Take a moment -->
<krexx:timer.moment value="Start rendering"/>
<!-- A lot more template code -->
. . . .
<!-- Take another moment -->
<krexx:timer.moment value="Start menu rendering"/>
<!-- Even more template code -->
. . . .
<!-- Output the benchmark -->
<krexx:timer.end/>
<!-- Log the benchmark -->
<krexx:timer.log/>
```

kreXX measures the time between every call, and then outputs it as a benchmark.

![Fluid debugger output with benchmarking.](../../Images/FluidBenchmark.png)

> [!WARNING]
> As seen in the example screenshot, the rendering order may not be what you expect. When using the benchmarking
> ViewHelpers across different template files, make sure to call them in the correct order. kreXX will stop to
> measure the time when you call the end ViewHelper `<krexx:timer.end/>`.
