# Stackdriver Trace API . projects . traces

## Instance Methods

Gets a single trace by its ID.

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

Retrieves the next page of results.

### Method Details

`get(projectId, traceId, x__xgafv=None)`

    Gets a single trace by its ID.

    Args:
      projectId: string, ID of the Cloud project where the trace data is stored. (required)
      traceId: string, ID of the trace to return. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # 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.
        "projectId": "A String", # Project ID of the Cloud project where the trace data is stored.
        "traceId": "A String", # Globally unique identifier for the trace. This identifier is a 128-bit
            # numeric value formatted as a 32-byte hex string.
        "spans": [ # Collection of spans in the trace.
          { # 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.
            "kind": "A String", # 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": "A String", # Name of the span. Must be less than 128 bytes. The span name is sanitized
                # and displayed in the Stackdriver Trace tool in the
                # {% dynamic print site_values.console_name %}.
                # 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.
            "labels": { # 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/redirected_url`
                # *   `/http/request/size`
                # *   `/http/response/size`
                # *   `/http/status_code`
                # *   `/http/url`
                # *   `/http/user_agent`
                # *   `/pid`
                # *   `/stacktrace`
                # *   `/tid`
              "a_key": "A String",
            },
            "parentSpanId": "A String", # ID of the parent span, if any. Optional.
            "startTime": "A String", # Start time of the span in nanoseconds from the UNIX epoch.
            "spanId": "A String", # Identifier for the span. Must be a 64-bit integer other than 0 and
                # unique within a trace.
            "endTime": "A String", # End time of the span in nanoseconds from the UNIX epoch.
          },
        ],
      }

`list(projectId, orderBy=None, startTime=None, pageSize=None, x__xgafv=None, pageToken=None, filter=None, endTime=None, view=None)`

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

    Args:
      projectId: string, ID of the Cloud project where the trace data is stored. (required)
      orderBy: string, Field used to sort the returned traces. Optional.
    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.
      startTime: string, Start of the time interval (inclusive) during which the trace data was
    collected from the application.
      pageSize: integer, 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. Optional.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format
      pageToken: string, Token identifying the page of results to return. If provided, use the
    value of the `next_page_token` field from a previous request. Optional.
      filter: string, An optional 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`.
      endTime: string, End of the time interval (inclusive) during which the trace data was
    collected from the application.
      view: string, Type of data returned for traces in the list. Optional. Default is
    `MINIMAL`.

    Returns:
      An object of the form:

        { # The response message for the `ListTraces` method.
        "nextPageToken": "A 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.
        "traces": [ # List of trace records returned.
          { # 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.
            "projectId": "A String", # Project ID of the Cloud project where the trace data is stored.
            "traceId": "A String", # Globally unique identifier for the trace. This identifier is a 128-bit
                # numeric value formatted as a 32-byte hex string.
            "spans": [ # Collection of spans in the trace.
              { # 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.
                "kind": "A String", # 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": "A String", # Name of the span. Must be less than 128 bytes. The span name is sanitized
                    # and displayed in the Stackdriver Trace tool in the
                    # {% dynamic print site_values.console_name %}.
                    # 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.
                "labels": { # 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/redirected_url`
                    # *   `/http/request/size`
                    # *   `/http/response/size`
                    # *   `/http/status_code`
                    # *   `/http/url`
                    # *   `/http/user_agent`
                    # *   `/pid`
                    # *   `/stacktrace`
                    # *   `/tid`
                  "a_key": "A String",
                },
                "parentSpanId": "A String", # ID of the parent span, if any. Optional.
                "startTime": "A String", # Start time of the span in nanoseconds from the UNIX epoch.
                "spanId": "A String", # Identifier for the span. Must be a 64-bit integer other than 0 and
                    # unique within a trace.
                "endTime": "A String", # End time of the span in nanoseconds from the UNIX epoch.
              },
            ],
          },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.