google-cloud-debugger 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +8 -0
  3. data/LICENSE +201 -0
  4. data/README.md +56 -0
  5. data/ext/google/cloud/debugger/debugger_c/debugger.c +31 -0
  6. data/ext/google/cloud/debugger/debugger_c/debugger.h +26 -0
  7. data/ext/google/cloud/debugger/debugger_c/evaluator.c +78 -0
  8. data/ext/google/cloud/debugger/debugger_c/evaluator.h +25 -0
  9. data/ext/google/cloud/debugger/debugger_c/extconf.rb +22 -0
  10. data/ext/google/cloud/debugger/debugger_c/tracer.c +478 -0
  11. data/ext/google/cloud/debugger/debugger_c/tracer.h +31 -0
  12. data/lib/google-cloud-debugger.rb +121 -0
  13. data/lib/google/cloud/debugger.rb +379 -0
  14. data/lib/google/cloud/debugger/agent.rb +204 -0
  15. data/lib/google/cloud/debugger/async_actor.rb +290 -0
  16. data/lib/google/cloud/debugger/breakpoint.rb +382 -0
  17. data/lib/google/cloud/debugger/breakpoint/evaluator.rb +1113 -0
  18. data/lib/google/cloud/debugger/breakpoint/source_location.rb +75 -0
  19. data/lib/google/cloud/debugger/breakpoint/stack_frame.rb +109 -0
  20. data/lib/google/cloud/debugger/breakpoint/variable.rb +304 -0
  21. data/lib/google/cloud/debugger/breakpoint_manager.rb +217 -0
  22. data/lib/google/cloud/debugger/credentials.rb +41 -0
  23. data/lib/google/cloud/debugger/debuggee.rb +204 -0
  24. data/lib/google/cloud/debugger/debuggee/app_uniquifier_generator.rb +78 -0
  25. data/lib/google/cloud/debugger/middleware.rb +77 -0
  26. data/lib/google/cloud/debugger/project.rb +135 -0
  27. data/lib/google/cloud/debugger/rails.rb +141 -0
  28. data/lib/google/cloud/debugger/service.rb +130 -0
  29. data/lib/google/cloud/debugger/tracer.rb +165 -0
  30. data/lib/google/cloud/debugger/transmitter.rb +129 -0
  31. data/lib/google/cloud/debugger/v2.rb +15 -0
  32. data/lib/google/cloud/debugger/v2/controller2_client.rb +299 -0
  33. data/lib/google/cloud/debugger/v2/controller2_client_config.json +43 -0
  34. data/lib/google/cloud/debugger/v2/debugger2_client.rb +378 -0
  35. data/lib/google/cloud/debugger/v2/debugger2_client_config.json +53 -0
  36. data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/data.rb +441 -0
  37. data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/debugger.rb +151 -0
  38. data/lib/google/cloud/debugger/v2/doc/google/devtools/source/v1/source_context.rb +161 -0
  39. data/lib/google/cloud/debugger/v2/doc/google/protobuf/timestamp.rb +81 -0
  40. data/lib/google/cloud/debugger/version.rb +22 -0
  41. data/lib/google/devtools/clouddebugger/v2/controller_pb.rb +47 -0
  42. data/lib/google/devtools/clouddebugger/v2/controller_services_pb.rb +97 -0
  43. data/lib/google/devtools/clouddebugger/v2/data_pb.rb +105 -0
  44. data/lib/google/devtools/clouddebugger/v2/debugger_pb.rb +74 -0
  45. data/lib/google/devtools/clouddebugger/v2/debugger_services_pb.rb +64 -0
  46. data/lib/google/devtools/source/v1/source_context_pb.rb +89 -0
  47. metadata +300 -0
