docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/cloudtrace_v2.projects.traces.spans.html b/docs/dyn/cloudtrace_v2.projects.traces.spans.html
index 816c732..fc681bc 100644
--- a/docs/dyn/cloudtrace_v2.projects.traces.spans.html
+++ b/docs/dyn/cloudtrace_v2.projects.traces.spans.html
@@ -101,96 +101,69 @@
     # its sub-operations. A trace can also contain multiple root spans,
     # or none at all. Spans do not need to be contiguous&amp;mdash;there may be
     # gaps or overlaps between spans in a trace.
-  "status": { # The `Status` type defines a logical error model that is suitable for # Optional. The final status for this span.
+  &quot;attributes&quot;: { # 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.
+    &quot;droppedAttributesCount&quot;: 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.
+    &quot;attributeMap&quot;: { # The set of attributes. Each attribute&#x27;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:
+        #
+        #     &quot;/instance_id&quot;: { &quot;string_value&quot;: { &quot;value&quot;: &quot;my-instance&quot; } }
+        #     &quot;/http/request_bytes&quot;: { &quot;int_value&quot;: 300 }
+        #     &quot;abc.com/myattribute&quot;: { &quot;bool_value&quot;: false }
+      &quot;a_key&quot;: { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
+        &quot;intValue&quot;: &quot;A String&quot;, # A 64-bit signed integer.
+        &quot;stringValue&quot;: { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
+          &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+              # value is 0, then the string was not shortened.
+          &quot;value&quot;: &quot;A String&quot;, # 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.
+        },
+        &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
+      },
+    },
+  },
+  &quot;spanId&quot;: &quot;A String&quot;, # Required. The [SPAN_ID] portion of the span&#x27;s resource name.
+  &quot;childSpanCount&quot;: 42, # Optional. The number of child spans that were generated while this span
+      # was active. If set, allows implementation to detect missing child spans.
+  &quot;sameProcessAsParentSpan&quot;: 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.
+  &quot;status&quot;: { # The `Status` type defines a logical error model that is suitable for # Optional. The 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
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;message&quot;: &quot;A String&quot;, # 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
+    &quot;details&quot;: [ # 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.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
       },
     ],
   },
-  "childSpanCount": 42, # Optional. The number of child spans that were generated while this span
-      # was active. If set, allows implementation to detect missing child spans.
-  "displayName": { # Represents a string that might be shortened to a specified length. # Required. 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:
+  &quot;name&quot;: &quot;A String&quot;, # 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": { "string_value": { "value": "my-instance" } }
-              #     "/http/request_bytes": { "int_value": 300 }
-              #     "abc.com/myattribute": { "bool_value": false }
-            "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.
-              },
-              "intValue": "A String", # A 64-bit signed integer.
-              "boolValue": True or False, # A Boolean value represented by `true` or `false`.
-            },
-          },
-        },
-        "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.
-      },
-    ],
-  },
-  "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
+  &quot;stackTrace&quot;: { # A call stack appearing in a trace. # Stack trace captured at the start of the span.
+    &quot;stackTraceHashId&quot;: &quot;A String&quot;, # 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.
@@ -199,205 +172,232 @@
         #
         # 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.
+    &quot;stackFrames&quot;: { # A collection of stack frames, which can be truncated. # Stack frames in this stack trace. A maximum of 128 frames are allowed.
+      &quot;droppedFramesCount&quot;: 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.
+      &quot;frame&quot;: [ # 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
+          &quot;lineNumber&quot;: &quot;A String&quot;, # The line number in `file_name` where the function call appears.
+          &quot;loadModule&quot;: { # Binary module. # The binary module from where the code was loaded.
+            &quot;module&quot;: { # 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
+              &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                  # value is 0, then the string was not shortened.
+              &quot;value&quot;: &quot;A String&quot;, # 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
+            },
+            &quot;buildId&quot;: { # 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).
+              &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
                   # value is 0, then the string was not shortened.
+              &quot;value&quot;: &quot;A String&quot;, # 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.
             },
           },
-          "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
+          &quot;columnNumber&quot;: &quot;A String&quot;, # The column number where the function call appears, if available.
+              # This is important in JavaScript because of its anonymous functions.
+          &quot;fileName&quot;: { # 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).
+            &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                # value is 0, then the string was not shortened.
+            &quot;value&quot;: &quot;A String&quot;, # 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.
+          },
+          &quot;sourceVersion&quot;: { # Represents a string that might be shortened to a specified length. # The version of the deployed source code (up to 128 bytes).
+            &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                # value is 0, then the string was not shortened.
+            &quot;value&quot;: &quot;A String&quot;, # 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.
+          },
+          &quot;originalFunctionName&quot;: { # 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
+            &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                # value is 0, then the string was not shortened.
+            &quot;value&quot;: &quot;A String&quot;, # 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
+          },
+          &quot;functionName&quot;: { # 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).
+            &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
                 # value is 0, then the string was not shortened.
+            &quot;value&quot;: &quot;A String&quot;, # 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.
           },
         },
       ],
-      "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.
     },
   },
