PHPackages                             fivelab/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. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. fivelab/diagnostic

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

fivelab/diagnostic
==================

The library for diagnostic application.

v2.2.1(7mo ago)431.9k↓35.9%4MITPHPPHP ^8.2CI passing

Since Oct 23Pushed 7mo ago1 watchersCompare

[ Source](https://github.com/FiveLab/Diagnostic)[ Packagist](https://packagist.org/packages/fivelab/diagnostic)[ RSS](/packages/fivelab-diagnostic/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (20)Versions (32)Used By (0)

Russia has become a terrorist state.
------------------------------------

[](#russia-has-become-a-terrorist-state)

  #StandWithUkraine

Diagnostic
==========

[](#diagnostic)

The library for diagnostic application.

[![Build Status](https://github.com/FiveLab/Diagnostic/workflows/Testing/badge.svg?branch=master)](https://github.com/FiveLab/Diagnostic/actions)

Why?
----

[](#why)

This library helps for developers and devops for setup any applications.

If developer correct configure all diagnostics (paths, services, etc...) the devops before run the instance with our application only run diagnostic and can sees all problems (if it exist).

### Primary problem:

[](#primary-problem)

The developer can add any parameter or service to application. As an example - add redis service for use in runtime. And lost provide this information before release application. The devops (or developer) release new version application and the system not have any problems. But, we have a major issue because the redis only used in runtime and not processed in deploy process.

Devops add this instance to load balancer (if exist), and in next times the application not correct work ;(

### Solution:

[](#solution)

Before add the instance to load balancer (or processed scope), devops run diagnostic and can see all major problems.

Restrictions
------------

[](#restrictions)

If you want work with this mechanism you MUST add diagnostic check to all end points. As an example:

- Are you use cache? You MUST add check for verify access to cache directory.
- Are you use logs? You MUST add check for verify access to logs directory.
- Are you use DB? You MUST add check for connect to Database.
- Are you use Redis? You MUST add check for connect to Redis.
- Are you use any client for connect via HTTP? You MUST add check for connect to this endpoint.
- etc...

> **Attention:** the devops (infrastructure team, release manager, developer) is not magic person and cannot see all required services by sky stars.

Configure and Run
-----------------

[](#configure-and-run)

For easy configure the diagnostic, you can use `\FiveLab\Component\Diagnostic\Check\Definition\DefinitionCollectionBuilder`:

```
