PHPackages                             satmaelstorm/ts-profiler - 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. satmaelstorm/ts-profiler

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

satmaelstorm/ts-profiler
========================

Tiny and simple profiler

1.2.1(7y ago)09.7k↓87.5%MITPHPPHP &gt;=7.0.0

Since Apr 22Pushed 7y agoCompare

[ Source](https://github.com/satmaelstorm/TSProfiler)[ Packagist](https://packagist.org/packages/satmaelstorm/ts-profiler)[ RSS](/packages/satmaelstorm-ts-profiler/feed)WikiDiscussions master Synced 3w ago

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

TSProfiler
==========

[](#tsprofiler)

Tiny and Simple PHP-runtime Profiler

This component allows you to profile the code directly in the production environment.

You can use it as a Singleton:

```
$profiler = ProfilerSingletone::getInstance();
```

Also, if you want disable profiling at this time, you can use:

```
$profiler = ProfilerSingletone::getInstance(false);
```

So, if you don't want use Singleton, you can use:

```
$profiler = new Profiler();
```

or

```
$profiler = new Profiler(false);
```

when you don't need profiler at this time

This case very useful, when you want to use TSProfiler as Symfony service, or in another framework, which will ensure the uniqueness of the existence of a class instance.

For profiling, trackers are created using the addTracker method. Each tracker can store data in its own way. The profiling data will save the class that implements the ShutdownInterface interface. You can write any plug-in - save with sql-server, file, Monolog or some other way.

```
$tracker = $profiler->addTracker($name, $saver);
```

If you want disable this tracker at this time:

```
$tracker = $profiler->addTracker($name, $saver, false);
```

Example with CSVSaver class:

```
$tracker = $profiler->addTracker(
    'csvTracker',
    new \satmaelstorm\TSProfiler\TSProfilerShutdown\CSVSaver('\tmp');
                                );
```

After creating the tracker, you wrap the profiled lines using the startJob and stopJob methods of the tracker.

```
$tracker->startJob('jobName');
//profiled code
$tracker->stopJob('jobName');
```

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity63

Established project with proven stability

 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 ~120 days

Recently: every ~181 days

Total

7

Last Release

2625d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/22241574?v=4)[Vladislav S](/maintainers/satmaelstorm)[@satmaelstorm](https://github.com/satmaelstorm)

---

Top Contributors

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

---

Tags

profiler

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/satmaelstorm-ts-profiler/health.svg)

```
[![Health](https://phpackages.com/badges/satmaelstorm-ts-profiler/health.svg)](https://phpackages.com/packages/satmaelstorm-ts-profiler)
```

###  Alternatives

[barryvdh/laravel-debugbar

PHP Debugbar integration for Laravel

19.2k130.0M719](/packages/barryvdh-laravel-debugbar)[fruitcake/laravel-debugbar

PHP Debugbar integration for Laravel

19.2k1.7M55](/packages/fruitcake-laravel-debugbar)[php-debugbar/php-debugbar

Debug bar in the browser for php application

4.4k26.7M61](/packages/php-debugbar-php-debugbar)[tracy/tracy

😎 Tracy: the addictive tool to ease debugging PHP code for cool developers. Friendly design, logging, profiler, advanced features like debugging AJAX calls or CLI support. You will love it.

1.8k25.1M1.4k](/packages/tracy-tracy)[fruitcake/laravel-telescope-toolbar

Toolbar for Laravel Telescope based on Symfony Web Profiler

8061.7M5](/packages/fruitcake-laravel-telescope-toolbar)[vpietri/adm-quickdevbar

QuickDevBar is a developer toolbar for magento 2

577356.6k](/packages/vpietri-adm-quickdevbar)

PHPackages © 2026

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