-  "spanKind": "A String", # Distinguishes between spans generated in a particular context. For example,
+  &quot;parentSpanId&quot;: &quot;A String&quot;, # The [SPAN_ID] of this span&#x27;s parent span. If this is a root span,
+      # then this field must be empty.
+  &quot;endTime&quot;: &quot;A String&quot;, # Required. 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.
+  &quot;spanKind&quot;: &quot;A String&quot;, # Distinguishes between spans generated in a particular context. For example,
       # two spans with the same name may be distinguished using `CLIENT` (caller)
       # and `SERVER` (callee) to identify an RPC call.
-  "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", # Required. The start time of the span. On the client side, this is the time kept by
+  &quot;startTime&quot;: &quot;A String&quot;, # Required. 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.
-  "spanId": "A String", # Required. The [SPAN_ID] portion of the span's resource name.
-  "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:
+      # is the time when the server&#x27;s application handler starts running.
+  &quot;displayName&quot;: { # Represents a string that might be shortened to a specified length. # Required. A description of the span&#x27;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.
+    &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+        # value is 0, then the string was not shortened.
+    &quot;value&quot;: &quot;A String&quot;, # 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.
         #
-        #     "/instance_id": { "string_value": { "value": "my-instance" } }
-        #     "/http/request_bytes": { "int_value": 300 }
-        #     "abc.com/myattribute": { "bool_value": false }
-      "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.
-        },
-        "intValue": "A String", # A 64-bit signed integer.
-        "boolValue": True or False, # A Boolean value represented by `true` or `false`.
-      },
-    },
+        # 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.
   },
