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");