PHPackages                             colindecarlo/jank-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. colindecarlo/jank-profiler

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

colindecarlo/jank-profiler
==========================

A profiler for when you don't want to figure out profilers.

0.2.0(11y ago)0222MITPHPPHP &gt;=5.6.0

Since Feb 28Pushed 11y ago1 watchersCompare

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

READMEChangelogDependenciesVersions (4)Used By (0)

Jank Profiler
=============

[](#jank-profiler)

For when you don't want to figure out actual profilers.

Use Jank Profiler to wrap individual objects in your application to track memory usage and execution time of method calls belonging to that objects public api.

Usage
-----

[](#usage)

Let's say you have some code in your application that looks like this:

```
$myQuestionableObject = new WhompWhompDoDad(['thinger_option_x' => true]);
$whompTimes = 3;
$myQuestionableObject->whomp($whompTimes);
$myQuestionableObjecct->doDad();
```

you can jank profile the `WhompWhompDoDad` instance like this:

```
$myQuestionableObject = new JankProfiler('WhompWhompDoDad', [['thinger_option_x' => true]]);
$whompTimes = 3;
$myQuestionableObject->whomp($whompTimes);
$myQuestionableObjecct->doDad();

echo $myQuestionableObject->report('json') . "\n"; exit;
```

This will produce JSON output similar to:

```
[
    {
        "type": "construct",
        "meta": {
            "classname": "WhompWhompDoDad",
            "constructor_args": [
                {
                    "thinger_option_x":  true
                }
            ]
        },
        "memory_before": 464280,
        "start_time": 1425158122.1155,
        "memory_after": 477968,
        "end_time": 1425158122.116
    },
    {
        "type": "method call",
        "meta": {
            "method": "whomp",
            "arguments": [
                3
            ]
        },
        "start_time": 1425158122.116,
        "memory_before": 479896,
        "end_time": 1425158122.116,
        "memory_after": 480312
    },
    {
        "type": "method call",
        "meta": {
            "method": "doDad",
            "arguments": []
        },
        "start_time": 1425158122.116,
        "memory_before": 481976,
        "end_time": 1425158122.116,
        "memory_after": 482344
    }
]

```

Pretty neat!

Author
------

[](#author)

Colin DeCarlo,

License
-------

[](#license)

Jank Profiler is licensed under the MIT License - see the LICENSE file for details

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66.7% 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 ~3 days

Total

3

Last Release

4081d ago

### Community

Maintainers

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

---

Top Contributors

[![colindecarlo](https://avatars.githubusercontent.com/u/682860?v=4)](https://github.com/colindecarlo "colindecarlo (6 commits)")[![dansoppelsa](https://avatars.githubusercontent.com/u/933435?v=4)](https://github.com/dansoppelsa "dansoppelsa (2 commits)")[![adamwathan](https://avatars.githubusercontent.com/u/4323180?v=4)](https://github.com/adamwathan "adamwathan (1 commits)")

---

Tags

profileyolojank

### Embed Badge

![Health badge](/badges/colindecarlo-jank-profiler/health.svg)

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

###  Alternatives

[symfony/stopwatch

Provides a way to profile code

2.8k387.2M914](/packages/symfony-stopwatch)[fruitcake/laravel-debugbar

PHP Debugbar integration for Laravel

19.1k662.9k28](/packages/fruitcake-laravel-debugbar)[spatie/ignition

A beautiful error page for PHP applications.

510147.6M69](/packages/spatie-ignition)[laracraft-tech/laravel-xhprof

Easy XHProf setup to profile your laravel application!

235321.4k](/packages/laracraft-tech-laravel-xhprof)[koriym/printo

An object graph visualizer.

1421.8M2](/packages/koriym-printo)[soloterm/dumps

A Laravel command to intercept dumps from your Laravel application.

125285.7k3](/packages/soloterm-dumps)

PHPackages © 2026

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