# Google Tracing API . projects . traces

## Instance Methods

Returns the spans Resource.

Sends new spans to Stackdriver Trace or updates existing traces. If the

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

Returns a list of spans within a trace.

Retrieves the next page of results.

Retrieves the next page of results.

### Method Details

`batchWrite(name, body, x__xgafv=None)`

    Sends new spans to Stackdriver Trace or updates existing traces. If the
    name of a trace that you send matches that of an existing trace, new spans
    are added to the existing trace. Attempt to update existing spans results
    undefined behavior. If the name does not match, a new trace is created
    with given set of spans.

    Args:
      name: string, Name of the project where the spans belong to. Format is
    `projects/PROJECT_ID`. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # The request message for the `BatchWriteSpans` method.
        "spans": [ # A collection of spans.
          { # A span represents a single operation within a trace. Spans can be nested
              # to form a trace tree. Often, a trace contains a root span that
              # describes the end-to-end latency and, optionally, one or more subspans for
              # its sub-operations. (A trace could alternatively contain multiple root spans,
              # or none at all.) Spans do not need to be contiguous. There may be gaps
              # and/or overlaps between spans in a trace.
            "status": { # The `Status` type defines a logical error model that is suitable for different # An optional final status for this span.
                # programming environments, including REST APIs and RPC APIs. It is used by
                # [gRPC](https://github.com/grpc). The error model is designed to be:
                #
                # - Simple to use and understand for most users
                # - Flexible enough to meet unexpected needs
                #
                # # Overview
                #
                # The `Status` message contains three pieces of data: error code, error message,
                # and error details. The error code should be an enum value of
                # google.rpc.Code, but it may accept additional error codes if needed.  The
                # error message should be a developer-facing English message that helps
                # developers *understand* and *resolve* the error. If a localized user-facing
                # error message is needed, put the localized message in the error details or
                # localize it in the client. The optional error details may contain arbitrary
                # information about the error. There is a predefined set of error detail types
                # in the package `google.rpc` that can be used for common error conditions.
                #
                # # Language mapping
                #
                # The `Status` message is the logical representation of the error model, but it
                # is not necessarily the actual wire format. When the `Status` message is
                # exposed in different client libraries and different wire protocols, it can be
                # mapped differently. For example, it will likely be mapped to some exceptions
                # in Java, but more likely mapped to some error codes in C.
                #
                # # Other uses
                #
                # The error model and the `Status` message can be used in a variety of
                # environments, either with or without APIs, to provide a
                # consistent developer experience across different environments.
                #
                # Example uses of this error model include:
                #
                # - Partial errors. If a service needs to return partial errors to the client,
                #     it may embed the `Status` in the normal response to indicate the partial
                #     errors.
                #
                # - Workflow errors. A typical workflow has multiple steps. Each step may
                #     have a `Status` message for error reporting.
                #
                # - Batch operations. If a client uses batch request and batch response, the
                #     `Status` message should be used directly inside batch response, one for
                #     each error sub-response.
                #
                # - Asynchronous operations. If an API call embeds asynchronous operation
                #     results in its response, the status of those operations should be
                #     represented directly using the `Status` message.
                #
                # - Logging. If some API errors are stored in logs, the message `Status` could
                #     be used directly after any stripping needed for security/privacy reasons.
              "message": "A String", # A developer-facing error message, which should be in English. Any
                  # user-facing error message should be localized and sent in the
                  # google.rpc.Status.details field, or localized by the client.
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "details": [ # A list of messages that carry the error details.  There will be a
                  # common set of message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
            },
            "stackTrace": { # StackTrace collected in a trace. # Stack trace captured at the start of the span.
              "stackTraceHashId": "A String", # The hash ID is used to conserve network bandwidth for duplicate
                  # stack traces within a single trace.
                  #
                  # Often multiple spans will have identical stack traces.
                  # The first occurrence of a stack trace should contain both the
                  # `stackFrame` content and a value in `stackTraceHashId`.
                  #
                  # Subsequent spans within the same request can refer
                  # to that stack trace by only setting `stackTraceHashId`.
              "stackFrames": { # Represents collection of StackFrames that can be truncated. # Stack frames in this stack trace. A maximum of 128 frames are allowed.
                "frame": [ # Stack frames in this stack trace.
                  { # Represents a single stack frame in a stack trace.
                    "columnNumber": "A String", # Column number is important in JavaScript (anonymous functions).
                        # May not be available in some languages.
                    "functionName": { # Represents a string value that might be truncated. # The fully-qualified name that uniquely identifies this function or
                        # method (up to 1024 characters).
                      "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                          # means that the string value was not truncated.
                      "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                          # 256 bytes.
                    },
                    "fileName": { # Represents a string value that might be truncated. # The filename of the file containing this frame (up to 256 characters).
                      "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                          # means that the string value was not truncated.
                      "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                          # 256 bytes.
                    },
                    "originalFunctionName": { # Represents a string value that might be truncated. # Used when the function name is
                        # [mangled](http://www.avabodh.com/cxxin/namemangling.html). May be
                        # fully-qualified (up to 1024 characters).
                      "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                          # means that the string value was not truncated.
                      "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                          # 256 bytes.
                    },
                    "loadModule": { # Binary module. # Binary module the code is loaded from.
                      "buildId": { # Represents a string value that might be truncated. # Build_id is a unique identifier for the module, usually a hash of its
                          # contents (up to 128 characters).
                        "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                            # means that the string value was not truncated.
                        "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                            # 256 bytes.
                      },
                      "module": { # Represents a string value that might be truncated. # E.g. main binary, kernel modules, and dynamic libraries
                          # such as libc.so, sharedlib.so (up to 256 characters).
                        "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                            # means that the string value was not truncated.
                        "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                            # 256 bytes.
                      },
                    },
                    "lineNumber": "A String", # Line number of the frame.
                    "sourceVersion": { # Represents a string value that might be truncated. # The version of the deployed source code (up to 128 characters).
                      "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                          # means that the string value was not truncated.
                      "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                          # 256 bytes.
                    },
                  },
                ],
                "droppedFramesCount": 42, # The number of dropped stack frames after the maximum size was enforced.
                    # If 0 then no frames were dropped.
              },
            },
            "displayName": { # Represents a string value that might be truncated. # Description of the operation in the span. It is sanitized and displayed in
                # the Stackdriver Trace tool in the
                # {% dynamic print site_values.console_name %}.
                # The display_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 operation name, which makes it easier to correlate
                # cross-trace spans.
                # The maximum length for the display_name is 128 bytes.
              "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                  # means that the string value was not truncated.
              "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                  # 256 bytes.
            },
            "name": "A String", # The resource name of Span in the format
                # `projects/PROJECT_ID/traces/TRACE_ID/spans/SPAN_ID`.
                # `TRACE_ID` is a unique identifier for a trace within a project and is a
                # base16-encoded, case-insensitive string and is required to be 32 char long.
                # `SPAN_ID` is a unique identifier for a span within a trace. It is a
                # base 16-encoded, case-insensitive string of a 8-bytes array and is required
                # to be 16 char long.
            "links": { # A collection of links, which are references from this span to a span # A maximum of 128 links are allowed per Span.
                # in the same or different trace.
              "droppedLinksCount": 42, # The number of dropped links after the maximum size was enforced. If
                  # 0 then no links were dropped.
              "link": [ # A collection of links.
                { # A pointer from this span to another span in a different `Trace` within
                    # the same service project or within a different service project. Used
                    # (for example) in batching operations, where a single batch handler
                    # processes multiple requests from different traces or when receives a
                    # request from a different service project.
                  "spanId": "A String", # `SPAN_ID` is a unique identifier for a span within a trace. It is a
                      # base16-encoded, case-insensitive string of a 8-bytes array and is
                      # required to be 16 char long.
                  "traceId": "A String", # `TRACE_ID` is a unique identifier for a trace within a project. It is
                      # a base16-encoded, case-insensitive string of a 16-bytes array and is
                      # required to be 32 char long.
                  "type": "A String", # The relationship of the current span relative to the linked span.
                },
              ],
            },
            "parentSpanId": "A String", # ID of parent span which is a base 16-encoded, case-insensitive string of
                # a 8-bytes array and is required to be 16 char long. If this is a root span,
                # the value must be empty.
            "startTime": "A String", # Start time of the span.
                # On the client side, this is the local machine clock time at which the span
                # execution was started; on the server
                # side, this is the time at which the server application handler started
                # running.
            "spanId": "A String", # Unique identifier for a span within a trace. It is a base 16-encoded,
                # case-insensitive string of a 8-bytes array and is required.
            "attributes": { # Attributes of a span with a key:value format. # A set of attributes on the span. A maximum of 32 attributes are allowed per
                # Span.
              "droppedAttributesCount": 42, # The number of dropped attributes after the maximum size was enforced. If
                  # 0 then no attributes were dropped.
              "attributeMap": { # The maximum key length is 128 bytes (attributes are dropped if the
                  # key size is larger than the maximum allowed). The value can be a string
                  # (up to 256 bytes), integer, or boolean (true/false). Some common pair
                  # examples:
                  #
                  #     "/instance_id": "my-instance"
                  #     "/zone": "us-central1-a"
                  #     "/grpc/peer_address": "ip:port" (dns, etc.)
                  #     "/grpc/deadline": "Duration"
                  #     "/http/user_agent"
                  #     "/http/request_bytes": 300
                  #     "/http/response_bytes": 1200
                  #     "/http/url": google.com/apis
                  #     "abc.com/myattribute": true
                "a_key": { # The allowed types for the value side of an attribute key:value pair.
                  "stringValue": { # Represents a string value that might be truncated. # A string value (up to 256 bytes).
                    "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                        # means that the string value was not truncated.
                    "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                        # 256 bytes.
                  },
                  "intValue": "A String", # An integer value.
                  "boolValue": True or False, # A boolean value.
                },
              },
            },
            "timeEvents": { # A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation # A maximum of 32 annotations and 128 network events are allowed per Span.
                # on the span, consisting of either user-supplied key:value pairs, or
                # details of an RPC message sent/received on the network.
              "timeEvent": [ # A collection of `TimeEvent`s.
                { # A time-stamped annotation in the Span.
                  "networkEvent": { # An event describing an RPC message sent/received on the network. A # An event describing an RPC message sent/received on the network.
                      # maximum of 128 network events are allowed per Span.
                    "messageSize": "A String", # The number of bytes sent or received.
                    "messageId": "A String", # An identifier for the message, which must be unique in this span.
                    "type": "A String", # Type of NetworkEvent. Indicates whether the RPC message was sent or
                        # received.
                    "time": "A String", # If available, this is the kernel time:
                        #
                        # *  For sent messages, this is the time at which the first bit was sent.
                        # *  For received messages, this is the time at which the last bit was
                        #    received.
                  },
                  "annotation": { # Text annotation with a set of attributes. A maximum of 32 annotations are # One or more key:value pairs.
                      # allowed per Span.
                    "attributes": { # Attributes of a span with a key:value format. # A set of attributes on the annotation. A maximum of 4 attributes are
                        # allowed per Annotation.
                      "droppedAttributesCount": 42, # The number of dropped attributes after the maximum size was enforced. If
                          # 0 then no attributes were dropped.
                      "attributeMap": { # The maximum key length is 128 bytes (attributes are dropped if the
                          # key size is larger than the maximum allowed). The value can be a string
                          # (up to 256 bytes), integer, or boolean (true/false). Some common pair
                          # examples:
                          #
                          #     "/instance_id": "my-instance"
                          #     "/zone": "us-central1-a"
                          #     "/grpc/peer_address": "ip:port" (dns, etc.)
                          #     "/grpc/deadline": "Duration"
                          #     "/http/user_agent"
                          #     "/http/request_bytes": 300
                          #     "/http/response_bytes": 1200
                          #     "/http/url": google.com/apis
                          #     "abc.com/myattribute": true
                        "a_key": { # The allowed types for the value side of an attribute key:value pair.
                          "stringValue": { # Represents a string value that might be truncated. # A string value (up to 256 bytes).
                            "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                                # means that the string value was not truncated.
                            "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                                # 256 bytes.
                          },
                          "intValue": "A String", # An integer value.
                          "boolValue": True or False, # A boolean value.
                        },
                      },
                    },
                    "description": { # Represents a string value that might be truncated. # A user-supplied message describing the event. The maximum length for
                        # the description is 256 bytes.
                      "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                          # means that the string value was not truncated.
                      "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                          # 256 bytes.
                    },
                  },
                  "time": "A String", # The timestamp indicating the time the event occurred.
                },
              ],
              "droppedNetworkEventsCount": 42, # The number of dropped network events after the maximum size was enforced.
                  # If 0 then no annotations were dropped.
              "droppedAnnotationsCount": 42, # The number of dropped annotations after the maximum size was enforced. If
                  # 0 then no annotations were dropped.
            },
            "endTime": "A String", # End time of the span.
                # On the client side, this is the local machine clock time at which the span
                # execution was ended; on the server
                # side, this is the time at which the server application handler stopped
                # running.
          },
        ],
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated
          # empty messages in your APIs. A typical example is to use it as the request
          # or the response type of an API method. For instance:
          #
          #     service Foo {
          #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
          #     }
          #
          # The JSON representation for `Empty` is empty JSON object `{}`.
      }

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

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

    Args:
      parent: string, ID of the Cloud project where the trace data is stored which is
    `projects/PROJECT_ID`. (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 for the request.
    Example:
    `version_label_key:a some_label:some_label_key`
    returns traces from version `a` and has `some_label` with `some_label_key`.
      endTime: string, End of the time interval (inclusive) during which the trace data was
    collected from the application.

    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 some
              # operations. It consists of a set of spans, each representing
              # an operation and including time information and operation details.
            "name": "A String", # The resource name of Trace in the format
                # `projects/PROJECT_ID/traces/TRACE_ID`. `TRACE_ID` is a unique identifier
                # for a trace within a project and is a base16-encoded, case-insensitive
                # string and is required to be 32 char long.
          },
        ],
      }

