Stackdriver Trace API . projects . traces

Instance Methods

spans()

Returns the spans Resource.

batchWrite(name, body, x__xgafv=None)

Sends new spans to new or existing traces. You cannot update

Method Details

batchWrite(name, body, x__xgafv=None)
Sends new spans to new or existing traces. You cannot update
existing spans.

Args:
  name: string, Required. The name of the project where the spans belong. The 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 list of new spans. The span names must not match existing
        # spans, or the results are undefined.
      { # 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 one or more subspans for
          # its sub-operations. A trace can also contain multiple root spans,
          # or none at all. Spans do not need to be contiguous—there may be
          # gaps or overlaps between spans in a trace.
        "status": { # The `Status` type defines a logical error model that is suitable for # An optional final status for this span.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "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 is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "stackTrace": { # A call stack appearing 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": { # A collection of stack frames, which can be truncated. # Stack frames in this stack trace. A maximum of 128 frames are allowed.
            "frame": [ # Stack frames in this call stack.
              { # Represents a single stack frame in a stack trace.
                "columnNumber": "A String", # The column number where the function call appears, if available.
                    # This is important in JavaScript because of its anonymous functions.
                "functionName": { # Represents a string that might be shortened to a specified length. # The fully-qualified name that uniquely identifies the function or
                    # method that is active in this frame (up to 1024 bytes).
                  "value": "A String", # The shortened string. For example, if the original string is 500
                      # bytes long and the limit of the string is 128 bytes, then
                      # `value` contains the first 128 bytes of the 500-byte string.
                      #
                      # Truncation always happens on a UTF8 character boundary. If there
                      # are multi-byte characters in the string, then the length of the
                      # shortened string might be less than the size limit.
                  "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
                      # value is 0, then the string was not shortened.
                },
                "fileName": { # Represents a string that might be shortened to a specified length. # The name of the source file where the function call appears (up to 256
                    # bytes).
                  "value": "A String", # The shortened string. For example, if the original string is 500
                      # bytes long and the limit of the string is 128 bytes, then
                      # `value` contains the first 128 bytes of the 500-byte string.
                      #
                      # Truncation always happens on a UTF8 character boundary. If there
                      # are multi-byte characters in the string, then the length of the
                      # shortened string might be less than the size limit.
                  "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
                      # value is 0, then the string was not shortened.
                },
                "sourceVersion": { # Represents a string that might be shortened to a specified length. # The version of the deployed source code (up to 128 bytes).
                  "value": "A String", # The shortened string. For example, if the original string is 500
                      # bytes long and the limit of the string is 128 bytes, then
                      # `value` contains the first 128 bytes of the 500-byte string.
                      #
                      # Truncation always happens on a UTF8 character boundary. If there
                      # are multi-byte characters in the string, then the length of the
                      # shortened string might be less than the size limit.
                  "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
                      # value is 0, then the string was not shortened.
                },
                "loadModule": { # Binary module. # The binary module from where the code was loaded.
                  "buildId": { # Represents a string that might be shortened to a specified length. # A unique identifier for the module, usually a hash of its
                      # contents (up to 128 bytes).
                    "value": "A String", # The shortened string. For example, if the original string is 500
                        # bytes long and the limit of the string is 128 bytes, then
                        # `value` contains the first 128 bytes of the 500-byte string.
                        #
                        # Truncation always happens on a UTF8 character boundary. If there
                        # are multi-byte characters in the string, then the length of the
                        # shortened string might be less than the size limit.
                    "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
                        # value is 0, then the string was not shortened.
                  },
                  "module": { # Represents a string that might be shortened to a specified length. # For example: main binary, kernel modules, and dynamic libraries
                      # such as libc.so, sharedlib.so (up to 256 bytes).
                    "value": "A String", # The shortened string. For example, if the original string is 500
                        # bytes long and the limit of the string is 128 bytes, then
                        # `value` contains the first 128 bytes of the 500-byte string.
                        #
                        # Truncation always happens on a UTF8 character boundary. If there
                        # are multi-byte characters in the string, then the length of the
                        # shortened string might be less than the size limit.
                    "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
                        # value is 0, then the string was not shortened.
                  },
                },
                "lineNumber": "A String", # The line number in `file_name` where the function call appears.
                "originalFunctionName": { # Represents a string that might be shortened to a specified length. # An un-mangled function name, if `function_name` is
                    # [mangled](http://www.avabodh.com/cxxin/namemangling.html). The name can
                    # be fully-qualified (up to 1024 bytes).
                  "value": "A String", # The shortened string. For example, if the original string is 500
                      # bytes long and the limit of the string is 128 bytes, then
                      # `value` contains the first 128 bytes of the 500-byte string.
                      #
                      # Truncation always happens on a UTF8 character boundary. If there
                      # are multi-byte characters in the string, then the length of the
                      # shortened string might be less than the size limit.
                  "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
                      # value is 0, then the string was not shortened.
                },
              },
            ],
            "droppedFramesCount": 42, # The number of stack frames that were dropped because there
                # were too many stack frames.
                # If this value is 0, then no stack frames were dropped.
          },
        },
        "displayName": { # Represents a string that might be shortened to a specified length. # A description of the span's operation (up to 128 bytes).
            # Stackdriver Trace displays the description in the
            # Google Cloud Platform Console.
            # For example, the display name can be a qualified method name or a file name
            # and a line number where the operation is called. A best practice is to use
            # the same display name within an application and at the same call point.
            # This makes it easier to correlate spans in different traces.
          "value": "A String", # The shortened string. For example, if the original string is 500
              # bytes long and the limit of the string is 128 bytes, then
              # `value` contains the first 128 bytes of the 500-byte string.
              #
              # Truncation always happens on a UTF8 character boundary. If there
              # are multi-byte characters in the string, then the length of the
              # shortened string might be less than the size limit.
          "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
              # value is 0, then the string was not shortened.
        },
        "name": "A String", # The resource name of the span in the following format:
            #
            #     projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project;
            # it is a 32-character hexadecimal encoding of a 16-byte array.
            #
            # [SPAN_ID] is a unique identifier for a span within a trace; it
            # is a 16-character hexadecimal encoding of an 8-byte array.
        "links": { # A collection of links, which are references from this span to a span # Links associated with the span. You can have up to 128 links per Span.
            # in the same or different trace.
          "droppedLinksCount": 42, # The number of dropped links after the maximum size was enforced. If
              # this value is 0, then no links were dropped.
          "link": [ # A collection of links.
            { # A pointer from the current span to another span in the same trace or in a
                # different trace. For example, this can be used in batching operations,
                # where a single batch handler processes multiple requests from different
                # traces or when the handler receives a request from a different project.
              "attributes": { # A set of attributes, each in the format `[KEY]:[VALUE]`. # A set of attributes on the link. You have have up to  32 attributes per
                  # link.
                "droppedAttributesCount": 42, # The number of attributes that were discarded. Attributes can be discarded
                    # because their keys are too long or because there are too many attributes.
                    # If this value is 0 then all attributes are valid.
                "attributeMap": { # The set of attributes. Each attribute's key can be up to 128 bytes
                    # long. The value can be a string up to 256 bytes, a signed 64-bit integer,
                    # or the Boolean values `true` and `false`. For example:
                    #
                    #     "/instance_id": "my-instance"
                    #     "/http/user_agent": ""
                    #     "/http/request_bytes": 300
                    #     "abc.com/myattribute": true
                  "a_key": { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
                    "stringValue": { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
                      "value": "A String", # The shortened string. For example, if the original string is 500
                          # bytes long and the limit of the string is 128 bytes, then
                          # `value` contains the first 128 bytes of the 500-byte string.
                          #
                          # Truncation always happens on a UTF8 character boundary. If there
                          # are multi-byte characters in the string, then the length of the
                          # shortened string might be less than the size limit.
                      "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
                          # value is 0, then the string was not shortened.
                    },
                    "boolValue": True or False, # A Boolean value represented by `true` or `false`.
                    "intValue": "A String", # A 64-bit signed integer.
                  },
                },
              },
              "traceId": "A String", # The [TRACE_ID] for a trace within a project.
              "type": "A String", # The relationship of the current span relative to the linked span.
              "spanId": "A String", # The [SPAN_ID] for a span within a trace.
            },
          ],
        },
        "childSpanCount": 42, # An optional number of child spans that were generated while this span
            # was active. If set, allows implementation to detect missing child spans.
        "parentSpanId": "A String", # The [SPAN_ID] of this span's parent span. If this is a root span,
            # then this field must be empty.
        "startTime": "A String", # The start time of the span. On the client side, this is the time kept by
            # the local machine where the span execution starts. On the server side, this
            # is the time when the server's application handler starts running.
        "attributes": { # A set of attributes, each in the format `[KEY]:[VALUE]`. # A set of attributes on the span. You can have up to 32 attributes per
            # span.
          "droppedAttributesCount": 42, # The number of attributes that were discarded. Attributes can be discarded
              # because their keys are too long or because there are too many attributes.
              # If this value is 0 then all attributes are valid.
          "attributeMap": { # The set of attributes. Each attribute's key can be up to 128 bytes
              # long. The value can be a string up to 256 bytes, a signed 64-bit integer,
              # or the Boolean values `true` and `false`. For example:
              #
              #     "/instance_id": "my-instance"
              #     "/http/user_agent": ""
              #     "/http/request_bytes": 300
              #     "abc.com/myattribute": true
            "a_key": { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
              "stringValue": { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
                "value": "A String", # The shortened string. For example, if the original string is 500
                    # bytes long and the limit of the string is 128 bytes, then
                    # `value` contains the first 128 bytes of the 500-byte string.
                    #
                    # Truncation always happens on a UTF8 character boundary. If there
                    # are multi-byte characters in the string, then the length of the
                    # shortened string might be less than the size limit.
                "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
                    # value is 0, then the string was not shortened.
              },
              "boolValue": True or False, # A Boolean value represented by `true` or `false`.
              "intValue": "A String", # A 64-bit signed integer.
            },
          },
        },
        "spanId": "A String", # The [SPAN_ID] portion of the span's resource name.
        "timeEvents": { # A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation # A set of time events. You can have up to 32 annotations and 128 message
            # events per span.
            # on the span, consisting of either user-supplied key:value pairs, or
            # details of a message sent/received between Spans.
          "droppedMessageEventsCount": 42, # The number of dropped message events in all the included time events.
              # If the value is 0, then no message events were dropped.
          "timeEvent": [ # A collection of `TimeEvent`s.
            { # A time-stamped annotation or message event in the Span.
              "messageEvent": { # An event describing a message sent/received between Spans. # An event describing a message sent/received between Spans.
                "uncompressedSizeBytes": "A String", # The number of uncompressed bytes sent or received.
                "type": "A String", # Type of MessageEvent. Indicates whether the message was sent or
                    # received.
                "id": "A String", # An identifier for the MessageEvent's message that can be used to match
                    # SENT and RECEIVED MessageEvents. It is recommended to be unique within
                    # a Span.
                "compressedSizeBytes": "A String", # The number of compressed bytes sent or received. If missing assumed to
                    # be the same size as uncompressed.
              },
              "annotation": { # Text annotation with a set of attributes. # Text annotation with a set of attributes.
                "attributes": { # A set of attributes, each in the format `[KEY]:[VALUE]`. # A set of attributes on the annotation. You can have up to 4 attributes
                    # per Annotation.
                  "droppedAttributesCount": 42, # The number of attributes that were discarded. Attributes can be discarded
                      # because their keys are too long or because there are too many attributes.
                      # If this value is 0 then all attributes are valid.
                  "attributeMap": { # The set of attributes. Each attribute's key can be up to 128 bytes
                      # long. The value can be a string up to 256 bytes, a signed 64-bit integer,
                      # or the Boolean values `true` and `false`. For example:
                      #
                      #     "/instance_id": "my-instance"
                      #     "/http/user_agent": ""
                      #     "/http/request_bytes": 300
                      #     "abc.com/myattribute": true
                    "a_key": { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
                      "stringValue": { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
                        "value": "A String", # The shortened string. For example, if the original string is 500
                            # bytes long and the limit of the string is 128 bytes, then
                            # `value` contains the first 128 bytes of the 500-byte string.
                            #
                            # Truncation always happens on a UTF8 character boundary. If there
                            # are multi-byte characters in the string, then the length of the
                            # shortened string might be less than the size limit.
                        "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
                            # value is 0, then the string was not shortened.
                      },
                      "boolValue": True or False, # A Boolean value represented by `true` or `false`.
                      "intValue": "A String", # A 64-bit signed integer.
                    },
                  },
                },
                "description": { # Represents a string that might be shortened to a specified length. # A user-supplied message describing the event. The maximum length for
                    # the description is 256 bytes.
                  "value": "A String", # The shortened string. For example, if the original string is 500
                      # bytes long and the limit of the string is 128 bytes, then
                      # `value` contains the first 128 bytes of the 500-byte string.
                      #
                      # Truncation always happens on a UTF8 character boundary. If there
                      # are multi-byte characters in the string, then the length of the
                      # shortened string might be less than the size limit.
                  "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
                      # value is 0, then the string was not shortened.
                },
              },
              "time": "A String", # The timestamp indicating the time the event occurred.
            },
          ],
          "droppedAnnotationsCount": 42, # The number of dropped annotations in all the included time events.
              # If the value is 0, then no annotations were dropped.
        },
        "endTime": "A String", # The end time of the span. On the client side, this is the time kept by
            # the local machine where the span execution ends. On the server side, this
            # is the time when the server application handler stops running.
        "sameProcessAsParentSpan": True or False, # (Optional) Set this parameter to indicate whether this span is in
            # the same process as its parent. If you do not set this parameter,
            # Stackdriver Trace is unable to take advantage of this helpful
            # information.
      },
    ],
  }

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