-  "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
+  &quot;timeEvents&quot;: { # 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.
-    "timeEvent": [ # A collection of `TimeEvent`s.
+    &quot;droppedAnnotationsCount&quot;: 42, # The number of dropped annotations in all the included time events.
+        # If the value is 0, then no annotations were dropped.
+    &quot;droppedMessageEventsCount&quot;: 42, # The number of dropped message events in all the included time events.
+        # If the value is 0, then no message events were dropped.
+    &quot;timeEvent&quot;: [ # 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
+        &quot;messageEvent&quot;: { # An event describing a message sent/received between Spans. # An event describing a message sent/received between Spans.
+          &quot;type&quot;: &quot;A String&quot;, # 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
+          &quot;id&quot;: &quot;A String&quot;, # An identifier for the MessageEvent&#x27;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
+          &quot;compressedSizeBytes&quot;: &quot;A String&quot;, # The number of compressed bytes sent or received. If missing assumed to
               # be the same size as uncompressed.
+          &quot;uncompressedSizeBytes&quot;: &quot;A String&quot;, # The number of uncompressed bytes sent or received.
         },
-        "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
+        &quot;time&quot;: &quot;A String&quot;, # The timestamp indicating the time the event occurred.
+        &quot;annotation&quot;: { # Text annotation with a set of attributes. # Text annotation with a set of attributes.
+          &quot;description&quot;: { # 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.
+            &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                # value is 0, then the string was not shortened.
+            &quot;value&quot;: &quot;A String&quot;, # 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.
+          },
+          &quot;attributes&quot;: { # 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
+            &quot;droppedAttributesCount&quot;: 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
+            &quot;attributeMap&quot;: { # The set of attributes. Each attribute&#x27;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": { "string_value": { "value": "my-instance" } }
-                #     "/http/request_bytes": { "int_value": 300 }
-                #     "abc.com/myattribute": { "bool_value": false }
-              "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
+                #     &quot;/instance_id&quot;: { &quot;string_value&quot;: { &quot;value&quot;: &quot;my-instance&quot; } }
+                #     &quot;/http/request_bytes&quot;: { &quot;int_value&quot;: 300 }
+                #     &quot;abc.com/myattribute&quot;: { &quot;bool_value&quot;: false }
+              &quot;a_key&quot;: { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
+                &quot;intValue&quot;: &quot;A String&quot;, # A 64-bit signed integer.
+                &quot;stringValue&quot;: { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
+                  &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                      # value is 0, then the string was not shortened.
+                  &quot;value&quot;: &quot;A String&quot;, # 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.
                 },
-                "intValue": "A String", # A 64-bit signed integer.
-                "boolValue": True or False, # A Boolean value represented by `true` or `false`.
+                &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
               },
             },
           },
-          "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.
       },
     ],
-    "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.
-    "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", # Required. 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.
+  &quot;links&quot;: { # 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.
+    &quot;link&quot;: [ # 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.
+        &quot;type&quot;: &quot;A String&quot;, # The relationship of the current span relative to the linked span.
+        &quot;traceId&quot;: &quot;A String&quot;, # The [TRACE_ID] for a trace within a project.
+        &quot;attributes&quot;: { # 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.
+          &quot;droppedAttributesCount&quot;: 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.
+          &quot;attributeMap&quot;: { # The set of attributes. Each attribute&#x27;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:
+              #
+              #     &quot;/instance_id&quot;: { &quot;string_value&quot;: { &quot;value&quot;: &quot;my-instance&quot; } }
+              #     &quot;/http/request_bytes&quot;: { &quot;int_value&quot;: 300 }
+              #     &quot;abc.com/myattribute&quot;: { &quot;bool_value&quot;: false }
+            &quot;a_key&quot;: { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
+              &quot;intValue&quot;: &quot;A String&quot;, # A 64-bit signed integer.
+              &quot;stringValue&quot;: { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
+                &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                    # value is 0, then the string was not shortened.
+                &quot;value&quot;: &quot;A String&quot;, # 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.
+              },
+              &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
+            },
+          },
+        },
+        &quot;spanId&quot;: &quot;A String&quot;, # The [SPAN_ID] for a span within a trace.
+      },
+    ],
+    &quot;droppedLinksCount&quot;: 42, # The number of dropped links after the maximum size was enforced. If
+        # this value is 0, then no links were dropped.
+  },
 }
 
   x__xgafv: string, V1 error format.
@@ -414,96 +414,69 @@
       # its sub-operations. A trace can also contain multiple root spans,
       # or none at all. Spans do not need to be contiguous&amp;mdash;there may be
       # gaps or overlaps between spans in a trace.
-    "status": { # The `Status` type defines a logical error model that is suitable for # Optional. The final status for this span.
+    &quot;attributes&quot;: { # 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.
+      &quot;droppedAttributesCount&quot;: 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.
+      &quot;attributeMap&quot;: { # The set of attributes. Each attribute&#x27;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:
+          #
+          #     &quot;/instance_id&quot;: { &quot;string_value&quot;: { &quot;value&quot;: &quot;my-instance&quot; } }
+          #     &quot;/http/request_bytes&quot;: { &quot;int_value&quot;: 300 }
+          #     &quot;abc.com/myattribute&quot;: { &quot;bool_value&quot;: false }
+        &quot;a_key&quot;: { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
+          &quot;intValue&quot;: &quot;A String&quot;, # A 64-bit signed integer.
+          &quot;stringValue&quot;: { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
+            &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                # value is 0, then the string was not shortened.
+            &quot;value&quot;: &quot;A String&quot;, # 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.
+          },
+          &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
+        },
+      },
+    },
+    &quot;spanId&quot;: &quot;A String&quot;, # Required. The [SPAN_ID] portion of the span&#x27;s resource name.
+    &quot;childSpanCount&quot;: 42, # Optional. The number of child spans that were generated while this span
+        # was active. If set, allows implementation to detect missing child spans.
+    &quot;sameProcessAsParentSpan&quot;: 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.
+    &quot;status&quot;: { # The `Status` type defines a logical error model that is suitable for # Optional. The 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
+      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+      &quot;message&quot;: &quot;A String&quot;, # 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
+      &quot;details&quot;: [ # 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.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
         },
       ],
     },
