Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Elastic Apm Php Agent Laravel Package

nipwaayoni/elastic-apm-php-agent

Laravel-friendly Elastic APM PHP agent for instrumenting apps and sending performance data, errors, and transactions to an Elastic APM Server. Helps monitor response times, slow queries, and exceptions with simple setup and configurable reporting.

View on GitHub
Deep Wiki
Context7

Distributed Tracing

Distributed tracing allows Elastic APM to associate sub-transactions from other systems which are involved in fullfilling a transaction with a primary system. For example, your web application may call multiple other systems via REST when responding to a request for a web page. Your web application transaction can record a span representing the HTTP request to a REST resource, but cannot directly know how that request is fulfilled. If the remove REST service also records application data to APM, distributed tracing allows APM to associate the two requests when you view the parent.

Screenshots

Dashboard

You enable distributed tracing by including a traceparent header containing an appropriate ID when you request another resource. Elastic APM has adopted the W3C TraceContext for this purpose.

TraceableEvent objects (Transaction and Span objects) provide helper methods to assist in constructing the required traceparent header.

Example Code

// Assume we have an existing transaction, and let it help us

// Get a string if using something like curl
$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL            => 'http://127.0.0.1:5001',
    CURLOPT_HTTPHEADER     => [$transaction->traceHeaderAsString()],
]);

// Or use a \Psr\Http\Message\RequestInterface compatible object
$request = new \GuzzleHttp\Psr7\Request('GET', 'https://example.com');

// Get an array representation
$headerParts = $transaction->traceHeaderAsArray();
$request = $request->withHeader($headerParts['name'], $headerParts['value']);

// Or let the event do the work on a RequestInterface
$request = $transaction->addTraceHeaderToRequest($request);
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle