PHPackages                             micro-module/observability-bundle - 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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. micro-module/observability-bundle

ActiveSymfony-bundle[Logging &amp; Monitoring](/categories/logging)

micro-module/observability-bundle
=================================

OpenTelemetry observability bundle with conditional subsystem loading for Symfony applications

v0.1.0(3mo ago)01.7k1proprietaryPHPPHP ^8.4

Since Mar 30Pushed 3mo agoCompare

[ Source](https://github.com/temafey/micro_modules_observability_bundle)[ Packagist](https://packagist.org/packages/micro-module/observability-bundle)[ RSS](/packages/micro-module-observability-bundle/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (22)Versions (2)Used By (1)

MicroModule Observability Bundle
================================

[](#micromodule-observability-bundle)

OpenTelemetry observability bundle for Symfony applications with conditional subsystem loading.

Features
--------

[](#features)

- **Core**: TracerFactory + MeterFactory for OpenTelemetry instrumentation
- **Doctrine**: DBAL query tracing middleware
- **AMQP**: RabbitMQ producer/consumer span propagation
- **Broadway**: EventBus/EventStore decorator tracing
- **Redis**: Operation tracing with cache hit/miss tracking
- **Profiling**: Pyroscope continuous profiling
- **Circuit Breaker**: Ganesha-based protection for OTel exporters
- **Command Bus**: Tactician middleware tracing

Each subsystem is independently toggleable and only loaded when its dependencies are present.

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

[](#installation)

```
composer require micro-module/observability-bundle
```

Configuration
-------------

[](#configuration)

```
# config/packages/micro_observability.yaml
micro_observability:
    service_name: "my-service"        # required
    service_version: "1.0.0"

    doctrine:
        enabled: true                  # requires doctrine/dbal
        connections: [default]

    amqp:
        enabled: true                  # requires micro-module/enqueue

    broadway:
        enabled: true                  # requires broadway/broadway

    redis:
        enabled: true                  # requires ext-redis

    profiling:
        enabled: false
        pyroscope_endpoint: "http://pyroscope:4040"

    circuit_breaker:
        enabled: true                  # requires ackintosh/ganesha
        failure_threshold: 50
        time_window_seconds: 30
        minimum_requests: 3
        interval_to_half_open_seconds: 10

    command_bus:
        enabled: true                  # requires league/tactician

    logging:
        enabled: true                  # Monolog trace context

    flusher:
        enabled: true                  # Metrics/log flusher
```

Conditional Loading
-------------------

[](#conditional-loading)

Each subsystem checks both the `enabled` config flag AND whether its dependencies are installed:

```
// Example: Doctrine tracing only loads if BOTH conditions are true
if ($config['doctrine']['enabled'] && class_exists(\Doctrine\DBAL\Driver\Middleware::class)) {
    $container->import('../config/doctrine.php');
}
```

This means you can safely enable all subsystems — those without installed dependencies are silently skipped.

License
-------

[](#license)

Proprietary

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance82

Actively maintained with recent releases

Popularity21

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

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

Unknown

Total

1

Last Release

91d ago

### Community

Maintainers

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

---

Top Contributors

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

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleECS

Type Coverage Yes

### Embed Badge

![Health badge](/badges/micro-module-observability-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/micro-module-observability-bundle/health.svg)](https://phpackages.com/packages/micro-module-observability-bundle)
```

PHPackages © 2026

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