-    "childSpanCount": 42, # Optional. The number of child spans that were generated while this span
-        # was active. If set, allows implementation to detect missing child spans.
-    "displayName": { # Represents a string that might be shortened to a specified length. # Required. 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:
+    &quot;name&quot;: &quot;A String&quot;, # 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": { "string_value": { "value": "my-instance" } }
-                #     "/http/request_bytes": { "int_value": 300 }
-                #     "abc.com/myattribute": { "bool_value": false }
-              "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.
-                },
-                "intValue": "A String", # A 64-bit signed integer.
-                "boolValue": True or False, # A Boolean value represented by `true` or `false`.
-              },
-            },
-          },
-          "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.
-        },
-      ],
-    },
-    "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
+    &quot;stackTrace&quot;: { # A call stack appearing in a trace. # Stack trace captured at the start of the span.
+      &quot;stackTraceHashId&quot;: &quot;A String&quot;, # 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.
@@ -512,205 +485,232 @@
           #
           # 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.
+      &quot;stackFrames&quot;: { # A collection of stack frames, which can be truncated. # Stack frames in this stack trace. A maximum of 128 frames are allowed.
+        &quot;droppedFramesCount&quot;: 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.
+        &quot;frame&quot;: [ # 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
+            &quot;lineNumber&quot;: &quot;A String&quot;, # The line number in `file_name` where the function call appears.
+            &quot;loadModule&quot;: { # Binary module. # The binary module from where the code was loaded.
+              &quot;module&quot;: { # 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
+                &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                    # value is 0, then the string was not shortened.
+                &quot;value&quot;: &quot;A String&quot;, # 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
+              },
+              &quot;buildId&quot;: { # 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).
+                &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
                     # value is 0, then the string was not shortened.
+                &quot;value&quot;: &quot;A String&quot;, # 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.
               },
             },
-            "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
+            &quot;columnNumber&quot;: &quot;A String&quot;, # The column number where the function call appears, if available.
+                # This is important in JavaScript because of its anonymous functions.
+            &quot;fileName&quot;: { # 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).
+              &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                  # value is 0, then the string was not shortened.
+              &quot;value&quot;: &quot;A String&quot;, # 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.
+            },
+            &quot;sourceVersion&quot;: { # Represents a string that might be shortened to a specified length. # The version of the deployed source code (up to 128 bytes).
+              &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                  # value is 0, then the string was not shortened.
+              &quot;value&quot;: &quot;A String&quot;, # 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.
+            },
+            &quot;originalFunctionName&quot;: { # 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
+              &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                  # value is 0, then the string was not shortened.
+              &quot;value&quot;: &quot;A String&quot;, # 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
+            },
+            &quot;functionName&quot;: { # 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).
+              &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
                   # value is 0, then the string was not shortened.
+              &quot;value&quot;: &quot;A String&quot;, # 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.
             },
           },
         ],
-        "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.
       },
     },
-    "spanKind": "A String", # Distinguishes between spans generated in a particular context. For example,
+    &quot;parentSpanId&quot;: &quot;A String&quot;, # The [SPAN_ID] of this span&#x27;s parent span. If this is a root span,
+        # then this field must be empty.
+    &quot;endTime&quot;: &quot;A String&quot;, # Required. 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.
+    &quot;spanKind&quot;: &quot;A String&quot;, # Distinguishes between spans generated in a particular context. For example,
         # two spans with the same name may be distinguished using `CLIENT` (caller)
         # and `SERVER` (callee) to identify an RPC call.
-    "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", # Required. The start time of the span. On the client side, this is the time kept by
+    &quot;startTime&quot;: &quot;A String&quot;, # Required. 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.
-    "spanId": "A String", # Required. The [SPAN_ID] portion of the span's resource name.
-    "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:
+        # is the time when the server&#x27;s application handler starts running.
+    &quot;displayName&quot;: { # Represents a string that might be shortened to a specified length. # Required. A description of the span&#x27;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.
+      &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+          # value is 0, then the string was not shortened.
+      &quot;value&quot;: &quot;A String&quot;, # 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.
           #
-          #     "/instance_id": { "string_value": { "value": "my-instance" } }
-          #     "/http/request_bytes": { "int_value": 300 }
-          #     "abc.com/myattribute": { "bool_value": false }
-        "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.
-          },
-          "intValue": "A String", # A 64-bit signed integer.
-          "boolValue": True or False, # A Boolean value represented by `true` or `false`.
-        },
-      },
+          # 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.
     },
