Stackdriver Monitoring V3 Client - Class QueryServiceClient (1.9.0)

Reference documentation and code samples for the Stackdriver Monitoring V3 Client class QueryServiceClient.

Service Description: The QueryService API is used to manage time series data in Stackdriver Monitoring. Time series data is a collection of data points that describes the time-varying values of a metric.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods.

Namespace

Google \ Cloud \ Monitoring \ V3 \ Client

Methods

__construct

Constructor.

Parameters
NameDescription
options array

Optional. Options for configuring the service API wrapper.

↳ apiEndpoint string

The address of the API remote host. May optionally include the port, formatted as "

↳ credentials string|array|FetchAuthTokenInterface|CredentialsWrapper

The credentials to be used by the client to authorize API calls. This option accepts either a path to a credentials file, or a decoded credentials file as a PHP array. Advanced usage: In addition, this option can also accept a pre-constructed Google\Auth\FetchAuthTokenInterface object or Google\ApiCore\CredentialsWrapper object. Note that when one of these objects are provided, any settings in $credentialsConfig will be ignored.

↳ credentialsConfig array

Options used to configure credentials, including auth token caching, for the client. For a full list of supporting configuration options, see Google\ApiCore\CredentialsWrapper::build() .

↳ disableRetries bool

Determines whether or not retries defined by the client configuration should be disabled. Defaults to false.

↳ clientConfig string|array

Client method configuration, including retry settings. This option can be either a path to a JSON file, or a PHP array containing the decoded JSON data. By default this settings points to the default client config file, which is provided in the resources folder.

↳ transport string|TransportInterface

The transport used for executing network requests. May be either the string rest or grpc. Defaults to grpc if gRPC support is detected on the system. Advanced usage: Additionally, it is possible to pass in an already instantiated Google\ApiCore\Transport\TransportInterface object. Note that when this object is provided, any settings in $transportConfig, and any $apiEndpoint setting, will be ignored.

↳ transportConfig array

Configuration options that will be used to construct the transport. Options for each supported transport type should be passed in a key for that transport. For example: $transportConfig = [ 'grpc' => [...], 'rest' => [...], ]; See the Google\ApiCore\Transport\GrpcTransport::build() and Google\ApiCore\Transport\RestTransport::build() methods for the supported options.

↳ clientCertSource callable

A callable which returns the client cert as a string. This can be used to provide a certificate and private key to the transport layer for mTLS.

queryTimeSeries

Queries time series using Monitoring Query Language. This method does not require a Workspace.

The async variant is Google\Cloud\Monitoring\V3\Client\QueryServiceClient::queryTimeSeriesAsync() .

Parameters
NameDescription
request Google\Cloud\Monitoring\V3\QueryTimeSeriesRequest

A request to house fields associated with the call.

callOptions array

Optional.

↳ retrySettings RetrySettings|array

Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage.

Returns
TypeDescription
Google\ApiCore\PagedListResponse
Example
use Google\ApiCore\ApiException;
use Google\ApiCore\PagedListResponse;
use Google\Cloud\Monitoring\V3\Client\QueryServiceClient;
use Google\Cloud\Monitoring\V3\QueryTimeSeriesRequest;
use Google\Cloud\Monitoring\V3\TimeSeriesData;

/**
 * @param string $name  The [project](https://cloud.google.com/monitoring/api/v3#project_name) on
 *                      which to execute the request. The format is:
 *
 *                      projects/[PROJECT_ID_OR_NUMBER]
 * @param string $query The query in the [Monitoring Query
 *                      Language](https://cloud.google.com/monitoring/mql/reference) format.
 *                      The default time zone is in UTC.
 */
function query_time_series_sample(string $name, string $query): void
{
    // Create a client.
    $queryServiceClient = new QueryServiceClient();

    // Prepare the request message.
    $request = (new QueryTimeSeriesRequest())
        ->setName($name)
        ->setQuery($query);

    // Call the API and handle any network failures.
    try {
        /** @var PagedListResponse $response */
        $response = $queryServiceClient->queryTimeSeries($request);

        /** @var TimeSeriesData $element */
        foreach ($response as $element) {
            printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
        }
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

/**
 * Helper to execute the sample.
 *
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function callSample(): void
{
    $name = '[NAME]';
    $query = '[QUERY]';

    query_time_series_sample($name, $query);
}

queryTimeSeriesAsync

Parameters
NameDescription
request Google\Cloud\Monitoring\V3\QueryTimeSeriesRequest
optionalArgs = [] array
Returns
TypeDescription
GuzzleHttp\Promise\PromiseInterface