google-cloud-trace-v2 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,411 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Trace
23
+ module V2
24
+ # A span represents a single operation within a trace. Spans can be
25
+ # nested to form a trace tree. Often, a trace contains a root span
26
+ # that describes the end-to-end latency, and one or more subspans for
27
+ # its sub-operations. A trace can also contain multiple root spans,
28
+ # or none at all. Spans do not need to be contiguous—there may be
29
+ # gaps or overlaps between spans in a trace.
30
+ # @!attribute [rw] name
31
+ # @return [::String]
32
+ # Required. The resource name of the span in the following format:
33
+ #
34
+ # projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]
35
+ #
36
+ # [TRACE_ID] is a unique identifier for a trace within a project;
37
+ # it is a 32-character hexadecimal encoding of a 16-byte array.
38
+ #
39
+ # [SPAN_ID] is a unique identifier for a span within a trace; it
40
+ # is a 16-character hexadecimal encoding of an 8-byte array.
41
+ # @!attribute [rw] span_id
42
+ # @return [::String]
43
+ # Required. The [SPAN_ID] portion of the span's resource name.
44
+ # @!attribute [rw] parent_span_id
45
+ # @return [::String]
46
+ # The [SPAN_ID] of this span's parent span. If this is a root span,
47
+ # then this field must be empty.
48
+ # @!attribute [rw] display_name
49
+ # @return [::Google::Cloud::Trace::V2::TruncatableString]
50
+ # Required. A description of the span's operation (up to 128 bytes).
51
+ # Stackdriver Trace displays the description in the
52
+ # Google Cloud Platform Console.
53
+ # For example, the display name can be a qualified method name or a file name
54
+ # and a line number where the operation is called. A best practice is to use
55
+ # the same display name within an application and at the same call point.
56
+ # This makes it easier to correlate spans in different traces.
57
+ # @!attribute [rw] start_time
58
+ # @return [::Google::Protobuf::Timestamp]
59
+ # Required. The start time of the span. On the client side, this is the time kept by
60
+ # the local machine where the span execution starts. On the server side, this
61
+ # is the time when the server's application handler starts running.
62
+ # @!attribute [rw] end_time
63
+ # @return [::Google::Protobuf::Timestamp]
64
+ # Required. The end time of the span. On the client side, this is the time kept by
65
+ # the local machine where the span execution ends. On the server side, this
66
+ # is the time when the server application handler stops running.
67
+ # @!attribute [rw] attributes
68
+ # @return [::Google::Cloud::Trace::V2::Span::Attributes]
69
+ # A set of attributes on the span. You can have up to 32 attributes per
70
+ # span.
71
+ # @!attribute [rw] stack_trace
72
+ # @return [::Google::Cloud::Trace::V2::StackTrace]
73
+ # Stack trace captured at the start of the span.
74
+ # @!attribute [rw] time_events
75
+ # @return [::Google::Cloud::Trace::V2::Span::TimeEvents]
76
+ # A set of time events. You can have up to 32 annotations and 128 message
77
+ # events per span.
78
+ # @!attribute [rw] links
79
+ # @return [::Google::Cloud::Trace::V2::Span::Links]
80
+ # Links associated with the span. You can have up to 128 links per Span.
81
+ # @!attribute [rw] status
82
+ # @return [::Google::Rpc::Status]
83
+ # Optional. The final status for this span.
84
+ # @!attribute [rw] same_process_as_parent_span
85
+ # @return [::Google::Protobuf::BoolValue]
86
+ # Optional. Set this parameter to indicate whether this span is in
87
+ # the same process as its parent. If you do not set this parameter,
88
+ # Stackdriver Trace is unable to take advantage of this helpful
89
+ # information.
90
+ # @!attribute [rw] child_span_count
91
+ # @return [::Google::Protobuf::Int32Value]
92
+ # Optional. The number of child spans that were generated while this span
93
+ # was active. If set, allows implementation to detect missing child spans.
94
+ # @!attribute [rw] span_kind
95
+ # @return [::Google::Cloud::Trace::V2::Span::SpanKind]
96
+ # Optional. Distinguishes between spans generated in a particular context. For example,
97
+ # two spans with the same name may be distinguished using `CLIENT` (caller)
98
+ # and `SERVER` (callee) to identify an RPC call.
99
+ class Span
100
+ include ::Google::Protobuf::MessageExts
101
+ extend ::Google::Protobuf::MessageExts::ClassMethods
102
+
103
+ # A set of attributes, each in the format `[KEY]:[VALUE]`.
104
+ # @!attribute [rw] attribute_map
105
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Trace::V2::AttributeValue}]
106
+ # The set of attributes. Each attribute's key can be up to 128 bytes
107
+ # long. The value can be a string up to 256 bytes, a signed 64-bit integer,
108
+ # or the Boolean values `true` and `false`. For example:
109
+ #
110
+ # "/instance_id": { "string_value": { "value": "my-instance" } }
111
+ # "/http/request_bytes": { "int_value": 300 }
112
+ # "abc.com/myattribute": { "bool_value": false }
113
+ # @!attribute [rw] dropped_attributes_count
114
+ # @return [::Integer]
115
+ # The number of attributes that were discarded. Attributes can be discarded
116
+ # because their keys are too long or because there are too many attributes.
117
+ # If this value is 0 then all attributes are valid.
118
+ class Attributes
119
+ include ::Google::Protobuf::MessageExts
120
+ extend ::Google::Protobuf::MessageExts::ClassMethods
121
+
122
+ # @!attribute [rw] key
123
+ # @return [::String]
124
+ # @!attribute [rw] value
125
+ # @return [::Google::Cloud::Trace::V2::AttributeValue]
126
+ class AttributeMapEntry
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+ end
130
+ end
131
+
132
+ # A time-stamped annotation or message event in the Span.
133
+ # @!attribute [rw] time
134
+ # @return [::Google::Protobuf::Timestamp]
135
+ # The timestamp indicating the time the event occurred.
136
+ # @!attribute [rw] annotation
137
+ # @return [::Google::Cloud::Trace::V2::Span::TimeEvent::Annotation]
138
+ # Text annotation with a set of attributes.
139
+ # @!attribute [rw] message_event
140
+ # @return [::Google::Cloud::Trace::V2::Span::TimeEvent::MessageEvent]
141
+ # An event describing a message sent/received between Spans.
142
+ class TimeEvent
143
+ include ::Google::Protobuf::MessageExts
144
+ extend ::Google::Protobuf::MessageExts::ClassMethods
145
+
146
+ # Text annotation with a set of attributes.
147
+ # @!attribute [rw] description
148
+ # @return [::Google::Cloud::Trace::V2::TruncatableString]
149
+ # A user-supplied message describing the event. The maximum length for
150
+ # the description is 256 bytes.
151
+ # @!attribute [rw] attributes
152
+ # @return [::Google::Cloud::Trace::V2::Span::Attributes]
153
+ # A set of attributes on the annotation. You can have up to 4 attributes
154
+ # per Annotation.
155
+ class Annotation
156
+ include ::Google::Protobuf::MessageExts
157
+ extend ::Google::Protobuf::MessageExts::ClassMethods
158
+ end
159
+
160
+ # An event describing a message sent/received between Spans.
161
+ # @!attribute [rw] type
162
+ # @return [::Google::Cloud::Trace::V2::Span::TimeEvent::MessageEvent::Type]
163
+ # Type of MessageEvent. Indicates whether the message was sent or
164
+ # received.
165
+ # @!attribute [rw] id
166
+ # @return [::Integer]
167
+ # An identifier for the MessageEvent's message that can be used to match
168
+ # SENT and RECEIVED MessageEvents. It is recommended to be unique within
169
+ # a Span.
170
+ # @!attribute [rw] uncompressed_size_bytes
171
+ # @return [::Integer]
172
+ # The number of uncompressed bytes sent or received.
173
+ # @!attribute [rw] compressed_size_bytes
174
+ # @return [::Integer]
175
+ # The number of compressed bytes sent or received. If missing assumed to
176
+ # be the same size as uncompressed.
177
+ class MessageEvent
178
+ include ::Google::Protobuf::MessageExts
179
+ extend ::Google::Protobuf::MessageExts::ClassMethods
180
+
181
+ # Indicates whether the message was sent or received.
182
+ module Type
183
+ # Unknown event type.
184
+ TYPE_UNSPECIFIED = 0
185
+
186
+ # Indicates a sent message.
187
+ SENT = 1
188
+
189
+ # Indicates a received message.
190
+ RECEIVED = 2
191
+ end
192
+ end
193
+ end
194
+
195
+ # A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation
196
+ # on the span, consisting of either user-supplied key:value pairs, or
197
+ # details of a message sent/received between Spans.
198
+ # @!attribute [rw] time_event
199
+ # @return [::Array<::Google::Cloud::Trace::V2::Span::TimeEvent>]
200
+ # A collection of `TimeEvent`s.
201
+ # @!attribute [rw] dropped_annotations_count
202
+ # @return [::Integer]
203
+ # The number of dropped annotations in all the included time events.
204
+ # If the value is 0, then no annotations were dropped.
205
+ # @!attribute [rw] dropped_message_events_count
206
+ # @return [::Integer]
207
+ # The number of dropped message events in all the included time events.
208
+ # If the value is 0, then no message events were dropped.
209
+ class TimeEvents
210
+ include ::Google::Protobuf::MessageExts
211
+ extend ::Google::Protobuf::MessageExts::ClassMethods
212
+ end
213
+
214
+ # A pointer from the current span to another span in the same trace or in a
215
+ # different trace. For example, this can be used in batching operations,
216
+ # where a single batch handler processes multiple requests from different
217
+ # traces or when the handler receives a request from a different project.
218
+ # @!attribute [rw] trace_id
219
+ # @return [::String]
220
+ # The [TRACE_ID] for a trace within a project.
221
+ # @!attribute [rw] span_id
222
+ # @return [::String]
223
+ # The [SPAN_ID] for a span within a trace.
224
+ # @!attribute [rw] type
225
+ # @return [::Google::Cloud::Trace::V2::Span::Link::Type]
226
+ # The relationship of the current span relative to the linked span.
227
+ # @!attribute [rw] attributes
228
+ # @return [::Google::Cloud::Trace::V2::Span::Attributes]
229
+ # A set of attributes on the link. You have have up to 32 attributes per
230
+ # link.
231
+ class Link
232
+ include ::Google::Protobuf::MessageExts
233
+ extend ::Google::Protobuf::MessageExts::ClassMethods
234
+
235
+ # The relationship of the current span relative to the linked span: child,
236
+ # parent, or unspecified.
237
+ module Type
238
+ # The relationship of the two spans is unknown.
239
+ TYPE_UNSPECIFIED = 0
240
+
241
+ # The linked span is a child of the current span.
242
+ CHILD_LINKED_SPAN = 1
243
+
244
+ # The linked span is a parent of the current span.
245
+ PARENT_LINKED_SPAN = 2
246
+ end
247
+ end
248
+
249
+ # A collection of links, which are references from this span to a span
250
+ # in the same or different trace.
251
+ # @!attribute [rw] link
252
+ # @return [::Array<::Google::Cloud::Trace::V2::Span::Link>]
253
+ # A collection of links.
254
+ # @!attribute [rw] dropped_links_count
255
+ # @return [::Integer]
256
+ # The number of dropped links after the maximum size was enforced. If
257
+ # this value is 0, then no links were dropped.
258
+ class Links
259
+ include ::Google::Protobuf::MessageExts
260
+ extend ::Google::Protobuf::MessageExts::ClassMethods
261
+ end
262
+
263
+ # Type of span. Can be used to specify additional relationships between spans
264
+ # in addition to a parent/child relationship.
265
+ module SpanKind
266
+ # Unspecified. Do NOT use as default.
267
+ # Implementations MAY assume SpanKind.INTERNAL to be default.
268
+ SPAN_KIND_UNSPECIFIED = 0
269
+
270
+ # Indicates that the span is used internally. Default value.
271
+ INTERNAL = 1
272
+
273
+ # Indicates that the span covers server-side handling of an RPC or other
274
+ # remote network request.
275
+ SERVER = 2
276
+
277
+ # Indicates that the span covers the client-side wrapper around an RPC or
278
+ # other remote request.
279
+ CLIENT = 3
280
+
281
+ # Indicates that the span describes producer sending a message to a broker.
282
+ # Unlike client and server, there is no direct critical path latency
283
+ # relationship between producer and consumer spans (e.g. publishing a
284
+ # message to a pubsub service).
285
+ PRODUCER = 4
286
+
287
+ # Indicates that the span describes consumer receiving a message from a
288
+ # broker. Unlike client and server, there is no direct critical path
289
+ # latency relationship between producer and consumer spans (e.g. receiving
290
+ # a message from a pubsub service subscription).
291
+ CONSUMER = 5
292
+ end
293
+ end
294
+
295
+ # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
296
+ # @!attribute [rw] string_value
297
+ # @return [::Google::Cloud::Trace::V2::TruncatableString]
298
+ # A string up to 256 bytes long.
299
+ # @!attribute [rw] int_value
300
+ # @return [::Integer]
301
+ # A 64-bit signed integer.
302
+ # @!attribute [rw] bool_value
303
+ # @return [::Boolean]
304
+ # A Boolean value represented by `true` or `false`.
305
+ class AttributeValue
306
+ include ::Google::Protobuf::MessageExts
307
+ extend ::Google::Protobuf::MessageExts::ClassMethods
308
+ end
309
+
310
+ # A call stack appearing in a trace.
311
+ # @!attribute [rw] stack_frames
312
+ # @return [::Google::Cloud::Trace::V2::StackTrace::StackFrames]
313
+ # Stack frames in this stack trace. A maximum of 128 frames are allowed.
314
+ # @!attribute [rw] stack_trace_hash_id
315
+ # @return [::Integer]
316
+ # The hash ID is used to conserve network bandwidth for duplicate
317
+ # stack traces within a single trace.
318
+ #
319
+ # Often multiple spans will have identical stack traces.
320
+ # The first occurrence of a stack trace should contain both the
321
+ # `stackFrame` content and a value in `stackTraceHashId`.
322
+ #
323
+ # Subsequent spans within the same request can refer
324
+ # to that stack trace by only setting `stackTraceHashId`.
325
+ class StackTrace
326
+ include ::Google::Protobuf::MessageExts
327
+ extend ::Google::Protobuf::MessageExts::ClassMethods
328
+
329
+ # Represents a single stack frame in a stack trace.
330
+ # @!attribute [rw] function_name
331
+ # @return [::Google::Cloud::Trace::V2::TruncatableString]
332
+ # The fully-qualified name that uniquely identifies the function or
333
+ # method that is active in this frame (up to 1024 bytes).
334
+ # @!attribute [rw] original_function_name
335
+ # @return [::Google::Cloud::Trace::V2::TruncatableString]
336
+ # An un-mangled function name, if `function_name` is
337
+ # [mangled](http://www.avabodh.com/cxxin/namemangling.html). The name can
338
+ # be fully-qualified (up to 1024 bytes).
339
+ # @!attribute [rw] file_name
340
+ # @return [::Google::Cloud::Trace::V2::TruncatableString]
341
+ # The name of the source file where the function call appears (up to 256
342
+ # bytes).
343
+ # @!attribute [rw] line_number
344
+ # @return [::Integer]
345
+ # The line number in `file_name` where the function call appears.
346
+ # @!attribute [rw] column_number
347
+ # @return [::Integer]
348
+ # The column number where the function call appears, if available.
349
+ # This is important in JavaScript because of its anonymous functions.
350
+ # @!attribute [rw] load_module
351
+ # @return [::Google::Cloud::Trace::V2::Module]
352
+ # The binary module from where the code was loaded.
353
+ # @!attribute [rw] source_version
354
+ # @return [::Google::Cloud::Trace::V2::TruncatableString]
355
+ # The version of the deployed source code (up to 128 bytes).
356
+ class StackFrame
357
+ include ::Google::Protobuf::MessageExts
358
+ extend ::Google::Protobuf::MessageExts::ClassMethods
359
+ end
360
+
361
+ # A collection of stack frames, which can be truncated.
362
+ # @!attribute [rw] frame
363
+ # @return [::Array<::Google::Cloud::Trace::V2::StackTrace::StackFrame>]
364
+ # Stack frames in this call stack.
365
+ # @!attribute [rw] dropped_frames_count
366
+ # @return [::Integer]
367
+ # The number of stack frames that were dropped because there
368
+ # were too many stack frames.
369
+ # If this value is 0, then no stack frames were dropped.
370
+ class StackFrames
371
+ include ::Google::Protobuf::MessageExts
372
+ extend ::Google::Protobuf::MessageExts::ClassMethods
373
+ end
374
+ end
375
+
376
+ # Binary module.
377
+ # @!attribute [rw] module
378
+ # @return [::Google::Cloud::Trace::V2::TruncatableString]
379
+ # For example: main binary, kernel modules, and dynamic libraries
380
+ # such as libc.so, sharedlib.so (up to 256 bytes).
381
+ # @!attribute [rw] build_id
382
+ # @return [::Google::Cloud::Trace::V2::TruncatableString]
383
+ # A unique identifier for the module, usually a hash of its
384
+ # contents (up to 128 bytes).
385
+ class Module
386
+ include ::Google::Protobuf::MessageExts
387
+ extend ::Google::Protobuf::MessageExts::ClassMethods
388
+ end
389
+
390
+ # Represents a string that might be shortened to a specified length.
391
+ # @!attribute [rw] value
392
+ # @return [::String]
393
+ # The shortened string. For example, if the original string is 500
394
+ # bytes long and the limit of the string is 128 bytes, then
395
+ # `value` contains the first 128 bytes of the 500-byte string.
396
+ #
397
+ # Truncation always happens on a UTF8 character boundary. If there
398
+ # are multi-byte characters in the string, then the length of the
399
+ # shortened string might be less than the size limit.
400
+ # @!attribute [rw] truncated_byte_count
401
+ # @return [::Integer]
402
+ # The number of bytes removed from the original string. If this
403
+ # value is 0, then the string was not shortened.
404
+ class TruncatableString
405
+ include ::Google::Protobuf::MessageExts
406
+ extend ::Google::Protobuf::MessageExts::ClassMethods
407
+ end
408
+ end
409
+ end
410
+ end
411
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Trace
23
+ module V2
24
+ # The request message for the `BatchWriteSpans` method.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Required. The name of the project where the spans belong. The format is
28
+ # `projects/[PROJECT_ID]`.
29
+ # @!attribute [rw] spans
30
+ # @return [::Array<::Google::Cloud::Trace::V2::Span>]
31
+ # Required. A list of new spans. The span names must not match existing
32
+ # spans, or the results are undefined.
33
+ class BatchWriteSpansRequest
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end