class Google::Apis::CloudtraceV1::CloudTraceService

Cloud Trace API

Sends application trace data to Cloud Trace for viewing. Trace data is

collected for all App Engine applications by default. Trace data from other
applications can be provided using this API. This library is used to interact
with the Cloud Trace API directly. If you are looking to instrument your
application for Cloud Trace, we recommend using OpenCensus.

@example

require 'google/apis/cloudtrace_v1'

Cloudtrace = Google::Apis::CloudtraceV1 # Alias the module
service = Cloudtrace::CloudTraceService.new

@see cloud.google.com/trace

Attributes

key[RW]

@return [String]

API key. Your API key identifies your project and provides you with API access,
quota, and reports. Required unless you provide an OAuth 2.0 token.
quota_user[RW]

@return [String]

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/google/apis/cloudtrace_v1/service.rb, line 49
def initialize
  super('https://cloudtrace.googleapis.com/', '',
        client_name: 'google-apis-cloudtrace_v1',
        client_version: Google::Apis::CloudtraceV1::GEM_VERSION)
  @batch_path = 'batch'
end

Public Instance Methods

get_project_trace(project_id, trace_id, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

Gets a single trace by its ID. @param [String] project_id

Required. ID of the Cloud project where the trace data is stored.

@param [String] trace_id

Required. ID of the trace to return.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudtraceV1::Trace] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudtraceV1::Trace]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudtrace_v1/service.rb, line 115
def get_project_trace(project_id, trace_id, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:get, 'v1/projects/{projectId}/traces/{traceId}', options)
  command.response_representation = Google::Apis::CloudtraceV1::Trace::Representation
  command.response_class = Google::Apis::CloudtraceV1::Trace
  command.params['projectId'] = project_id unless project_id.nil?
  command.params['traceId'] = trace_id unless trace_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end
list_project_traces(project_id, end_time: nil, filter: nil, order_by: nil, page_size: nil, page_token: nil, start_time: nil, view: nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

Returns of a list of traces that match the specified filter conditions. @param [String] project_id

Required. ID of the Cloud project where the trace data is stored.

@param [String] end_time

End of the time interval (inclusive) during which the trace data was collected
from the application.

@param [String] filter

Optional. A filter against labels for the request. By default, searches use
prefix matching. To specify exact match, prepend a plus symbol (`+`) to the
search term. Multiple terms are ANDed. Syntax: * `root:NAME_PREFIX` or `
NAME_PREFIX`: Return traces where any root span starts with `NAME_PREFIX`. * `+
root:NAME` or `+NAME`: Return traces where any root span's name is exactly `
NAME`. * `span:NAME_PREFIX`: Return traces where any span starts with `
NAME_PREFIX`. * `+span:NAME`: Return traces where any span's name is exactly `
NAME`. * `latency:DURATION`: Return traces whose overall latency is greater or
equal to than `DURATION`. Accepted units are nanoseconds (`ns`), milliseconds (
`ms`), and seconds (`s`). Default is `ms`. For example, `latency:24ms` returns
traces whose overall latency is greater than or equal to 24 milliseconds. * `
label:LABEL_KEY`: Return all traces containing the specified label key (exact
match, case-sensitive) regardless of the key:value pair's value (including
empty values). * `LABEL_KEY:VALUE_PREFIX`: Return all traces containing the
specified label key (exact match, case-sensitive) whose value starts with `
VALUE_PREFIX`. Both a key and a value must be specified. * `+LABEL_KEY:VALUE`:
Return all traces containing a key:value pair exactly matching the specified
text. Both a key and a value must be specified. * `method:VALUE`: Equivalent
to `/http/method:VALUE`. * `url:VALUE`: Equivalent to `/http/url:VALUE`.

@param [String] order_by

Optional. Field used to sort the returned traces. Can be one of the following:
* `trace_id` * `name` (`name` field of root span in the trace) * `duration` (
difference between `end_time` and `start_time` fields of the root span) * `
start` (`start_time` field of the root span) Descending order can be specified
by appending `desc` to the sort field (for example, `name desc`). Only one
sort field is permitted.

@param [Fixnum] page_size

Optional. Maximum number of traces to return. If not specified or <= 0, the
implementation selects a reasonable value. The implementation may return fewer
traces than the requested page size.

@param [String] page_token

Token identifying the page of results to return. If provided, use the value of
the `next_page_token` field from a previous request.

@param [String] start_time

Start of the time interval (inclusive) during which the trace data was
collected from the application.

@param [String] view

Optional. Type of data returned for traces in the list. Default is `MINIMAL`.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudtraceV1::ListTracesResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudtraceV1::ListTracesResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudtrace_v1/service.rb, line 188
def list_project_traces(project_id, end_time: nil, filter: nil, order_by: nil, page_size: nil, page_token: nil, start_time: nil, view: nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:get, 'v1/projects/{projectId}/traces', options)
  command.response_representation = Google::Apis::CloudtraceV1::ListTracesResponse::Representation
  command.response_class = Google::Apis::CloudtraceV1::ListTracesResponse
  command.params['projectId'] = project_id unless project_id.nil?
  command.query['endTime'] = end_time unless end_time.nil?
  command.query['filter'] = filter unless filter.nil?
  command.query['orderBy'] = order_by unless order_by.nil?
  command.query['pageSize'] = page_size unless page_size.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['startTime'] = start_time unless start_time.nil?
  command.query['view'] = view unless view.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end
patch_project_traces(project_id, traces_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

Sends new traces to Cloud Trace or updates existing traces. If the ID of a trace that you send matches that of an existing trace, any fields in the existing trace and its spans are overwritten by the provided values, and any new fields provided are merged with the existing trace data. If the ID does not match, a new trace is created. @param [String] project_id

Required. ID of the Cloud project where the trace data is stored.

@param [Google::Apis::CloudtraceV1::Traces] traces_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudtraceV1::Empty] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudtraceV1::Empty]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudtrace_v1/service.rb, line 81
def patch_project_traces(project_id, traces_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:patch, 'v1/projects/{projectId}/traces', options)
  command.request_representation = Google::Apis::CloudtraceV1::Traces::Representation
  command.request_object = traces_object
  command.response_representation = Google::Apis::CloudtraceV1::Empty::Representation
  command.response_class = Google::Apis::CloudtraceV1::Empty
  command.params['projectId'] = project_id unless project_id.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

Protected Instance Methods

apply_command_defaults(command) click to toggle source
# File lib/google/apis/cloudtrace_v1/service.rb, line 207
def apply_command_defaults(command)
  command.query['key'] = key unless key.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
end