google/cloud-trace

Stackdriver Trace Client for PHP

Package info

github.com/googleapis/google-cloud-php-trace

pkg:composer/google/cloud-trace

Statistics

Installs: 1 341 346

Dependents: 7

Suggesters: 0

Stars: 23

v2.0.0 2026-04-10 20:05 UTC

Requires

Suggests

  • ext-grpc: The gRPC extension enables use of the performant gRPC transport
  • ext-protobuf: Provides a significant increase in throughput over the pure PHP protobuf implementation. See https://cloud.google.com/php/grpc for installation instructions.
  • opencensus/opencensus: Provides application tracing integrations.

Provides

None

Conflicts

None

Replaces

None

Apache-2.0 bc7c3bd5f1458b3ffe02be13cfd6e57c9c6421f3

This package is auto-updated.

Last update: 2026-06-28 16:11:22 UTC


README

Idiomatic PHP client for Stackdriver Trace.

👁 Latest Stable Version
👁 Packagist

NOTE: This repository is part of Google Cloud PHP. Any support requests, bug reports, or development contributions should be directed to that project.

A distributed tracing system for Google Cloud Platform that collects latency data from App Engine applications and displays it in near real time in the Google Cloud Platform Console.

Installation

To begin, install the preferred dependency manager for PHP, Composer.

Now install this component:

$ composer require google/cloud-trace

This component supports both REST over HTTP/1.1 and gRPC. In order to take advantage of the benefits offered by gRPC (such as streaming methods) please see our gRPC installation guide.

Authentication

Please see our Authentication guide for more information on authenticating your client. Once authenticated, you'll be ready to start making requests.

Sample

use Google\ApiCore\ApiException;
use Google\Cloud\Trace\V2\Client\TraceServiceClient;
use Google\Cloud\Trace\V2\Span;
use Google\Cloud\Trace\V2\TruncatableString;
use Google\Protobuf\Timestamp;

// Create a client.
$traceServiceClient = new TraceServiceClient();

// Prepare the request message.
$displayName = new TruncatableString();
$startTime = new Timestamp();
$endTime = new Timestamp();
$request = (new Span())
 ->setName($name)
 ->setSpanId($spanId)
 ->setDisplayName($displayName)
 ->setStartTime($startTime)
 ->setEndTime($endTime);

// Call the API and handle any network failures.
try {
 /** @var Span $response */
 $response = $traceServiceClient->createSpan($request);
 printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
 printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}

See the OpenCensus documentation for more configuration options and features.

Debugging

Please see our Debugging guide for more information about the debugging tools.

Version

This component is considered GA (generally available). As such, it will not introduce backwards-incompatible changes in any minor or patch releases. We will address issues and requests with the highest priority.

Next Steps

  1. Understand the official documentation.
  2. Take a look at in-depth usage samples.