-    "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
+    &quot;timeEvents&quot;: { # 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.
-      "timeEvent": [ # A collection of `TimeEvent`s.
+      &quot;droppedAnnotationsCount&quot;: 42, # The number of dropped annotations in all the included time events.
+          # If the value is 0, then no annotations were dropped.
+      &quot;droppedMessageEventsCount&quot;: 42, # The number of dropped message events in all the included time events.
+          # If the value is 0, then no message events were dropped.
+      &quot;timeEvent&quot;: [ # 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
+          &quot;messageEvent&quot;: { # An event describing a message sent/received between Spans. # An event describing a message sent/received between Spans.
+            &quot;type&quot;: &quot;A String&quot;, # 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
+            &quot;id&quot;: &quot;A String&quot;, # An identifier for the MessageEvent&#x27;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
+            &quot;compressedSizeBytes&quot;: &quot;A String&quot;, # The number of compressed bytes sent or received. If missing assumed to
                 # be the same size as uncompressed.
+            &quot;uncompressedSizeBytes&quot;: &quot;A String&quot;, # The number of uncompressed bytes sent or received.
           },
-          "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
+          &quot;time&quot;: &quot;A String&quot;, # The timestamp indicating the time the event occurred.
+          &quot;annotation&quot;: { # Text annotation with a set of attributes. # Text annotation with a set of attributes.
+            &quot;description&quot;: { # 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.
+              &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                  # value is 0, then the string was not shortened.
+              &quot;value&quot;: &quot;A String&quot;, # 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.
+            },
+            &quot;attributes&quot;: { # 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
+              &quot;droppedAttributesCount&quot;: 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
+              &quot;attributeMap&quot;: { # The set of attributes. Each attribute&#x27;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": { "string_value": { "value": "my-instance" } }
-                  #     "/http/request_bytes": { "int_value": 300 }
-                  #     "abc.com/myattribute": { "bool_value": false }
-                "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
+                  #     &quot;/instance_id&quot;: { &quot;string_value&quot;: { &quot;value&quot;: &quot;my-instance&quot; } }
+                  #     &quot;/http/request_bytes&quot;: { &quot;int_value&quot;: 300 }
+                  #     &quot;abc.com/myattribute&quot;: { &quot;bool_value&quot;: false }
+                &quot;a_key&quot;: { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
+                  &quot;intValue&quot;: &quot;A String&quot;, # A 64-bit signed integer.
+                  &quot;stringValue&quot;: { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
+                    &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                        # value is 0, then the string was not shortened.
+                    &quot;value&quot;: &quot;A String&quot;, # 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.
                   },
-                  "intValue": "A String", # A 64-bit signed integer.
-                  "boolValue": True or False, # A Boolean value represented by `true` or `false`.
+                  &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
                 },
               },
             },
-            "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.
         },
       ],
-      "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.
-      "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", # Required. 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.
+    &quot;links&quot;: { # 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.
+      &quot;link&quot;: [ # 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.
+          &quot;type&quot;: &quot;A String&quot;, # The relationship of the current span relative to the linked span.
+          &quot;traceId&quot;: &quot;A String&quot;, # The [TRACE_ID] for a trace within a project.
+          &quot;attributes&quot;: { # 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.
+            &quot;droppedAttributesCount&quot;: 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.
+            &quot;attributeMap&quot;: { # The set of attributes. Each attribute&#x27;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:
+                #
+                #     &quot;/instance_id&quot;: { &quot;string_value&quot;: { &quot;value&quot;: &quot;my-instance&quot; } }
+                #     &quot;/http/request_bytes&quot;: { &quot;int_value&quot;: 300 }
+                #     &quot;abc.com/myattribute&quot;: { &quot;bool_value&quot;: false }
+              &quot;a_key&quot;: { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
+                &quot;intValue&quot;: &quot;A String&quot;, # A 64-bit signed integer.
+                &quot;stringValue&quot;: { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
+                  &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                      # value is 0, then the string was not shortened.
+                  &quot;value&quot;: &quot;A String&quot;, # 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.
+                },
+                &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
+              },
+            },
+          },
+          &quot;spanId&quot;: &quot;A String&quot;, # The [SPAN_ID] for a span within a trace.
+        },
+      ],
+      &quot;droppedLinksCount&quot;: 42, # The number of dropped links after the maximum size was enforced. If
+          # this value is 0, then no links were dropped.
+    },
   }</pre>
 </div>