`listSpans(parent, pageToken=None, x__xgafv=None)`

    Returns a list of spans within a trace.

    Args:
      parent: string, ID of the trace for which to list child spans. Format is
    `projects/PROJECT_ID/traces/TRACE_ID`. (required)
      pageToken: string, Token identifying the page of results to return. If provided, use the
    value of the `nextPageToken` field from a previous request. Optional.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The response message for the `ListSpans` method.
        "nextPageToken": "A String", # If defined, indicates that there are more spans that match the request.
            # Pass this as the value of `pageToken` in a subsequent request to retrieve
            # additional spans.
        "spans": [ # The requested spans if there are any in the specified trace.
          { # A span represents a single operation within a trace. Spans can be nested
              # to form a trace tree. Often, a trace contains a root span that
              # describes the end-to-end latency and, optionally, one or more subspans for
              # its sub-operations. (A trace could alternatively contain multiple root spans,
              # or none at all.) Spans do not need to be contiguous. There may be gaps
              # and/or overlaps between spans in a trace.
            "status": { # The `Status` type defines a logical error model that is suitable for different # An optional final status for this span.
                # programming environments, including REST APIs and RPC APIs. It is used by
                # [gRPC](https://github.com/grpc). The error model is designed to be:
                #
                # - Simple to use and understand for most users
                # - Flexible enough to meet unexpected needs
                #
                # # Overview
                #
                # The `Status` message contains three pieces of data: error code, error message,
                # and error details. The error code should be an enum value of
                # google.rpc.Code, but it may accept additional error codes if needed.  The
                # error message should be a developer-facing English message that helps
                # developers *understand* and *resolve* the error. If a localized user-facing
                # error message is needed, put the localized message in the error details or
                # localize it in the client. The optional error details may contain arbitrary
                # information about the error. There is a predefined set of error detail types
                # in the package `google.rpc` that can be used for common error conditions.
                #
                # # Language mapping
                #
                # The `Status` message is the logical representation of the error model, but it
                # is not necessarily the actual wire format. When the `Status` message is
                # exposed in different client libraries and different wire protocols, it can be
                # mapped differently. For example, it will likely be mapped to some exceptions
                # in Java, but more likely mapped to some error codes in C.
                #
                # # Other uses
                #
                # The error model and the `Status` message can be used in a variety of
                # environments, either with or without APIs, to provide a
                # consistent developer experience across different environments.
                #
                # Example uses of this error model include:
                #
                # - Partial errors. If a service needs to return partial errors to the client,
                #     it may embed the `Status` in the normal response to indicate the partial
                #     errors.
                #
                # - Workflow errors. A typical workflow has multiple steps. Each step may
                #     have a `Status` message for error reporting.
                #
                # - Batch operations. If a client uses batch request and batch response, the
                #     `Status` message should be used directly inside batch response, one for
                #     each error sub-response.
                #
                # - Asynchronous operations. If an API call embeds asynchronous operation
                #     results in its response, the status of those operations should be
                #     represented directly using the `Status` message.
                #
                # - Logging. If some API errors are stored in logs, the message `Status` could
                #     be used directly after any stripping needed for security/privacy reasons.
              "message": "A String", # A developer-facing error message, which should be in English. Any
                  # user-facing error message should be localized and sent in the
                  # google.rpc.Status.details field, or localized by the client.
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "details": [ # A list of messages that carry the error details.  There will be a
                  # common set of message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
            },
            "stackTrace": { # StackTrace collected in a trace. # Stack trace captured at the start of the span.
              "stackTraceHashId": "A String", # The hash ID is used to conserve network bandwidth for duplicate
                  # stack traces within a single trace.
                  #
                  # Often multiple spans will have identical stack traces.
                  # The first occurrence of a stack trace should contain both the
                  # `stackFrame` content and a value in `stackTraceHashId`.
                  #
                  # Subsequent spans within the same request can refer
                  # to that stack trace by only setting `stackTraceHashId`.
              "stackFrames": { # Represents collection of StackFrames that can be truncated. # Stack frames in this stack trace. A maximum of 128 frames are allowed.
                "frame": [ # Stack frames in this stack trace.
                  { # Represents a single stack frame in a stack trace.
                    "columnNumber": "A String", # Column number is important in JavaScript (anonymous functions).
                        # May not be available in some languages.
                    "functionName": { # Represents a string value that might be truncated. # The fully-qualified name that uniquely identifies this function or
                        # method (up to 1024 characters).
                      "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                          # means that the string value was not truncated.
                      "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                          # 256 bytes.
                    },
                    "fileName": { # Represents a string value that might be truncated. # The filename of the file containing this frame (up to 256 characters).
                      "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                          # means that the string value was not truncated.
                      "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                          # 256 bytes.
                    },
                    "originalFunctionName": { # Represents a string value that might be truncated. # Used when the function name is
                        # [mangled](http://www.avabodh.com/cxxin/namemangling.html). May be
                        # fully-qualified (up to 1024 characters).
                      "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                          # means that the string value was not truncated.
                      "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                          # 256 bytes.
                    },
                    "loadModule": { # Binary module. # Binary module the code is loaded from.
                      "buildId": { # Represents a string value that might be truncated. # Build_id is a unique identifier for the module, usually a hash of its
                          # contents (up to 128 characters).
                        "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                            # means that the string value was not truncated.
                        "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                            # 256 bytes.
                      },
                      "module": { # Represents a string value that might be truncated. # E.g. main binary, kernel modules, and dynamic libraries
                          # such as libc.so, sharedlib.so (up to 256 characters).
                        "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                            # means that the string value was not truncated.
                        "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                            # 256 bytes.
                      },
                    },
                    "lineNumber": "A String", # Line number of the frame.
                    "sourceVersion": { # Represents a string value that might be truncated. # The version of the deployed source code (up to 128 characters).
                      "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                          # means that the string value was not truncated.
                      "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                          # 256 bytes.
                    },
                  },
                ],
                "droppedFramesCount": 42, # The number of dropped stack frames after the maximum size was enforced.
                    # If 0 then no frames were dropped.
              },
            },
            "displayName": { # Represents a string value that might be truncated. # Description of the operation in the span. It is sanitized and displayed in
                # the Stackdriver Trace tool in the
                # {% dynamic print site_values.console_name %}.
                # The display_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 operation name, which makes it easier to correlate
                # cross-trace spans.
                # The maximum length for the display_name is 128 bytes.
              "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                  # means that the string value was not truncated.
              "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                  # 256 bytes.
            },
            "name": "A String", # The resource name of Span in the format
                # `projects/PROJECT_ID/traces/TRACE_ID/spans/SPAN_ID`.
                # `TRACE_ID` is a unique identifier for a trace within a project and is a
                # base16-encoded, case-insensitive string and is required to be 32 char long.
                # `SPAN_ID` is a unique identifier for a span within a trace. It is a
                # base 16-encoded, case-insensitive string of a 8-bytes array and is required
                # to be 16 char long.
            "links": { # A collection of links, which are references from this span to a span # A maximum of 128 links are allowed per Span.
                # in the same or different trace.
              "droppedLinksCount": 42, # The number of dropped links after the maximum size was enforced. If
                  # 0 then no links were dropped.
              "link": [ # A collection of links.
                { # A pointer from this span to another span in a different `Trace` within
                    # the same service project or within a different service project. Used
                    # (for example) in batching operations, where a single batch handler
                    # processes multiple requests from different traces or when receives a
                    # request from a different service project.
                  "spanId": "A String", # `SPAN_ID` is a unique identifier for a span within a trace. It is a
                      # base16-encoded, case-insensitive string of a 8-bytes array and is
                      # required to be 16 char long.
                  "traceId": "A String", # `TRACE_ID` is a unique identifier for a trace within a project. It is
                      # a base16-encoded, case-insensitive string of a 16-bytes array and is
                      # required to be 32 char long.
                  "type": "A String", # The relationship of the current span relative to the linked span.
                },
              ],
            },
            "parentSpanId": "A String", # ID of parent span which is a base 16-encoded, case-insensitive string of
                # a 8-bytes array and is required to be 16 char long. If this is a root span,
                # the value must be empty.
            "startTime": "A String", # Start time of the span.
                # On the client side, this is the local machine clock time at which the span
                # execution was started; on the server
                # side, this is the time at which the server application handler started
                # running.
            "spanId": "A String", # Unique identifier for a span within a trace. It is a base 16-encoded,
                # case-insensitive string of a 8-bytes array and is required.
            "attributes": { # Attributes of a span with a key:value format. # A set of attributes on the span. A maximum of 32 attributes are allowed per
                # Span.
              "droppedAttributesCount": 42, # The number of dropped attributes after the maximum size was enforced. If
                  # 0 then no attributes were dropped.
              "attributeMap": { # The maximum key length is 128 bytes (attributes are dropped if the
                  # key size is larger than the maximum allowed). The value can be a string
                  # (up to 256 bytes), integer, or boolean (true/false). Some common pair
                  # examples:
                  #
                  #     "/instance_id": "my-instance"
                  #     "/zone": "us-central1-a"
                  #     "/grpc/peer_address": "ip:port" (dns, etc.)
                  #     "/grpc/deadline": "Duration"
                  #     "/http/user_agent"
                  #     "/http/request_bytes": 300
                  #     "/http/response_bytes": 1200
                  #     "/http/url": google.com/apis
                  #     "abc.com/myattribute": true
                "a_key": { # The allowed types for the value side of an attribute key:value pair.
                  "stringValue": { # Represents a string value that might be truncated. # A string value (up to 256 bytes).
                    "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                        # means that the string value was not truncated.
                    "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                        # 256 bytes.
                  },
                  "intValue": "A String", # An integer value.
                  "boolValue": True or False, # A boolean value.
                },
              },
            },
            "timeEvents": { # A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation # A maximum of 32 annotations and 128 network events are allowed per Span.
                # on the span, consisting of either user-supplied key:value pairs, or
                # details of an RPC message sent/received on the network.
              "timeEvent": [ # A collection of `TimeEvent`s.
                { # A time-stamped annotation in the Span.
                  "networkEvent": { # An event describing an RPC message sent/received on the network. A # An event describing an RPC message sent/received on the network.
                      # maximum of 128 network events are allowed per Span.
                    "messageSize": "A String", # The number of bytes sent or received.
                    "messageId": "A String", # An identifier for the message, which must be unique in this span.
                    "type": "A String", # Type of NetworkEvent. Indicates whether the RPC message was sent or
                        # received.
                    "time": "A String", # If available, this is the kernel time:
                        #
                        # *  For sent messages, this is the time at which the first bit was sent.
                        # *  For received messages, this is the time at which the last bit was
                        #    received.
                  },
                  "annotation": { # Text annotation with a set of attributes. A maximum of 32 annotations are # One or more key:value pairs.
                      # allowed per Span.
                    "attributes": { # Attributes of a span with a key:value format. # A set of attributes on the annotation. A maximum of 4 attributes are
                        # allowed per Annotation.
                      "droppedAttributesCount": 42, # The number of dropped attributes after the maximum size was enforced. If
                          # 0 then no attributes were dropped.
                      "attributeMap": { # The maximum key length is 128 bytes (attributes are dropped if the
                          # key size is larger than the maximum allowed). The value can be a string
                          # (up to 256 bytes), integer, or boolean (true/false). Some common pair
                          # examples:
                          #
                          #     "/instance_id": "my-instance"
                          #     "/zone": "us-central1-a"
                          #     "/grpc/peer_address": "ip:port" (dns, etc.)
                          #     "/grpc/deadline": "Duration"
                          #     "/http/user_agent"
                          #     "/http/request_bytes": 300
                          #     "/http/response_bytes": 1200
                          #     "/http/url": google.com/apis
                          #     "abc.com/myattribute": true
                        "a_key": { # The allowed types for the value side of an attribute key:value pair.
                          "stringValue": { # Represents a string value that might be truncated. # A string value (up to 256 bytes).
                            "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                                # means that the string value was not truncated.
                            "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                                # 256 bytes.
                          },
                          "intValue": "A String", # An integer value.
                          "boolValue": True or False, # A boolean value.
                        },
                      },
                    },
                    "description": { # Represents a string value that might be truncated. # A user-supplied message describing the event. The maximum length for
                        # the description is 256 bytes.
                      "truncatedCharacterCount": 42, # The number of characters truncated from the original string value. If 0 it
                          # means that the string value was not truncated.
                      "value": "A String", # The truncated string value. E.g. for a string attribute this may have up to
                          # 256 bytes.
                    },
                  },
                  "time": "A String", # The timestamp indicating the time the event occurred.
                },
              ],
              "droppedNetworkEventsCount": 42, # The number of dropped network events after the maximum size was enforced.
                  # If 0 then no annotations were dropped.
              "droppedAnnotationsCount": 42, # The number of dropped annotations after the maximum size was enforced. If
                  # 0 then no annotations were dropped.
            },
            "endTime": "A String", # End time of the span.
                # On the client side, this is the local machine clock time at which the span
                # execution was ended; on the server
                # side, this is the time at which the server application handler stopped
                # running.
          },
        ],
      }

`listSpans_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.

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