• Log inFree account

newrelic_is_sampled

Syntax

newrelic_is_sampled()

Returns a value indicating whether or not the current transaction is marked as sampled.

Requirements

Requires PHP agent version 9.3 or higher.

Must be called inside a transaction.

Description

Returns a value indicating whether or not the current transaction is marked as sampled.

Return values

Returns true if distributed tracing is enabled, and the current transaction is marked as sampled, otherwise false.

Examples

Populate B3 Headers for use with Zipkin

Adds necessary distributed tracing metadata to the HTTP headers being sent to a Zipkin consumer:

function make_http_request($url) {
$metadata = newrelic_get_trace_metadata();
$sampled = newrelic_is_sampled();
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-B3-TraceId: ' . $metadata['trace_id'],
'X-B3-SpanId: ' . substr(uniqid() . uniqid(), 0, 16),
'X-B3-ParentSpanId: ' . $metadata['span_id'],
'X-B3-Sampled: ' . $sampled));
return curl_exec($ch);
}
$status = make_http_request("zipkin-consumer.example");
Copyright © 2022 New Relic Inc.