### Install Tracy via Composer
Source: https://github.com/nette/tracy/blob/master/readme.md
Use Composer to install the Tracy library. This is the recommended installation method.
```shell
composer require tracy/tracy
```
--------------------------------
### Install Dependencies for Latte Convert
Source: https://github.com/nette/tracy/blob/master/tools/latte-convert/readme.md
Run this command once to set up the necessary dependencies for the latte-convert tool.
```bash
cd tools/latte-convert && composer install
```
--------------------------------
### Start and Measure Time with Debugger Stopwatch
Source: https://github.com/nette/tracy/blob/master/readme.md
Use `Debugger::timer()` to start and measure elapsed time with microsecond precision. Call it without parameters to start a default timer, or with a name for multiple measurements.
```php
Debugger::timer();
// sweet dreams my cherrie
sleep(2);
$elapsed = Debugger::timer();
// $elapsed = 2
```
--------------------------------
### Complex Session Initialization with Tracy
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Initialize Tracy with a custom session setup, ensuring to dispatch Tracy after session_start().
```php
Debugger::setSessionStorage(new Tracy\NativeSession);
Debugger::enable();
// Custom session initialization
session_start();
Debugger::dispatch(); // Inform Tracy session is ready
```
--------------------------------
### Generate CSP Nonce and Set Header
Source: https://github.com/nette/tracy/blob/master/readme.md
Example of generating a nonce and setting the Content Security Policy header in pure PHP. This is necessary for Tracy to function correctly with CSP enabled.
```php
$nonce = base64_encode(random_bytes(20));
header("Content-Security-Policy: script-src 'nonce-$nonce' 'strict-dynamic';");
```
--------------------------------
### PHP Uncaught Exception Example
Source: https://github.com/nette/tracy/blob/master/readme.md
This is an example of how PHP displays an uncaught exception in the source code, which Tracy visualizes more effectively.
```text
Fatal error: Uncaught Nette\MemberAccessException: Call to undefined method Nette\Application\UI\Form::addTest()? in /sandbox/vendor/nette/utils/src/Utils/ObjectMixin.php:100
Stack trace:
#0 /sandbox/vendor/nette/utils/src/Utils/Object.php(75): Nette\Utils\ObjectMixin::call(Object(Nette\Application\UI\Form), 'addTest', Array)
#1 /sandbox/app/forms/SignFormFactory.php(32): Nette\Object->__call('addTest', Array)
#2 /sandbox/app/presenters/SignPresenter.php(21): App\Forms\SignFormFactory->create()
#3 /sandbox/vendor/nette/component-model/src/ComponentModel/Container.php(181): App\Presenters\SignPresenter->createComponentSignInForm('signInForm')
#4 /sandbox/vendor/nette/component-model/src/ComponentModel/Container.php(139): Nette\ComponentModel\Container->createComponent('signInForm')
#5 /sandbox/temp/cache/latte/15206b353f351f6bfca2c36cc.php(17): Nette\ComponentModel\Co in /sandbox/vendor/nette/utils/src/Utils/ObjectMixin.php on line 100
```
--------------------------------
### Enable Tracy Debugger
Source: https://github.com/nette/tracy/blob/master/readme.md
Enable Tracy by calling Tracy\Debugger::enable() at the beginning of your script. Ensure output has not yet started. Include Composer's autoloader or tracy.phar.
```php
use Tracy\Debugger;
require 'vendor/autoload.php'; // alternatively tracy.phar
Debugger::enable();
```
--------------------------------
### Implement Custom Tracy Logger
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Create a custom logger by implementing the Tracy\ILogger interface. The log method handles incoming log messages. This example shows sending logs to external services like Slack or Sentry.
```php
class SlackLogger implements Tracy\ILogger
{
public function log($value, $priority = self::INFO)
{
// Send to Slack, Sentry, etc.
}
}
Tracy\Debugger::setLogger(new SlackLogger);
```
--------------------------------
### PHP Parse Error Example
Source: https://github.com/nette/tracy/blob/master/readme.md
This is an example of how PHP displays a parse error in the source code, which Tracy visualizes more effectively.
```text
Parse error: syntax error, unexpected '}' in HomepagePresenter.php on line 15
```
--------------------------------
### Run Single Test File
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Execute a specific test file. Ensure to use the -p php-cgi flag for compatibility.
```bash
vendor/bin/tester tests/Tracy/Debugger.timer().phpt -p php-cgi -s
```
--------------------------------
### Run All Tests with PHP-CGI
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Execute all tests using the php-cgi executable. This is the recommended method for running HTML tests.
```bash
vendor/bin/tester tests -p php-cgi -s
```
--------------------------------
### Run Latte Convert Tests
Source: https://github.com/nette/tracy/blob/master/tools/latte-convert/readme.md
Execute the test suite for the latte-convert tool.
```bash
cd tools/latte-convert && vendor/bin/tester tests
```
--------------------------------
### Compile All Tracy Templates
Source: https://github.com/nette/tracy/blob/master/tools/latte-convert/readme.md
Execute this composer script to compile all .latte templates used by Tracy.
```bash
composer compile-templates
```
--------------------------------
### Integrate Monolog with Tracy
Source: https://github.com/nette/tracy/blob/master/readme.md
Use the `PsrToTracyLoggerAdapter` to integrate Monolog with Tracy. This allows using Monolog's logging capabilities within Tracy.
```php
$monolog = new Monolog\Logger('main-channel');
$monolog->pushHandler(new Monolog\Handler\StreamHandler($logFilePath, Monolog\Logger::DEBUG));
$tracyLogger = new Tracy\Bridges\Psr\PsrToTracyLoggerAdapter($monolog);
Debugger::setLogger($tracyLogger);
Debugger::enable();
Debugger::log('info'); // writes: [] main-channel.INFO: info [] []
Debugger::log('warning', Debugger::WARNING); // writes: [] main-channel.WARNING: warning [] []
```
--------------------------------
### Configure Native PHP Session Storage
Source: https://github.com/nette/tracy/blob/master/readme.md
Use this to configure Tracy to use the native PHP session. This is useful for AJAX requests and redirects. Ensure `session_start()` is called before enabling Tracy.
```php
session_start();
Debugger::setSessionStorage(new Tracy\NativeSession);
Debugger::enable();
```
```php
Debugger::setSessionStorage(new Tracy\NativeSession);
Debugger::enable();
// followed by session initialization
// and start the session
session_start();
Debugger::dispatch();
```
--------------------------------
### PHP Unit Test Structure
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Demonstrates the basic structure for writing tests using Nette Tester. Ensure to include the bootstrap file and use the test() helper function.
```php
' and 'strict-dynamic' to script-src for Tracy. For style-src, 'unsafe-inline' may be required if nonce is not supported, but avoid in production.
```neon
http:
csp:
script-src: [nonce, strict-dynamic]
```
--------------------------------
### Dump and Exit with `dumpe()` and `bdump()`
Source: https://github.com/nette/tracy/blob/master/readme.md
Use `dumpe()` for dumping variables and exiting, or `bdump()` to display dumps in the Tracy Bar with an optional title. This keeps output clean and organized.
```php
bdump([2, 4, 6, 8], 'even numbers up to ten');
bdump([1, 3, 5, 7, 9], 'odd numbers up to ten');
```
--------------------------------
### Use Native PHP Session with Tracy
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Configure Tracy to use the native PHP session handler.
```php
session_start();
Debugger::setSessionStorage(new Tracy\NativeSession);
Debugger::enable();
```
--------------------------------
### Editor Path Mapping for Remote/Docker
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Configure editor path mapping in Tracy to correctly open files from remote or Docker environments in your local IDE.
```php
Debugger::$editorMapping = [
'/var/www/html' => 'W:\\Projects\\myapp', // Docker to Windows
'/app' => '/Users/dev/projects/myapp', // Container to macOS
];
```
--------------------------------
### Implement Custom Tracy Logger
Source: https://github.com/nette/tracy/blob/master/readme.md
Create a custom logger by implementing the `Tracy\ILogger` interface. This allows custom handling of errors, exceptions, and logs.
```php
use Tracy\ILogger;
class SlackLogger implements ILogger
{
public function log($value, $priority = ILogger::INFO)
{
// sends a request to Slack
}
}
```
--------------------------------
### Enable Tracy Development Mode with IP and Cookie
Source: https://github.com/nette/tracy/blob/master/readme.md
Combine IP address restriction with a secret cookie token to enable development mode. This provides an extra layer of security for accessing debugging features.
```php
Debugger::enable('secret1234@23.75.345.200');
```
--------------------------------
### Nette Framework Tracy Configuration (Neon)
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Configure Tracy settings within a Nette Framework application using a Neon configuration file. This includes logging, dumper, and other general settings, as well as custom panels and BlueScreen extensions.
```neon
tracy:
# Logging
email: dev@example.com
fromEmail: robot@example.com
emailSnooze: 2 days
logSeverity: [E_WARNING, E_NOTICE]
# Dumper
maxLength: 150
maxDepth: 15
keysToHide: [password, pass, secret]
dumpTheme: dark
showLocation: true
# Other
strictMode: true
scream: false
editor: 'editor://open/?file=%file&line=%line'
showBar: true
# Custom panels
bar:
- MyPanel(@MyService)
- Nette\Bridges\DITracy\ContainerPanel
# BlueScreen extensions
blueScreen:
- DoctrinePanel::renderException
editorMapping:
/var/www/html: /local/path
```
--------------------------------
### Compile a Single Latte File
Source: https://github.com/nette/tracy/blob/master/tools/latte-convert/readme.md
Use this command to compile a specific .latte file. The output file will be automatically named and placed in a sibling 'dist/' directory.
```bash
php tools/latte-convert/compile.php src/Tracy/Bar/assets/bar.latte
```
--------------------------------
### Configure Tracy Dump Theme
Source: https://github.com/nette/tracy/blob/master/readme.md
Change the default light theme to dark for variable dumps. This setting affects the visual appearance of the dumped output.
```php
Debugger::$dumpTheme = 'dark';
```
--------------------------------
### Customize Tracy Dump Settings
Source: https://github.com/nette/tracy/blob/master/readme.md
Adjust the maximum nesting depth and displayed string length for variable dumps to optimize rendering speed. Lower values improve performance.
```php
Debugger::$maxDepth = 2; // default: 3
Debugger::$maxLength = 50; // default: 150
Debugger::$dumpTheme = 'dark'; // default: light
```
--------------------------------
### Nginx Configuration for Tracy
Source: https://github.com/nette/tracy/blob/master/readme.md
If Tracy is not working with nginx, ensure your try_files directive is correctly configured to pass arguments to index.php. This is a common misconfiguration issue.
```nginx
try_files $uri $uri/ /index.php$is_args$args;
```
--------------------------------
### Implement Custom Tracy Bar Panel
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Implement the Tracy\IBarPanel interface to create custom panels for the Tracy Debug Bar. The getTab method defines the tab's HTML, and getPanel defines the content displayed when the tab is clicked. Register the panel using Debugger::getBar()->addPanel().
```php
class MyPanel implements Tracy\IBarPanel
{
public function getTab(): string
{
// Tab HTML (small label on Bar)
return <<
My Panel
HTML;
}
public function getPanel(): string
{
// Panel HTML (popup content)
return <<My Panel Title
Info
Value
HTML;
}
}
// Register
Tracy\Debugger::getBar()->addPanel(new MyPanel);
```
--------------------------------
### Testing Exceptions in PHP
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Shows how to assert that a specific exception is thrown with a message containing placeholders. Use Assert::exception for this purpose.
```php
Assert::exception(
fn() => $object->method(),
ExpectedException::class,
'Expected message with %a% placeholders',
);
```
--------------------------------
### Configure Tracy Log Directory
Source: https://github.com/nette/tracy/blob/master/readme.md
Set the absolute path to the directory where Tracy should store log files. This is essential for error logging in production mode.
```php
Debugger::$logDirectory = __DIR__ . '/log';
```
--------------------------------
### Configure TextMate Editor Integration
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Set the Tracy editor variable to use TextMate for opening files directly from error pages.
```php
// TextMate
Tracy\Debugger::$editor = 'txmt://open/?url=file://%file&line=%line';
```
--------------------------------
### PHP Method Signature with Return Type
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Illustrates the Nette Coding Standard for PHP, emphasizing strict types, tab indentation, and the placement of return types and opening braces.
```php
public function example(
string $param,
array $options,
): ReturnType
{
// method body
}
```
--------------------------------
### Show Location Information in Dumps
Source: https://github.com/nette/tracy/blob/master/readme.md
Configure `Debugger::$showLocation` to display additional information about where the `dump()` function was called. Options include source file path, link to the file, and class definition path.
```php
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Shows path to where the dump() was called
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Shows both paths to the classes and link to where the dump() was called
Debugger::$showLocation = false; // Hides additional location information
Debugger::$showLocation = true; // Shows all additional location information
```
--------------------------------
### Render Tracy Loader Early
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Render the Tracy loader early in the HTML head to prevent slow scripts from delaying Tracy loading.
```html
Page Title
```
--------------------------------
### Compile Latte Files Recursively in a Directory
Source: https://github.com/nette/tracy/blob/master/tools/latte-convert/readme.md
Compile all .latte files within a specified directory and its subdirectories.
```bash
php tools/latte-convert/compile.php src/Tracy
```
--------------------------------
### Render Tracy Loader in HTML
Source: https://github.com/nette/tracy/blob/master/readme.md
Place this before any scripts in your HTML template to prevent slow scripts from delaying Tracy's loading. Ensure Tracy is enabled in your PHP configuration.
```html
...
```
--------------------------------
### Run PHPStan Static Analysis
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Perform static analysis on the codebase using PHPStan at level 7. This command is executed via Composer scripts.
```bash
composer run phpstan
```
--------------------------------
### Enable Tracy in Development Mode
Source: https://github.com/nette/tracy/blob/master/readme.md
To test Tracy's functionality, explicitly enable it in development mode. Tracy is hidden by default in production for security.
```php
Debugger::enable(Debugger::Development);
```
--------------------------------
### Tracy Dumper Configuration
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Adjust settings for Tracy's variable dumper, including maximum string length, nesting depth, keys to hide, dump theme, and whether to show the call location.
```php
Debugger::$maxLength = 150; // maximum string length in dumps
Debugger::$maxDepth = 15; // maximum nesting depth
Debugger::$keysToHide = ['password', 'secret', 'token']; // hide sensitive keys
Debugger::$dumpTheme = 'dark'; // 'light' or 'dark'
Debugger::$showLocation = true; // show dump() call location
```
--------------------------------
### Integrate Monolog with Tracy
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Adapt a Monolog logger to work with Tracy using the PsrToTracyLoggerAdapter. This allows using Monolog's handlers and features within the Tracy debugging environment. Ensure Monolog and its handlers are properly configured.
```php
$monolog = new Monolog\Logger('main-channel');
$monolog->pushHandler(new Monolog\Handler\StreamHandler($logFilePath));
$tracyLogger = new Tracy\Bridges\Psr\PsrToTracyLoggerAdapter($monolog);
Debugger::setLogger($tracyLogger);
```
--------------------------------
### Tracy General Configuration
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Configure Tracy's strict mode, error display for silenced errors, editor link format, custom error pages, and whether to show the Tracy Bar. Editor mapping can be set for remote environments.
```php
Debugger::$strictMode = true; // display notices/warnings as BlueScreen
Debugger::$scream = true; // display silenced (@) errors
Debugger::$editor = 'editor://open/?file=%file&line=%line'; // editor link format
Debugger::$errorTemplate = 'path/to/500.phtml'; // custom error 500 page
Debugger::$showBar = true; // show Tracy Bar
// Editor path mapping (e.g., for Docker/remote servers)
Debugger::$editorMapping = [
'/var/www/html' => '/local/project/path',
'/home/web' => '/Users/dev/projects',
];
```
--------------------------------
### Activate Custom Tracy Logger
Source: https://github.com/nette/tracy/blob/master/readme.md
Set your custom logger instance using `Tracy\Debugger::setLogger()`. For Nette Framework applications, this can be configured in the NEON configuration file.
```php
Tracy\Debugger::setLogger(new SlackLogger);
```
```neon
services:
tracy.logger: SlackLogger
```
--------------------------------
### Enable Tracy Debugger
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Enable Tracy's debugging capabilities. The enable() method can be called without arguments for auto-detection, with a specific mode (e.g., Tracy\Debugger::Development), or with IP addresses and a cookie for access control.
```php
Tracy\Debugger::enable(); // Auto-detect mode
Tracy\Debugger::enable(Tracy\Debugger::Development); // Force mode
Tracy\Debugger::enable('secret@123.45.67.89'); // IP + cookie
```
--------------------------------
### Tracy Logger Configuration
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Configure email notifications, sender details, snooze intervals, and log severity levels for Tracy's logger. Ensure the email addresses and snooze interval are correctly set.
```php
$logger = Debugger::getLogger();
// Email notifications
$logger->email = 'dev@example.com'; // (string|string[]) email(s) for error notifications
$logger->fromEmail = 'me@example.com'; // (string) sender email
$logger->mailer = /* callable */; // custom email sender, defaults to mail()
$logger->emailSnooze = '2 days'; // minimum interval for sending emails
// Log severity - which error levels are logged with HTML report
Debugger::$logSeverity = E_WARNING | E_NOTICE;
```
--------------------------------
### Correct nginx try_files Directive
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Ensure the nginx 'try_files' directive is correctly configured to handle requests properly, especially when using index.php.
```nginx
# Correct
try_files $uri $uri/ /index.php$is_args$args;
```
--------------------------------
### Add Custom BlueScreen Extension
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Extend Tracy's BlueScreen error pages by adding custom sections. The addPanel method accepts a closure that returns an array with 'tab' and 'panel' keys for the content. The 'bottom' key can be set to true to render the panel at the very bottom.
```php
Tracy\Debugger::getBlueScreen()->addPanel(function (?Throwable $e) {
// Called twice: first with exception, then with null
// First call renders at top, second call below call stack
return [
'tab' => 'Database Queries',
'panel' => '
Queries
' . implode("\n", $queries) . '
',
'bottom' => true, // render at very bottom
];
});
```
--------------------------------
### Configure PhpStorm Editor Integration
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Set the Tracy editor variable to use PhpStorm for opening files directly from error pages.
```php
// PhpStorm
Tracy\Debugger::$editor = 'phpstorm://open?file=%file&line=%line';
```
--------------------------------
### Run Tests in Specific Directory
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Execute all tests located within a specified directory. The -s flag is used for running tests.
```bash
vendor/bin/tester tests/Dumper/ -s
```
--------------------------------
### Set Tracy Development/Production Mode Directly
Source: https://github.com/nette/tracy/blob/master/readme.md
Explicitly set Tracy to development or production mode using predefined constants. This overrides automatic environment detection.
```php
Debugger::enable(Debugger::Development);
```
```php
Debugger::enable(Debugger::Production);
```
--------------------------------
### Dump Variables with Tracy
Source: https://github.com/nette/tracy/blob/master/readme.md
Use the `dump()` function to display variable contents with HTML formatting. Replace `var_dump` for better output. The `Debugger::dump()` alternative is also available.
```php
$arr = [10, 20.2, true, null, 'hello'];
dump($arr);
// or Debugger::dump($arr);
```
--------------------------------
### Measure Multiple Time Intervals
Source: https://github.com/nette/tracy/blob/master/readme.md
Achieve multiple measurements simultaneously by providing an optional parameter to `Debugger::timer()`. This allows tracking different code sections independently.
```php
Debugger::timer('page-generating');
// some code
Debugger::timer('rss-generating');
// some code
$rssElapsed = Debugger::timer('rss-generating');
$pageElapsed = Debugger::timer('page-generating');
```
--------------------------------
### Configure VS Code Editor Integration
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Set the Tracy editor variable to use VS Code for opening files directly from error pages.
```php
// VS Code
Tracy\Debugger::$editor = 'vscode://file/%file:%line';
```
--------------------------------
### Manual AJAX Monitoring with Fetch API
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Manually monitor AJAX requests using the fetch API by including specific headers.
```javascript
fetch(url, {
headers: {
'X-Requested-With': 'XMLHttpRequest',
'X-Tracy-Ajax': Tracy.getAjaxHeader(),
}
})
```
--------------------------------
### Lint JavaScript Assets
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Check JavaScript files for style and quality issues. The 'lint:fix' command attempts to automatically correct them.
```bash
npm run lint
```
```bash
npm run lint:fix
```
--------------------------------
### Log Custom Messages and Exceptions with Tracy
Source: https://github.com/nette/tracy/blob/master/readme.md
Use `Debugger::log()` to record custom text messages or caught exceptions to the log. Optionally, specify the error level and trigger an email notification.
```php
Debugger::log('Unexpected error'); // text message
```
```php
try {
criticalOperation();
} catch (Exception $e) {
Debugger::log($e); // log exception
// or
Debugger::log($e, Debugger::ERROR); // also sends an email notification
}
```
--------------------------------
### Configure Error Reporting Level in Tracy
Source: https://github.com/nette/tracy/blob/master/readme.md
Set the strict mode to control which errors are displayed. Use `true` to display all errors, or a bitmask to exclude specific error types like deprecation notices.
```php
Debugger::$strictMode = true; // display all errors
Debugger::$strictMode = E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED; // all errors except deprecated notices
```
--------------------------------
### Define Custom Scrubber for Sensitive Data
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Prevent sensitive data like passwords or tokens from being dumped by Tracy. Define a scrubber callback function that returns true if the key-value pair should be hidden. Assign this callback to Debugger::getBlueScreen()->scrubber.
```php
// Prevent dumping password values
$scrubber = function(string $key, $value, ?string $class): bool {
return preg_match('#password|secret|token#i', $key) && $value !== null;
};
Tracy\Debugger::getBlueScreen()->scrubber = $scrubber;
```
--------------------------------
### Configure Tracy Email Notifications
Source: https://github.com/nette/tracy/blob/master/readme.md
Specify the email address to which Tracy should send notifications for new error records. This ensures prompt awareness of issues.
```php
Debugger::$email = 'admin@example.com';
```
--------------------------------
### Configure Tracy Log Severity
Source: https://github.com/nette/tracy/blob/master/readme.md
Define the severity of PHP errors that Tracy should log with detailed information. This allows fine-grained control over which notices and warnings are recorded.
```php
Debugger::$logSeverity = E_NOTICE | E_WARNING;
```
--------------------------------
### Echo Elapsed Time
Source: https://github.com/nette/tracy/blob/master/readme.md
Retrieve and echo the elapsed time of a running timer by calling `Debugger::timer()` again. This is useful for displaying execution times.
```php
Debugger::timer(); // runs the timer
... // some time-consuming operation
echo Debugger::timer(); // elapsed time in seconds
```
--------------------------------
### Disable Tracy Bar
Source: https://github.com/nette/tracy/blob/master/readme.md
If you do not wish to display the Tracy Bar on your pages, you can disable it by setting the static property Debugger::$showBar to false.
```php
Debugger::$showBar = false;
```
--------------------------------
### Disable Tracy AJAX Capture
Source: https://github.com/nette/tracy/blob/master/CLAUDE.md
Set this JavaScript variable to false to disable automatic AJAX request capture by Tracy.
```javascript
window.TracyAutoRefresh = false;
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.