PHPackages                             forrest79/tracy-remotebar - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. forrest79/tracy-remotebar

ActiveLibrary[Debugging &amp; Profiling](/categories/debugging)

forrest79/tracy-remotebar
=========================

Show Tracy bars from API, cli or classic web requests on a separate remote client.

v2.4.0(2mo ago)267BSD-3-ClausePHPPHP ^8.3CI passing

Since Jan 7Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/forrest79/tracy-remotebar)[ Packagist](https://packagist.org/packages/forrest79/tracy-remotebar)[ RSS](/packages/forrest79-tracy-remotebar/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (11)Versions (9)Used By (0)

Tracy - Remote bar
==================

[](#tracy---remote-bar)

[![Latest Stable Version](https://camo.githubusercontent.com/0a898927ae3e83067ce611a5a33e9ff79255e09ccf9521a3c36b04e664ff9ad3/68747470733a2f2f706f7365722e707567782e6f72672f666f727265737437392f74726163792d72656d6f74656261722f76)](//packagist.org/packages/forrest79/tracy-remotebar)[![Monthly Downloads](https://camo.githubusercontent.com/71d024989bf4af9150dbf2a5ae180a34c7af70719d797f59aa8763e1a4bf8863/68747470733a2f2f706f7365722e707567782e6f72672f666f727265737437392f74726163792d72656d6f74656261722f642f6d6f6e74686c79)](//packagist.org/packages/forrest79/tracy-remotebar)[![License](https://camo.githubusercontent.com/af6307c8b8e2d5fc3f2e9625343f30d502a87e8a09bd18c423ac0d16fc6f2ea6/68747470733a2f2f706f7365722e707567782e6f72672f666f727265737437392f74726163792d72656d6f74656261722f6c6963656e7365)](//packagist.org/packages/forrest79/tracy-remotebar)[![Build](https://github.com/forrest79/tracy-remotebar/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/forrest79/tracy-remotebar/actions/workflows/build.yml)

Introduction
------------

[](#introduction)

Remote bar renders Tracy bars not to a web page but to a separate browser tab or Chrome Dev tab.

Benefits:

- you can see Tracy bar from non-HTML request (API)
- you can see Tracy bar for cli (even tests)
- you can see old Tracy bar
- exceptions in AJAX calls are also rendered remotely, and you can still use the source page without refreshing it

[![Watch the video how remote bars work](https://github.com/forrest79/tracy-remotebar/raw/master/tracy-remotebar.gif)](https://www.youtube.com/watch?v=QlfuULJbgFw)

[Watch the video how remote bars work on YouTube](https://www.youtube.com/watch?v=ELMyJ9pygCk)

Comments, bug reports, PRs and ideas are welcome!

Installation
------------

[](#installation)

To use this extension, require it in [Composer](https://getcomposer.org/):

```
composer require --dev forrest79/tracy-remotebar

```

> Use this extension only in your DEV environment! Using in a production environment is possible, but at your own risk.

How does it work?
-----------------

[](#how-does-it-work)

Remote bars uses a running standalone HTTP server that collects bars and also have a simple HTML interface to show them.

Classic Tracy can't handle this, so there is a little bit of hacking (to use private functions) and code coping from the original Tracy.

By enabling this extension, bars on the original Tracy are disabled. Then bar HTML is collected in the separated shutdown handler and send to the server where it is saved to the file and simple client loads HTML this files, and renders it to the separate iframes.

This package should only be in the `require-dev` section, so on the production, you still have the original Tracy.

> There is created directory `tracy-remote-bar` in your system temp directory, where the HTML is saved.

How to use it?
--------------

[](#how-to-use-it)

There must be server running. You can use PHP internal HTTP server via `vendor/bin/run-tracy-remote-bar-server [port=7979] [ip=0.0.0.0]`(this will run server on all interfaces on port 7979 - to see the bars, open ) or you can create nginx/Apache virtual host pointed to `src/Server/public`.

This is the sample configuration for nginx:

```
server {
    listen 80;

    server_name tracy.test;

    root /vendor/forrest79/tracy-remotebar/src/Server/public;

    index index.php;

    client_max_body_size 100M;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~* \.php$ {
        include snippets/fastcgi-php.conf;

        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param DOCUMENT_ROOT $document_root;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

```

> `client_max_body_size` is important, bar HTML code is sending via POST method in body, and the HTML can be big

Use the correct path in the `root`. You need also host `tracy.test` pointing to your server, and then you can open in your browser `http://tracy.test`.

In your application DI configuration, add this:

```
extensions:
    tracyRemoteBar: Forrest79\TracyRemoteBar\Bridges\Nette\TracyRemoteBarExtension

tracyRemoteBar:
    enabled: true # default is false
    serverUrl: http://127.0.0.1:7979 # or http://tracy.test or null
    #curlConnectTimeout: 1 # default value
    #curlTimeout: 1 # default value
```

> If you're running your app and Tracy RemoveBar server on the same "filesystem", you can set `serverUrl` to null and then bars are directly saved to the data file and not transmitted via local network.

And that's it. Refresh your app page or run something from the cli, and you should see bar in the client page.

If not, there is a log file `tracy-remote-bar.log` in your logs directory (if it's set on `Tracy\Debugger::logsDir`, otherwise simple `echo` is used), where you can see what goes wrong.

You can also activate remote rendering manually:

```
Forrest79\TracyRemoteBar\Remote::enable('http://127.0.0.1:7979'); // or http://tracy.test
```

> `Tracy\Debugger` must be enabled before `Forrest79\TracyRemoteBar\Remote::enable()` is call, otherwise enabling is ignored.

And there are also some useful methods:

```
Forrest79\TracyRemoteBar\Remote::setCurlTimeouts(...); // if your server is slow, you can adjust cURL timeouts...
Forrest79\TracyRemoteBar\Remote::dispatchBars(); // this is usefull for long running services in cli - calling this immediately send bars to the server and you can do it many times during one execution (just be aware that some bars can grow because they are not reset)
```

Developer extension
-------------------

[](#developer-extension)

There is a simple developer extension (tested in Chrome):

- open `Manage extensions`
- activate developer mode
- click `Load unpacked`
- choose `vendor/forrest79/tracy-remotebar/chrome-dev-panel`

Now you have a new tab in your developer tools. In the settings, enter the correct server URL.

Example app
-----------

[](#example-app)

In this repository (not in the package installed via composer) is a simple example application where you can test everything this package can handle.

Run `composer update` in `example/app` directory (this probably won't run on Windows, because of symlinks).

Use internal PHP HTTP server via `example/run-app [port=8000] [ip=0.0.0.0]` or create nginx/Apache virtual host:

Sample nginx configuration for host `tracy.app.test` (use the correct `root` path):

```
server {
    listen 80;

    server_name tracy.app.test;

    root /example/app/public;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~* \.php$ {
        include snippets/fastcgi-php.conf;

        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param DOCUMENT_ROOT $document_root;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

```

Default server URL is `http://127.0.0.1:7979`, to change it, create file `example/app/config/local.neon` with:

```
parameters:
    remoteServerUrl: http://tracy.test
```

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance85

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~58 days

Recently: every ~102 days

Total

8

Last Release

75d ago

Major Versions

v1.0.1 → v2.0.02025-01-09

PHP version history (2 changes)v1.0.0PHP ^8.1

v2.3.0PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/d979cd353c6593b44b50f90ff5a5eb4be224f501a70f7cce89d0735867e488e5?d=identicon)[forrest79](/maintainers/forrest79)

---

Top Contributors

[![forrest79](https://avatars.githubusercontent.com/u/160766?v=4)](https://github.com/forrest79 "forrest79 (53 commits)")

---

Tags

remotebartracy

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/forrest79-tracy-remotebar/health.svg)

```
[![Health](https://phpackages.com/badges/forrest79-tracy-remotebar/health.svg)](https://phpackages.com/packages/forrest79-tracy-remotebar)
```

###  Alternatives

[recca0120/laravel-tracy

A Laravel Package to integrate Nette Tracy Debugger

388283.0k3](/packages/recca0120-laravel-tracy)[milo/vendor-versions

Bar with versions list of vendor libraries for Tracy

19155.1k5](/packages/milo-vendor-versions)[vasek-purchart/tracy-blue-screen-bundle

This bundle lets you use the Tracy's debug screen in combination with the the default profiler in your Symfony application.

1177.6k](/packages/vasek-purchart-tracy-blue-screen-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
