sarigue/curlmetry

OpenTelemetry Client (SigNoz compatible) for PHP 5.6

v1.0.0 2025-04-20 23:27 UTC

This package is auto-updated.

Last update: 2025-04-20 23:28:41 UTC


README

Curlmetry logo

Curlmetry

๐ŸŒ€ PSR-18 / PSR-7 OpenTelemetry trace exporter for PHP 5.6 โ€” powered by curl

PHP PSR OpenTelemetry SigNoz License: Apache 2.0

Curlmetry is a lightweight tracing library for legacy PHP applications (5.6+).
It exports spans to SigNoz or Jaeger via HTTP, and provides a native PSR-18 client using plain curl.

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

โœจ 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

composer require sarigue/curlmetry

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

๐Ÿš€ 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

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

๐Ÿ›  Roadmap

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

๐Ÿ“ License

Apache 2.0 โ€” ยฉ 2025 Sarigue