---
title: newrelic_is_sampled
source: https://docs.newrelic.com/docs/apm/agents/php-agent/php-agent-api/newrelicissampled
---

## Syntax

```php
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](https://docs.newrelic.com/docs/release-notes/agent-release-notes/php-release-notes).

Must be called inside a [transaction](https://docs.newrelic.com/docs/accounts-partnerships/education/getting-started-new-relic/glossary#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:

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