Package google.devtools.cloudtrace.v1

Index

TraceService

Service for collecting and viewing traces and spans within a trace.

A trace is a collection of spans. A trace can correspond to a single operation or a set of operations in an application.

A span is an individual timed event which forms a node of the trace tree. A single trace can contain spans from multiple services.

GetTrace

rpc GetTrace(GetTraceRequest) returns (Trace)

Gets a single trace by its ID.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/trace.readonly
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListTraces

rpc ListTraces(ListTracesRequest) returns (ListTracesResponse)

Returns a list of traces that match the specified filter conditions.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/trace.readonly
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

PatchTraces

rpc PatchTraces(PatchTracesRequest) returns (Empty)

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.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/trace.append
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetTraceRequest

The request message for the GetTrace method.

Fields
project_id

string

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

Authorization requires the following IAM permission on the specified resource projectId:

  • cloudtrace.traces.get
trace_id

string

Required. ID of the trace to return.

ListTracesRequest

The request message for the ListTraces method. All fields are required unless specified.

Fields
project_id

string

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

Authorization requires the following IAM permission on the specified resource projectId:

  • cloudtrace.traces.list
view

ViewType

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

page_size

int32

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.

page_token

string

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

start_time

Timestamp

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

end_time

Timestamp

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

filter

string

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.
order_by

string

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.

ViewType

Type of data returned for traces in the list.

Enums
VIEW_TYPE_UNSPECIFIED Default is MINIMAL if unspecified.
MINIMAL Minimal view of the trace record that contains only the project and trace IDs.
ROOTSPAN Root span view of the trace record that returns the root spans along with the minimal trace data.
COMPLETE Complete view of the trace record that contains the actual trace data. This is equivalent to calling the REST get or RPC GetTrace method using the ID of each listed trace.

ListTracesResponse

The response message for the ListTraces method.

Fields
traces[]

Trace

List of trace records as specified by the view parameter.

next_page_token

string

If defined, indicates that there are more traces that match the request and that this value should be passed to the next request to continue retrieving additional traces.

PatchTracesRequest

The request message for the PatchTraces method.

Fields
project_id

string

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

Authorization requires the following IAM permission on the specified resource projectId:

  • cloudtrace.traces.patch
traces

Traces

Required. The body of the message.

Trace

A trace describes how long it takes for an application to perform an operation. It consists of a set of spans, each of which represent a single timed event within the operation.

Fields
project_id

string

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

trace_id

string

Globally unique identifier for the trace. This identifier is a 128-bit numeric value formatted as a 32-byte hex string. For example, 382d4f4c6b7bb2f4a972559d9085001d. The numeric value should not be zero.

spans[]

TraceSpan

Collection of spans in the trace.

TraceSpan

A span represents a single timed event within a trace. Spans can be nested and form a trace tree. Often, a trace contains a root span that describes the end-to-end latency of an operation and, optionally, one or more subspans for its suboperations. Spans do not need to be contiguous. There may be gaps between spans in a trace.

Fields
span_id

fixed64

Identifier for the span. Must be a 64-bit integer other than 0 and unique within a trace. For example, 2205310701640571284.

kind

SpanKind

Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using RPC_CLIENT and RPC_SERVER to identify queueing latency associated with the span.

name

string

Name of the span. Must be less than 128 bytes. The span name is sanitized and displayed in the Trace tool in the Google Cloud Platform Console. The name may be a method name or some other per-call site name. For the same executable and the same call point, a best practice is to use a consistent name, which makes it easier to correlate cross-trace spans.

start_time

Timestamp

Start time of the span in seconds and nanoseconds from the UNIX epoch.

end_time

Timestamp

End time of the span in seconds and nanoseconds from the UNIX epoch.

parent_span_id

fixed64

Optional. ID of the parent span, if any.

labels

map<string, string>

Collection of labels associated with the span. Label keys must be less than 128 bytes. Label values must be less than 16 kilobytes (10MB for /stacktrace values).

Some predefined label keys exist, or you may create your own. When creating your own, we recommend the following formats:

  • /category/product/key for agents of well-known products (e.g. /db/mongodb/read_size).
  • short_host/path/key for domain-specific keys (e.g. foo.com/myproduct/bar)

Predefined labels include:

  • /agent
  • /component
  • /error/message
  • /error/name
  • /http/client_city
  • /http/client_country
  • /http/client_protocol
  • /http/client_region
  • /http/host
  • /http/method
  • /http/path
  • /http/redirected_url
  • /http/request/size
  • /http/response/size
  • /http/route
  • /http/status_code
  • /http/url
  • /http/user_agent
  • /pid
  • /stacktrace
  • /tid

SpanKind

Type of span. Can be used to specify additional relationships between spans in addition to a parent/child relationship.

Enums
SPAN_KIND_UNSPECIFIED Unspecified.
RPC_SERVER Indicates that the span covers server-side handling of an RPC or other remote network request.
RPC_CLIENT Indicates that the span covers the client-side wrapper around an RPC or other remote request.

Traces

List of new or updated traces.

Fields
traces[]

Trace

List of traces.