PHPackages                             yucadoo/bgy-neighborhoods-diagnostic - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. yucadoo/bgy-neighborhoods-diagnostic

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

yucadoo/bgy-neighborhoods-diagnostic
====================================

Error detection strategy for Boris Guéry's transient error handling using Neighborhoods' throwable diagnostic component.

0.0.1(5y ago)02MITPHPPHP ^7.3

Since Oct 18Pushed 5y agoCompare

[ Source](https://github.com/yucadoo/bgy-neighborhoods-diagnostic)[ Packagist](https://packagist.org/packages/yucadoo/bgy-neighborhoods-diagnostic)[ Docs](https://github.com/yucadoo/bgy-neighborhoods-diagnostic)[ RSS](/packages/yucadoo-bgy-neighborhoods-diagnostic/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

bgy-neighborhoods-diagnostic
============================

[](#bgy-neighborhoods-diagnostic)

[![Latest Version on Packagist](https://camo.githubusercontent.com/e3b54a1ea823e1d60e1ea4cda7dc43ea3c55c237ab4349359d839db9b6ed4c00/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f79756361646f6f2f6267792d6e65696768626f72686f6f64732d646961676e6f737469632e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/yucadoo/bgy-neighborhoods-diagnostic)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/8d4864624db4fa13dfee1d6baadf962b5f1b92aa94d61d7c398791a8c7b453d4/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f79756361646f6f2f6267792d6e65696768626f72686f6f64732d646961676e6f737469632f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/yucadoo/bgy-neighborhoods-diagnostic)[![Coverage Status](https://camo.githubusercontent.com/844c29afd4fd25c25a7f5b045573327e7c23935845c5baafdb2991330e2cc097/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f79756361646f6f2f6267792d6e65696768626f72686f6f64732d646961676e6f737469632e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/yucadoo/bgy-neighborhoods-diagnostic/code-structure)[![Quality Score](https://camo.githubusercontent.com/fb73017e87162d0a7e5ae989541af5f18cf6634d5011e775c8361502d670fbc4/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f79756361646f6f2f6267792d6e65696768626f72686f6f64732d646961676e6f737469632e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/yucadoo/bgy-neighborhoods-diagnostic)[![Total Downloads](https://camo.githubusercontent.com/8a5eee19b52b22419079e1ee0f23c4e31d5c98247dc5e338a36e400a20e3a1f3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f79756361646f6f2f6267792d6e65696768626f72686f6f64732d646961676e6f737469632e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/yucadoo/bgy-neighborhoods-diagnostic)

Error detection strategy for [Boris Guéry's transient error handling](https://github.com/borisguery/PHPTransientFaultHandling) using [Neighborhoods' throwable diagnostic component](https://github.com/neighborhoods/ThrowableDiagnosticComponent).

Install
-------

[](#install)

Via Composer

```
$ composer require yucadoo/bgy-neighborhoods-diagnostic
```

Usage
-----

[](#usage)

```
use Bgy\TransientFaultHandling\RetryPolicy;
use Bgy\TransientFaultHandling\RetryStrategies\FixedInterval;
use YucaDoo\BgyNeighborhoodsDiagnostic\ExceptionDetectionStrategy as NeighborhoodsErrorDetectionStrategy;

/**
 * Obtain a preconfigured ThrowableDiagnostic builder factory.
 * You can use Symfony DI as explained in Neighborhoods' throwable diagnostic component.
 */
$throwableDiagnosticBuilderFactory = $container->get('ThrowableDiagnosticBuilderFactoryWithTailoredDecoratorStack');

$neighborhoodsErrorDetectionStrategy = new NeighborhoodsErrorDetectionStrategy();
$neighborhoodsErrorDetectionStrategy->setThrowableDiagnosticBuilderFactory($throwableDiagnosticBuilderFactory);

// Compose retry policy
$retryCount = 10;
$retryIntervalInMicroseconds = 1000000 // 1 sec
$retryStrategy = new FixedInterval($retryCount, $retryIntervalInMicroseconds);
$retryPolicy = new RetryPolicy($neighborhoodsErrorDetectionStrategy, $retryStrategy);

$retryPolicy->execute(function() {
    // API calls
    // Database calls
});
```

Testing
-------

[](#testing)

```
$ composer test
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) and [CODE\_OF\_CONDUCT](CODE_OF_CONDUCT.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Hrvoje Jukic](https://github.com/yucadoo)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 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

Unknown

Total

1

Last Release

2032d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9c6e704cc57891bf1868f1afa8fda7068d53ba7fafdaabc630fec179c517665c?d=identicon)[Firtzberg](/maintainers/Firtzberg)

---

Top Contributors

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

---

Tags

retrytransient faultyucadoo

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/yucadoo-bgy-neighborhoods-diagnostic/health.svg)

```
[![Health](https://phpackages.com/badges/yucadoo-bgy-neighborhoods-diagnostic/health.svg)](https://phpackages.com/packages/yucadoo-bgy-neighborhoods-diagnostic)
```

###  Alternatives

[vkartaviy/retry

The library for repeatable and retryable operations

29227.2k2](/packages/vkartaviy-retry)[tobion/retry

A generic library to retry an operation in case of an error. You can configure the behavior like the exceptions to retry on.

16396.8k](/packages/tobion-retry)[yriveiro/php-backoff

Simple backoff / retry functionality

2675.1k1](/packages/yriveiro-php-backoff)

PHPackages © 2026

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