PHPackages                             sarigue/curlmetry - 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. sarigue/curlmetry

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

sarigue/curlmetry
=================

OpenTelemetry Client (SigNoz compatible) for PHP 5.6

v1.0.0(1y ago)02[1 issues](https://github.com/sarigue/curlmetry/issues)Apache-2.0PHPPHP &gt;=5.6

Since Apr 21Pushed 1y ago1 watchersCompare

[ Source](https://github.com/sarigue/curlmetry)[ Packagist](https://packagist.org/packages/sarigue/curlmetry)[ RSS](/packages/sarigue-curlmetry/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (7)Versions (2)Used By (0)

 [![Curlmetry logo](curlmetry.png)](curlmetry.png)

Curlmetry
=========

[](#curlmetry)

> 🌀 PSR-18 / PSR-7 OpenTelemetry trace exporter for PHP 5.6 — powered by curl

[![PHP](https://camo.githubusercontent.com/143eae3480e54582730f763b47f460f13d0d488290118819d6cc64ce1efd3082/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d352e362b2d3737374242343f6c6f676f3d706870266c6f676f436f6c6f723d7768697465)](https://www.php.net/releases/5_6_0.php)[![PSR](https://camo.githubusercontent.com/45abf11790ba6c5df7133ffc62780d0ae9cb8e8ccd96f9f7068bb3e5abfac9a8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5053522d3725324631385f636f6d706c69616e742d7465616c)](https://www.php-fig.org/)[![OpenTelemetry](https://camo.githubusercontent.com/9e61cdd00f0b9cf4459b2092bf110fc7c4ccb630d315777b87d296f727667875/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f70656e54656c656d657472792d636f6d70617469626c652d3645344146463f6c6f676f3d6f70656e74656c656d65747279266c6f676f436f6c6f723d7768697465)](https://opentelemetry.io/)[![SigNoz](https://camo.githubusercontent.com/5475907f9a5d883235230d6b796c92a7b39b338eccfa81fbedc16804a71cb2e1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5369674e6f7a2d456e61626c65642d4646344334433f6c6f676f3d7369676e6f7a266c6f676f436f6c6f723d7768697465)](https://signoz.io/)[![License: Apache 2.0](https://camo.githubusercontent.com/53aec1ae7394521e2af38df6c1560d97fcb8152f5edd45d87563432eed72bf7a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d417061636865253230322e302d626c7565)](LICENSE)

---

**Curlmetry** is a lightweight tracing library for legacy PHP applications (5.6+).
It exports spans to [SigNoz](https://signoz.io/) or [Jaeger](https://www.jaegertracing.io/) via HTTP, and provides a native PSR-18 client using plain `curl`.

No Guzzle. No Symfony. No Composer autoload hell. Just PSR + curl.

---

✨ Features
----------

[](#-features)

- 📦 PSR-18 client (native curl-based)
- 📡 Exports spans to:
    - OTLP (SigNoz via HTTP JSON)
    - Jaeger (via `/api/traces`)
- 🔧 Span / Tracer / Scope system (OpenTelemetry-style)
- 🧵 Context management (`attach()`, `detach()`, `Scope`)
- 🕵️ Exception + status reporting
- 🐘 Works with **PHP 5.6**

---

📦 Installation
--------------

[](#-installation)

```
composer require sarigue/curlmetry
```

> Or just clone and `require 'vendor/autoload.php';`

---

🚀 Example: OTLP export
----------------------

[](#-example-otlp-export)

```
use Curlmetry\Tracer;
use Curlmetry\Exporter\OtlpExporter;
use Curlmetry\Processor\SimpleSpanProcessor;

$exporter = new OtlpExporter('http://localhost:4318/v1/traces');
$processor = new SimpleSpanProcessor($exporter, 'curlmetry-demo');
$tracer = new Tracer($processor);

$tracer->startActiveSpan('http.request', function ($span) {
    $span->setAttribute('http.method', 'GET');
    $span->addEvent('processing', ['step' => 'controller']);
    usleep(5000);
});
```

---

🌐 PSR-18 usage
--------------

[](#-psr-18-usage)

```
use Curlmetry\Psr\CurlHttpClient;
use Curlmetry\Psr\Request;

$client = new CurlHttpClient();

$request = new Request(
    'POST',
    'http://localhost:4318/v1/traces',
    ['Content-Type' => ['application/json']],
    json_encode(['resourceSpans' => [...]])
);

$response = $client->sendRequest($request);
echo $response->getStatusCode();
```

---

📚 Docs
------

[](#-docs)

- [demo.php](demo.php) — standard usage
- [demo-psr.php](demo-psr.php) — manual PSR request
- [demo-jaeger.php](demo-jaeger.php) — Jaeger JSON exporter

---

🛠 Roadmap
---------

[](#-roadmap)

- OTLP export (HTTP JSON)
- Jaeger export
- PSR-18 Curl client
- Scope context
- Trace context propagation (W3C)
- Batch processor
- Middleware integration

---

📝 License
---------

[](#-license)

Apache 2.0 — © 2025 [Sarigue](https://www.githyb.com/sarigue)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance47

Moderate activity, may be stable

Popularity2

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

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

393d ago

### Community

Maintainers

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

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/sarigue-curlmetry/health.svg)

```
[![Health](https://phpackages.com/badges/sarigue-curlmetry/health.svg)](https://phpackages.com/packages/sarigue-curlmetry)
```

###  Alternatives

[open-telemetry/sdk

SDK for OpenTelemetry PHP.

2222.9M248](/packages/open-telemetry-sdk)[pagemachine/typo3-formlog

Form log for TYPO3

23225.3k6](/packages/pagemachine-typo3-formlog)[vinelab/tracing-laravel

Distributed tracing for Laravel made easy

80118.7k1](/packages/vinelab-tracing-laravel)[illuminated/console-logger

Logging and Notifications for Laravel Console Commands.

8674.9k](/packages/illuminated-console-logger)[open-telemetry/opentelemetry-auto-wordpress

OpenTelemetry auto-instrumentation for Wordpress

17166.0k](/packages/open-telemetry-opentelemetry-auto-wordpress)

PHPackages © 2026

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