@@ -0,0 +1,441 @@
1
+ # Copyright 2017, Google Inc. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module Google
16
+ module Devtools
17
+ module Clouddebugger
18
+ module V2
19
+ # Represents a message with parameters.
20
+ # @!attribute [rw] format
21
+ # @return [String]
22
+ # Format template for the message. The +format+ uses placeholders +$0+,
23
+ # +$1+, etc. to reference parameters. +$$+ can be used to denote the +$+
24
+ # character.
25
+ #
26
+ # Examples:
27
+ #
28
+ # * +Failed to load '$0' which helps debug $1 the first time it
29
+ # is loaded. Again, $0 is very important.+
30
+ # * +Please pay $$10 to use $0 instead of $1.+
31
+ # @!attribute [rw] parameters
32
+ # @return [Array<String>]
33
+ # Optional parameters to be embedded into the message.
34
+ class FormatMessage; end
35
+
36
+ # Represents a contextual status message.
37
+ # The message can indicate an error or informational status, and refer to
38
+ # specific parts of the containing object.
39
+ # For example, the +Breakpoint.status+ field can indicate an error referring
40
+ # to the +BREAKPOINT_SOURCE_LOCATION+ with the message +Location not found+.
41
+ # @!attribute [rw] is_error
42
+ # @return [true, false]
43
+ # Distinguishes errors from informational messages.
44
+ # @!attribute [rw] refers_to
45
+ # @return [Google::Devtools::Clouddebugger::V2::StatusMessage::Reference]
46
+ # Reference to which the message applies.
47
+ # @!attribute [rw] description
48
+ # @return [Google::Devtools::Clouddebugger::V2::FormatMessage]
49
+ # Status message text.
50
+ class StatusMessage
51
+ # Enumerates references to which the message applies.
52
+ module Reference
53
+ # Status doesn't refer to any particular input.
54
+ UNSPECIFIED = 0
55
+
56
+ # Status applies to the breakpoint and is related to its location.
57
+ BREAKPOINT_SOURCE_LOCATION = 3
58
+
59
+ # Status applies to the breakpoint and is related to its condition.
60
+ BREAKPOINT_CONDITION = 4
61
+
62
+ # Status applies to the breakpoint and is related to its expressions.
63
+ BREAKPOINT_EXPRESSION = 7
64
+
65
+ # Status applies to the breakpoint and is related to its age.
66
+ BREAKPOINT_AGE = 8
67
+
68
+ # Status applies to the entire variable.
69
+ VARIABLE_NAME = 5
70
+
71
+ # Status applies to variable value (variable name is valid).
72
+ VARIABLE_VALUE = 6
73
+ end
74
+ end
75
+
76
+ # Represents a location in the source code.
77
+ # @!attribute [rw] path
78
+ # @return [String]
79
+ # Path to the source file within the source context of the target binary.
80
+ # @!attribute [rw] line
81
+ # @return [Integer]
82
+ # Line inside the file. The first line in the file has the value +1+.
83
+ class SourceLocation; end
84
+
85
+ # Represents a variable or an argument possibly of a compound object type.
86
+ # Note how the following variables are represented:
87
+ #
88
+ # 1) A simple variable:
89
+ #
90
+ # int x = 5
91
+ #
92
+ # { name: "x", value: "5", type: "int" } // Captured variable
93
+ #
94
+ # 2) A compound object:
95
+ #
96
+ # struct T {
97
+ # int m1;
98
+ # int m2;
99
+ # };
100
+ # T x = { 3, 7 };
101
+ #
102
+ # { // Captured variable
103
+ # name: "x",
104
+ # type: "T",
105
+ # members { name: "m1", value: "3", type: "int" },
106
+ # members { name: "m2", value: "7", type: "int" }
107
+ # }
108
+ #
109
+ # 3) A pointer where the pointee was captured:
110
+ #
111
+ # T x = { 3, 7 };
112
+ # T* p = &x;
113
+ #
114
+ # { // Captured variable
115
+ # name: "p",
116
+ # type: "T*",
117
+ # value: "0x00500500",
118
+ # members { name: "m1", value: "3", type: "int" },
119
+ # members { name: "m2", value: "7", type: "int" }
120
+ # }
121
+ #
122
+ # 4) A pointer where the pointee was not captured:
123
+ #
124
+ # T* p = new T;
125
+ #
126
+ # { // Captured variable
127
+ # name: "p",
128
+ # type: "T*",
129
+ # value: "0x00400400"
130
+ # status { is_error: true, description { format: "unavailable" } }
131
+ # }
132
+ #
133
+ # The status should describe the reason for the missing value,
134
+ # such as +<optimized out>+, +<inaccessible>+, +<pointers limit reached>+.
135
+ #
136
+ # Note that a null pointer should not have members.
137
+ #
138
+ # 5) An unnamed value:
139
+ #
140
+ # int* p = new int(7);
141
+ #
142
+ # { // Captured variable
143
+ # name: "p",
144
+ # value: "0x00500500",
145
+ # type: "int*",
146
+ # members { value: "7", type: "int" } }
147
+ #
148
+ # 6) An unnamed pointer where the pointee was not captured:
149
+ #
150
+ # int* p = new int(7);
151
+ # int** pp = &p;
152
+ #
153
+ # { // Captured variable
154
+ # name: "pp",
155
+ # value: "0x00500500",
156
+ # type: "int**",
157
+ # members {
158
+ # value: "0x00400400",
159
+ # type: "int*"
160
+ # status {
161
+ # is_error: true,
162
+ # description: { format: "unavailable" } }
163
+ # }
164
+ # }
165
+ # }
166
+ #
167
+ # To optimize computation, memory and network traffic, variables that
168
+ # repeat in the output multiple times can be stored once in a shared
169
+ # variable table and be referenced using the +var_table_index+ field. The
170
+ # variables stored in the shared table are nameless and are essentially
171
+ # a partition of the complete variable. To reconstruct the complete
172
+ # variable, merge the referencing variable with the referenced variable.
173
+ #
174
+ # When using the shared variable table, the following variables:
175
+ #
176
+ # T x = { 3, 7 };
177
+ # T* p = &x;
178
+ # T& r = x;
179
+ #
180
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
181
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
182
+ # { name: "r", type="T&", var_table_index: 3 }
183
+ #
184
+ # { // Shared variable table entry #3:
185
+ # members { name: "m1", value: "3", type: "int" },
186
+ # members { name: "m2", value: "7", type: "int" }
187
+ # }
188
+ #
189
+ # Note that the pointer address is stored with the referencing variable
190
+ # and not with the referenced variable. This allows the referenced variable
191
+ # to be shared between pointers and references.
192
+ #
193
+ # The type field is optional. The debugger agent may or may not support it.
194
+ # @!attribute [rw] name
195
+ # @return [String]
196
+ # Name of the variable, if any.
197
+ # @!attribute [rw] value
198
+ # @return [String]
199
+ # Simple value of the variable.
200
+ # @!attribute [rw] type
201
+ # @return [String]
202
+ # Variable type (e.g. +MyClass+). If the variable is split with
203
+ # +var_table_index+, +type+ goes next to +value+. The interpretation of
204
+ # a type is agent specific. It is recommended to include the dynamic type
205
+ # rather than a static type of an object.
206
+ # @!attribute [rw] members
207
+ # @return [Array<Google::Devtools::Clouddebugger::V2::Variable>]
208
+ # Members contained or pointed to by the variable.
209
+ # @!attribute [rw] var_table_index
210
+ # @return [Google::Protobuf::Int32Value]
211
+ # Reference to a variable in the shared variable table. More than
212
+ # one variable can reference the same variable in the table. The
213
+ # +var_table_index+ field is an index into +variable_table+ in Breakpoint.
214
+ # @!attribute [rw] status
215
+ # @return [Google::Devtools::Clouddebugger::V2::StatusMessage]
216
+ # Status associated with the variable. This field will usually stay
217
+ # unset. A status of a single variable only applies to that variable or
218
+ # expression. The rest of breakpoint data still remains valid. Variables
219
+ # might be reported in error state even when breakpoint is not in final
220
+ # state.
221
+ #
222
+ # The message may refer to variable name with +refers_to+ set to
223
+ # +VARIABLE_NAME+. Alternatively +refers_to+ will be set to +VARIABLE_VALUE+.
224
+ # In either case variable value and members will be unset.
225
+ #
226
+ # Example of error message applied to name: +Invalid expression syntax+.
227
+ #
228
+ # Example of information message applied to value: +Not captured+.
229
+ #
230
+ # Examples of error message applied to value:
231
+ #
232
+ # * +Malformed string+,
233
+ # * +Field f not found in class C+
234
+ # * +Null pointer dereference+
235
+ class Variable; end
236
+
237
+ # Represents a stack frame context.
238
+ # @!attribute [rw] function
239
+ # @return [String]
240
+ # Demangled function name at the call site.
241
+ # @!attribute [rw] location
242
+ # @return [Google::Devtools::Clouddebugger::V2::SourceLocation]
243
+ # Source location of the call site.
244
+ # @!attribute [rw] arguments
245
+ # @return [Array<Google::Devtools::Clouddebugger::V2::Variable>]
246
+ # Set of arguments passed to this function.
247
+ # Note that this might not be populated for all stack frames.
248
+ # @!attribute [rw] locals
249
+ # @return [Array<Google::Devtools::Clouddebugger::V2::Variable>]
250
+ # Set of local variables at the stack frame location.
251
+ # Note that this might not be populated for all stack frames.
252
+ class StackFrame; end
253
+
254
+ # Represents the breakpoint specification, status and results.
255
+ # @!attribute [rw] id
256
+ # @return [String]
257
+ # Breakpoint identifier, unique in the scope of the debuggee.
258
+ # @!attribute [rw] action
259
+ # @return [Google::Devtools::Clouddebugger::V2::Breakpoint::Action]
260
+ # Action that the agent should perform when the code at the
261
+ # breakpoint location is hit.
262
+ # @!attribute [rw] location
263
+ # @return [Google::Devtools::Clouddebugger::V2::SourceLocation]
264
+ # Breakpoint source location.
265
+ # @!attribute [rw] condition
266
+ # @return [String]
267
+ # Condition that triggers the breakpoint.
268
+ # The condition is a compound boolean expression composed using expressions
269
+ # in a programming language at the source location.
270
+ # @!attribute [rw] expressions
271
+ # @return [Array<String>]
272
+ # List of read-only expressions to evaluate at the breakpoint location.
273
+ # The expressions are composed using expressions in the programming language
274
+ # at the source location. If the breakpoint action is +LOG+, the evaluated
275
+ # expressions are included in log statements.
276
+ # @!attribute [rw] log_message_format
277
+ # @return [String]
278
+ # Only relevant when action is +LOG+. Defines the message to log when
279
+ # the breakpoint hits. The message may include parameter placeholders +$0+,
280
+ # +$1+, etc. These placeholders are replaced with the evaluated value
281
+ # of the appropriate expression. Expressions not referenced in
282
+ # +log_message_format+ are not logged.
283
+ #
284
+ # Example: +Message received, id = $0, count = $1+ with
285
+ # +expressions+ = +[ message.id, message.count ]+.
286
+ # @!attribute [rw] log_level
287
+ # @return [Google::Devtools::Clouddebugger::V2::Breakpoint::LogLevel]
288
+ # Indicates the severity of the log. Only relevant when action is +LOG+.
289
+ # @!attribute [rw] is_final_state
290
+ # @return [true, false]
291
+ # When true, indicates that this is a final result and the
292
+ # breakpoint state will not change from here on.
293
+ # @!attribute [rw] create_time
294
+ # @return [Google::Protobuf::Timestamp]
295
+ # Time this breakpoint was created by the server in seconds resolution.
296
+ # @!attribute [rw] final_time
297
+ # @return [Google::Protobuf::Timestamp]
298
+ # Time this breakpoint was finalized as seen by the server in seconds
299
+ # resolution.
300
+ # @!attribute [rw] user_email
301
+ # @return [String]
302
+ # E-mail address of the user that created this breakpoint
303
+ # @!attribute [rw] status
304
+ # @return [Google::Devtools::Clouddebugger::V2::StatusMessage]
305
+ # Breakpoint status.
306
+ #
307
+ # The status includes an error flag and a human readable message.
308
+ # This field is usually unset. The message can be either
309
+ # informational or an error message. Regardless, clients should always
310
+ # display the text message back to the user.
311
+ #
312
+ # Error status indicates complete failure of the breakpoint.
313
+ #
314
+ # Example (non-final state): +Still loading symbols...+
315
+ #
316
+ # Examples (final state):
317
+ #
318
+ # * +Invalid line number+ referring to location
319
+ # * +Field f not found in class C+ referring to condition
320
+ # @!attribute [rw] stack_frames
321
+ # @return [Array<Google::Devtools::Clouddebugger::V2::StackFrame>]
322
+ # The stack at breakpoint time.
323
+ # @!attribute [rw] evaluated_expressions
324
+ # @return [Array<Google::Devtools::Clouddebugger::V2::Variable>]
325
+ # Values of evaluated expressions at breakpoint time.
326
+ # The evaluated expressions appear in exactly the same order they
327
+ # are listed in the +expressions+ field.
328
+ # The +name+ field holds the original expression text, the +value+ or
329
+ # +members+ field holds the result of the evaluated expression.
330
+ # If the expression cannot be evaluated, the +status+ inside the +Variable+
331
+ # will indicate an error and contain the error text.
332
+ # @!attribute [rw] variable_table
333
+ # @return [Array<Google::Devtools::Clouddebugger::V2::Variable>]
334
+ # The +variable_table+ exists to aid with computation, memory and network
335
+ # traffic optimization. It enables storing a variable once and reference
336
+ # it from multiple variables, including variables stored in the
337
+ # +variable_table+ itself.
338
+ # For example, the same +this+ object, which may appear at many levels of
339
+ # the stack, can have all of its data stored once in this table. The
340
+ # stack frame variables then would hold only a reference to it.
341
+ #
342
+ # The variable +var_table_index+ field is an index into this repeated field.
343
+ # The stored objects are nameless and get their name from the referencing
344
+ # variable. The effective variable is a merge of the referencing variable
345
+ # and the referenced variable.
346
+ # @!attribute [rw] labels
347
+ # @return [Hash{String => String}]
348
+ # A set of custom breakpoint properties, populated by the agent, to be
349
+ # displayed to the user.
350
+ class Breakpoint
351
+ # Actions that can be taken when a breakpoint hits.
352
+ # Agents should reject breakpoints with unsupported or unknown action values.
353
+ module Action
354
+ # Capture stack frame and variables and update the breakpoint.
355
+ # The data is only captured once. After that the breakpoint is set
356
+ # in a final state.
357
+ CAPTURE = 0
358
+
359
+ # Log each breakpoint hit. The breakpoint remains active until
360
+ # deleted or expired.
361
+ LOG = 1
362
+ end
363
+
364
+ # Log severity levels.
365
+ module LogLevel
366
+ # Information log message.
367
+ INFO = 0
368
+
369
+ # Warning log message.
370
+ WARNING = 1
371
+
372
+ # Error log message.
373
+ ERROR = 2
374
+ end
375
+ end
376
+
377
+ # Represents the application to debug. The application may include one or more
378
+ # replicated processes executing the same code. Each of these processes is
379
+ # attached with a debugger agent, carrying out the debugging commands.
380
+ # The agents attached to the same debuggee are identified by using exactly the
381
+ # same field values when registering.
382
+ # @!attribute [rw] id
383
+ # @return [String]
384
+ # Unique identifier for the debuggee generated by the controller service.
385
+ # @!attribute [rw] project
386
+ # @return [String]
387
+ # Project the debuggee is associated with.
388
+ # Use the project number when registering a Google Cloud Platform project.
389
+ # @!attribute [rw] uniquifier
390
+ # @return [String]
391
+ # Debuggee uniquifier within the project.
392
+ # Any string that identifies the application within the project can be used.
393
+ # Including environment and version or build IDs is recommended.
394
+ # @!attribute [rw] description
395
+ # @return [String]
396
+ # Human readable description of the debuggee.
397
+ # Including a human-readable project name, environment name and version
398
+ # information is recommended.
399
+ # @!attribute [rw] is_inactive
400
+ # @return [true, false]
401
+ # If set to +true+, indicates that the debuggee is considered as inactive by
402
+ # the Controller service.
403
+ # @!attribute [rw] agent_version
404
+ # @return [String]
405
+ # Version ID of the agent release. The version ID is structured as
406
+ # following: +domain/type/vmajor.minor+ (for example
407
+ # +google.com/gcp-java/v1.1+).
408
+ # @!attribute [rw] is_disabled
409
+ # @return [true, false]
410
+ # If set to +true+, indicates that the agent should disable itself and
411
+ # detach from the debuggee.
412
+ # @!attribute [rw] status
413
+ # @return [Google::Devtools::Clouddebugger::V2::StatusMessage]
414
+ # Human readable message to be displayed to the user about this debuggee.
415
+ # Absence of this field indicates no status. The message can be either
416
+ # informational or an error status.
417
+ # @!attribute [rw] source_contexts
418
+ # @return [Array<Google::Devtools::Source::V1::SourceContext>]
419
+ # References to the locations and revisions of the source code used in the
420
+ # deployed application.
421
+ #
422
+ # NOTE: This field is deprecated. Consumers should use
423
+ # +ext_source_contexts+ if it is not empty. Debug agents should populate
424
+ # both this field and +ext_source_contexts+.
425
+ # @!attribute [rw] ext_source_contexts
426
+ # @return [Array<Google::Devtools::Source::V1::ExtendedSourceContext>]
427
+ # References to the locations and revisions of the source code used in the
428
+ # deployed application.
429
+ #
430
+ # Contexts describing a remote repo related to the source code
431
+ # have a +category+ label of +remote_repo+. Source snapshot source
432
+ # contexts have a +category+ of +snapshot+.
433
+ # @!attribute [rw] labels
434
+ # @return [Hash{String => String}]
435
+ # A set of custom debuggee properties, populated by the agent, to be
436
+ # displayed to the user.
437
+ class Debuggee; end
438
+ end
439
+ end
440
+ end
441
+ end
@@ -0,0 +1,151 @@
1
+ # Copyright 2017, Google Inc. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module Google
16
+ module Devtools
17
+ module Clouddebugger
18
+ module V2
19
+ # Request to set a breakpoint
20
+ # @!attribute [rw] debuggee_id
21
+ # @return [String]
22
+ # ID of the debuggee where the breakpoint is to be set.
23
+ # @!attribute [rw] breakpoint
24
+ # @return [Google::Devtools::Clouddebugger::V2::Breakpoint]
25
+ # Breakpoint specification to set.
26
+ # The field 'location' of the breakpoint must be set.
27
+ # @!attribute [rw] client_version
28
+ # @return [String]
29
+ # The client version making the call.
30
+ # Following: +domain/type/version+ (e.g., +google.com/intellij/v1+).
31
+ class SetBreakpointRequest; end
32
+
33
+ # Response for setting a breakpoint.
34
+ # @!attribute [rw] breakpoint
35
+ # @return [Google::Devtools::Clouddebugger::V2::Breakpoint]
36
+ # Breakpoint resource.
37
+ # The field +id+ is guaranteed to be set (in addition to the echoed fileds).
38
+ class SetBreakpointResponse; end
39
+
40
+ # Request to get breakpoint information.
41
+ # @!attribute [rw] debuggee_id
42
+ # @return [String]
43
+ # ID of the debuggee whose breakpoint to get.
44
+ # @!attribute [rw] breakpoint_id
45
+ # @return [String]
46
+ # ID of the breakpoint to get.
47
+ # @!attribute [rw] client_version
48
+ # @return [String]
49
+ # The client version making the call.
50
+ # Following: +domain/type/version+ (e.g., +google.com/intellij/v1+).
51
+ class GetBreakpointRequest; end
52
+
53
+ # Response for getting breakpoint information.
54
+ # @!attribute [rw] breakpoint
55
+ # @return [Google::Devtools::Clouddebugger::V2::Breakpoint]
56
+ # Complete breakpoint state.
57
+ # The fields +id+ and +location+ are guaranteed to be set.
58
+ class GetBreakpointResponse; end
59
+
60
+ # Request to delete a breakpoint.
61
+ # @!attribute [rw] debuggee_id
62
+ # @return [String]
63
+ # ID of the debuggee whose breakpoint to delete.
64
+ # @!attribute [rw] breakpoint_id
65
+ # @return [String]
66
+ # ID of the breakpoint to delete.
67
+ # @!attribute [rw] client_version
68
+ # @return [String]
69
+ # The client version making the call.
70
+ # Following: +domain/type/version+ (e.g., +google.com/intellij/v1+).
71
+ class DeleteBreakpointRequest; end
72
+
73
+ # Request to list breakpoints.
74
+ # @!attribute [rw] debuggee_id
75
+ # @return [String]
76
+ # ID of the debuggee whose breakpoints to list.
77
+ # @!attribute [rw] include_all_users
78
+ # @return [true, false]
79
+ # When set to +true+, the response includes the list of breakpoints set by
80
+ # any user. Otherwise, it includes only breakpoints set by the caller.
81
+ # @!attribute [rw] include_inactive
82
+ # @return [true, false]
83
+ # When set to +true+, the response includes active and inactive
84
+ # breakpoints. Otherwise, it includes only active breakpoints.
85
+ # @!attribute [rw] action
86
+ # @return [Google::Devtools::Clouddebugger::V2::ListBreakpointsRequest::BreakpointActionValue]
87
+ # When set, the response includes only breakpoints with the specified action.
88
+ # @!attribute [rw] strip_results
89
+ # @return [true, false]
90
+ # This field is deprecated. The following fields are always stripped out of
91
+ # the result: +stack_frames+, +evaluated_expressions+ and +variable_table+.
92
+ # @!attribute [rw] wait_token
93
+ # @return [String]
94
+ # A wait token that, if specified, blocks the call until the breakpoints
95
+ # list has changed, or a server selected timeout has expired. The value
96
+ # should be set from the last response. The error code
97
+ # +google.rpc.Code.ABORTED+ (RPC) is returned on wait timeout, which
98
+ # should be called again with the same +wait_token+.
99
+ # @!attribute [rw] client_version
100
+ # @return [String]
101
+ # The client version making the call.
102
+ # Following: +domain/type/version+ (e.g., +google.com/intellij/v1+).
103
+ class ListBreakpointsRequest
104
+ # Wrapper message for +Breakpoint.Action+. Defines a filter on the action
105
+ # field of breakpoints.
106
+ # @!attribute [rw] value
107
+ # @return [Google::Devtools::Clouddebugger::V2::Breakpoint::Action]
108
+ # Only breakpoints with the specified action will pass the filter.
109
+ class BreakpointActionValue; end
110
+ end
111
+
112
+ # Response for listing breakpoints.
113
+ # @!attribute [rw] breakpoints
114
+ # @return [Array<Google::Devtools::Clouddebugger::V2::Breakpoint>]
115
+ # List of breakpoints matching the request.
116
+ # The fields +id+ and +location+ are guaranteed to be set on each breakpoint.
117
+ # The fields: +stack_frames+, +evaluated_expressions+ and +variable_table+
118
+ # are cleared on each breakpoint regardless of it's status.
119
+ # @!attribute [rw] next_wait_token
120
+ # @return [String]
121
+ # A wait token that can be used in the next call to +list+ (REST) or
122
+ # +ListBreakpoints+ (RPC) to block until the list of breakpoints has changes.
123
+ class ListBreakpointsResponse; end
124
+
125
+ # Request to list debuggees.
126
+ # @!attribute [rw] project
127
+ # @return [String]
128
+ # Project number of a Google Cloud project whose debuggees to list.
129
+ # @!attribute [rw] include_inactive
130
+ # @return [true, false]
131
+ # When set to +true+, the result includes all debuggees. Otherwise, the
132
+ # result includes only debuggees that are active.
133
+ # @!attribute [rw] client_version
134
+ # @return [String]
135
+ # The client version making the call.
136
+ # Following: +domain/type/version+ (e.g., +google.com/intellij/v1+).
137
+ class ListDebuggeesRequest; end
138
+
139
+ # Response for listing debuggees.
140
+ # @!attribute [rw] debuggees
141
+ # @return [Array<Google::Devtools::Clouddebugger::V2::Debuggee>]
142
+ # List of debuggees accessible to the calling user.
143
+ # Note that the +description+ field is the only human readable field
144
+ # that should be displayed to the user.
145
+ # The fields +debuggee.id+ and +description+ fields are guaranteed to be
146
+ # set on each debuggee.
147
+ class ListDebuggeesResponse; end
148
+ end
149
+ end
150
+ end
151
+ end