google-cloud-debugger 0.36.1 → 0.42.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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +2 -1
  3. data/CHANGELOG.md +47 -0
  4. data/CONTRIBUTING.md +4 -4
  5. data/LOGGING.md +1 -1
  6. data/OVERVIEW.md +28 -59
  7. data/TROUBLESHOOTING.md +2 -8
  8. data/ext/google/cloud/debugger/debugger_c/tracer.c +8 -33
  9. data/lib/google-cloud-debugger.rb +14 -15
  10. data/lib/google/cloud/debugger.rb +18 -16
  11. data/lib/google/cloud/debugger/agent.rb +4 -1
  12. data/lib/google/cloud/debugger/breakpoint.rb +9 -9
  13. data/lib/google/cloud/debugger/breakpoint/evaluator.rb +19 -25
  14. data/lib/google/cloud/debugger/breakpoint/source_location.rb +6 -6
  15. data/lib/google/cloud/debugger/breakpoint/stack_frame.rb +5 -5
  16. data/lib/google/cloud/debugger/breakpoint/status_message.rb +4 -6
  17. data/lib/google/cloud/debugger/breakpoint/variable.rb +8 -11
  18. data/lib/google/cloud/debugger/breakpoint/variable_table.rb +1 -1
  19. data/lib/google/cloud/debugger/credentials.rb +9 -6
  20. data/lib/google/cloud/debugger/debuggee.rb +4 -4
  21. data/lib/google/cloud/debugger/middleware.rb +1 -1
  22. data/lib/google/cloud/debugger/rails.rb +2 -2
  23. data/lib/google/cloud/debugger/service.rb +28 -66
  24. data/lib/google/cloud/debugger/snappoint.rb +4 -7
  25. data/lib/google/cloud/debugger/transmitter.rb +1 -1
  26. data/lib/google/cloud/debugger/version.rb +1 -1
  27. metadata +14 -72
  28. data/lib/google/cloud/debugger/v2.rb +0 -243
  29. data/lib/google/cloud/debugger/v2/controller2_client.rb +0 -373
  30. data/lib/google/cloud/debugger/v2/controller2_client_config.json +0 -41
  31. data/lib/google/cloud/debugger/v2/credentials.rb +0 -42
  32. data/lib/google/cloud/debugger/v2/debugger2_client.rb +0 -481
  33. data/lib/google/cloud/debugger/v2/debugger2_client_config.json +0 -51
  34. data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/controller.rb +0 -91
  35. data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/data.rb +0 -443
  36. data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/debugger.rb +0 -151
  37. data/lib/google/cloud/debugger/v2/doc/google/devtools/source/v1/source_context.rb +0 -162
  38. data/lib/google/cloud/debugger/v2/doc/google/protobuf/empty.rb +0 -29
  39. data/lib/google/cloud/debugger/v2/doc/google/protobuf/timestamp.rb +0 -113
  40. data/lib/google/devtools/clouddebugger/v2/controller_pb.rb +0 -50
  41. data/lib/google/devtools/clouddebugger/v2/controller_services_pb.rb +0 -98
  42. data/lib/google/devtools/clouddebugger/v2/data_pb.rb +0 -108
  43. data/lib/google/devtools/clouddebugger/v2/debugger_pb.rb +0 -77
  44. data/lib/google/devtools/clouddebugger/v2/debugger_services_pb.rb +0 -66
  45. data/lib/google/devtools/source/v1/source_context_pb.rb +0 -90
@@ -1,151 +0,0 @@
1
- # Copyright 2020 Google LLC
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
- # https://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
-
16
- module Google
17
- module Devtools
18
- module Clouddebugger
19
- module V2
20
- # Request to set a breakpoint
21
- # @!attribute [rw] debuggee_id
22
- # @return [String]
23
- # Required. ID of the debuggee where the breakpoint is to be set.
24
- # @!attribute [rw] breakpoint
25
- # @return [Google::Devtools::Clouddebugger::V2::Breakpoint]
26
- # Required. Breakpoint specification to set.
27
- # The field `location` of the breakpoint must be set.
28
- # @!attribute [rw] client_version
29
- # @return [String]
30
- # Required. The client version making the call.
31
- # Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
32
- class SetBreakpointRequest; end
33
-
34
- # Response for setting a breakpoint.
35
- # @!attribute [rw] breakpoint
36
- # @return [Google::Devtools::Clouddebugger::V2::Breakpoint]
37
- # Breakpoint resource.
38
- # The field `id` is guaranteed to be set (in addition to the echoed fileds).
39
- class SetBreakpointResponse; end
40
-
41
- # Request to get breakpoint information.
42
- # @!attribute [rw] debuggee_id
43
- # @return [String]
44
- # Required. ID of the debuggee whose breakpoint to get.
45
- # @!attribute [rw] breakpoint_id
46
- # @return [String]
47
- # Required. ID of the breakpoint to get.
48
- # @!attribute [rw] client_version
49
- # @return [String]
50
- # Required. The client version making the call.
51
- # Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
52
- class GetBreakpointRequest; end
53
-
54
- # Response for getting breakpoint information.
55
- # @!attribute [rw] breakpoint
56
- # @return [Google::Devtools::Clouddebugger::V2::Breakpoint]
57
- # Complete breakpoint state.
58
- # The fields `id` and `location` are guaranteed to be set.
59
- class GetBreakpointResponse; end
60
-
61
- # Request to delete a breakpoint.
62
- # @!attribute [rw] debuggee_id
63
- # @return [String]
64
- # Required. ID of the debuggee whose breakpoint to delete.
65
- # @!attribute [rw] breakpoint_id
66
- # @return [String]
67
- # Required. ID of the breakpoint to delete.
68
- # @!attribute [rw] client_version
69
- # @return [String]
70
- # Required. The client version making the call.
71
- # Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
72
- class DeleteBreakpointRequest; end
73
-
74
- # Request to list breakpoints.
75
- # @!attribute [rw] debuggee_id
76
- # @return [String]
77
- # Required. ID of the debuggee whose breakpoints to list.
78
- # @!attribute [rw] include_all_users
79
- # @return [true, false]
80
- # When set to `true`, the response includes the list of breakpoints set by
81
- # any user. Otherwise, it includes only breakpoints set by the caller.
82
- # @!attribute [rw] include_inactive
83
- # @return [true, false]
84
- # When set to `true`, the response includes active and inactive
85
- # breakpoints. Otherwise, it includes only active breakpoints.
86
- # @!attribute [rw] action
87
- # @return [Google::Devtools::Clouddebugger::V2::ListBreakpointsRequest::BreakpointActionValue]
88
- # When set, the response includes only breakpoints with the specified action.
89
- # @!attribute [rw] strip_results
90
- # @return [true, false]
91
- # This field is deprecated. The following fields are always stripped out of
92
- # the result: `stack_frames`, `evaluated_expressions` and `variable_table`.
93
- # @!attribute [rw] wait_token
94
- # @return [String]
95
- # A wait token that, if specified, blocks the call until the breakpoints
96
- # list has changed, or a server selected timeout has expired. The value
97
- # should be set from the last response. The error code
98
- # `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which
99
- # should be called again with the same `wait_token`.
100
- # @!attribute [rw] client_version
101
- # @return [String]
102
- # Required. The client version making the call.
103
- # Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
104
- class ListBreakpointsRequest
105
- # Wrapper message for `Breakpoint.Action`. Defines a filter on the action
106
- # field of breakpoints.
107
- # @!attribute [rw] value
108
- # @return [Google::Devtools::Clouddebugger::V2::Breakpoint::Action]
109
- # Only breakpoints with the specified action will pass the filter.
110
- class BreakpointActionValue; end
111
- end
112
-
113
- # Response for listing breakpoints.
114
- # @!attribute [rw] breakpoints
115
- # @return [Array<Google::Devtools::Clouddebugger::V2::Breakpoint>]
116
- # List of breakpoints matching the request.
117
- # The fields `id` and `location` are guaranteed to be set on each breakpoint.
118
- # The fields: `stack_frames`, `evaluated_expressions` and `variable_table`
119
- # are cleared on each breakpoint regardless of its status.
120
- # @!attribute [rw] next_wait_token
121
- # @return [String]
122
- # A wait token that can be used in the next call to `list` (REST) or
123
- # `ListBreakpoints` (RPC) to block until the list of breakpoints has changes.
124
- class ListBreakpointsResponse; end
125
-
126
- # Request to list debuggees.
127
- # @!attribute [rw] project
128
- # @return [String]
129
- # Required. Project number of a Google Cloud project whose debuggees to list.
130
- # @!attribute [rw] include_inactive
131
- # @return [true, false]
132
- # When set to `true`, the result includes all debuggees. Otherwise, the
133
- # result includes only debuggees that are active.
134
- # @!attribute [rw] client_version
135
- # @return [String]
136
- # Required. The client version making the call.
137
- # Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
138
- class ListDebuggeesRequest; end
139
-
140
- # Response for listing debuggees.
141
- # @!attribute [rw] debuggees
142
- # @return [Array<Google::Devtools::Clouddebugger::V2::Debuggee>]
143
- # List of debuggees accessible to the calling user.
144
- # The fields `debuggee.id` and `description` are guaranteed to be set.
145
- # The `description` field is a human readable field provided by agents and
146
- # can be displayed to users.
147
- class ListDebuggeesResponse; end
148
- end
149
- end
150
- end
151
- end
@@ -1,162 +0,0 @@
1
- # Copyright 2020 Google LLC
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
- # https://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
-
16
- module Google
17
- module Devtools
18
- module Source
19
- module V1
20
- # A SourceContext is a reference to a tree of files. A SourceContext together
21
- # with a path point to a unique revision of a single file or directory.
22
- # @!attribute [rw] cloud_repo
23
- # @return [Google::Devtools::Source::V1::CloudRepoSourceContext]
24
- # A SourceContext referring to a revision in a cloud repo.
25
- # @!attribute [rw] cloud_workspace
26
- # @return [Google::Devtools::Source::V1::CloudWorkspaceSourceContext]
27
- # A SourceContext referring to a snapshot in a cloud workspace.
28
- # @!attribute [rw] gerrit
29
- # @return [Google::Devtools::Source::V1::GerritSourceContext]
30
- # A SourceContext referring to a Gerrit project.
31
- # @!attribute [rw] git
32
- # @return [Google::Devtools::Source::V1::GitSourceContext]
33
- # A SourceContext referring to any third party Git repo (e.g. GitHub).
34
- class SourceContext; end
35
-
36
- # An ExtendedSourceContext is a SourceContext combined with additional
37
- # details describing the context.
38
- # @!attribute [rw] context
39
- # @return [Google::Devtools::Source::V1::SourceContext]
40
- # Any source context.
41
- # @!attribute [rw] labels
42
- # @return [Hash{String => String}]
43
- # Labels with user defined metadata.
44
- class ExtendedSourceContext; end
45
-
46
- # An alias to a repo revision.
47
- # @!attribute [rw] kind
48
- # @return [Google::Devtools::Source::V1::AliasContext::Kind]
49
- # The alias kind.
50
- # @!attribute [rw] name
51
- # @return [String]
52
- # The alias name.
53
- class AliasContext
54
- # The type of an Alias.
55
- module Kind
56
- # Do not use.
57
- ANY = 0
58
-
59
- # Git tag
60
- FIXED = 1
61
-
62
- # Git branch
63
- MOVABLE = 2
64
-
65
- # OTHER is used to specify non-standard aliases, those not of the kinds
66
- # above. For example, if a Git repo has a ref named "refs/foo/bar", it
67
- # is considered to be of kind OTHER.
68
- OTHER = 4
69
- end
70
- end
71
-
72
- # A CloudRepoSourceContext denotes a particular revision in a cloud
73
- # repo (a repo hosted by the Google Cloud Platform).
74
- # @!attribute [rw] repo_id
75
- # @return [Google::Devtools::Source::V1::RepoId]
76
- # The ID of the repo.
77
- # @!attribute [rw] revision_id
78
- # @return [String]
79
- # A revision ID.
80
- # @!attribute [rw] alias_name
81
- # @return [String]
82
- # The name of an alias (branch, tag, etc.).
83
- # @!attribute [rw] alias_context
84
- # @return [Google::Devtools::Source::V1::AliasContext]
85
- # An alias, which may be a branch or tag.
86
- class CloudRepoSourceContext; end
87
-
88
- # A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot.
89
- # @!attribute [rw] workspace_id
90
- # @return [Google::Devtools::Source::V1::CloudWorkspaceId]
91
- # The ID of the workspace.
92
- # @!attribute [rw] snapshot_id
93
- # @return [String]
94
- # The ID of the snapshot.
95
- # An empty snapshot_id refers to the most recent snapshot.
96
- class CloudWorkspaceSourceContext; end
97
-
98
- # A SourceContext referring to a Gerrit project.
99
- # @!attribute [rw] host_uri
100
- # @return [String]
101
- # The URI of a running Gerrit instance.
102
- # @!attribute [rw] gerrit_project
103
- # @return [String]
104
- # The full project name within the host. Projects may be nested, so
105
- # "project/subproject" is a valid project name.
106
- # The "repo name" is hostURI/project.
107
- # @!attribute [rw] revision_id
108
- # @return [String]
109
- # A revision (commit) ID.
110
- # @!attribute [rw] alias_name
111
- # @return [String]
112
- # The name of an alias (branch, tag, etc.).
113
- # @!attribute [rw] alias_context
114
- # @return [Google::Devtools::Source::V1::AliasContext]
115
- # An alias, which may be a branch or tag.
116
- class GerritSourceContext; end
117
-
118
- # A GitSourceContext denotes a particular revision in a third party Git
119
- # repository (e.g. GitHub).
120
- # @!attribute [rw] url
121
- # @return [String]
122
- # Git repository URL.
123
- # @!attribute [rw] revision_id
124
- # @return [String]
125
- # Git commit hash.
126
- # required.
127
- class GitSourceContext; end
128
-
129
- # A unique identifier for a cloud repo.
130
- # @!attribute [rw] project_repo_id
131
- # @return [Google::Devtools::Source::V1::ProjectRepoId]
132
- # A combination of a project ID and a repo name.
133
- # @!attribute [rw] uid
134
- # @return [String]
135
- # A server-assigned, globally unique identifier.
136
- class RepoId; end
137
-
138
- # Selects a repo using a Google Cloud Platform project ID
139
- # (e.g. winged-cargo-31) and a repo name within that project.
140
- # @!attribute [rw] project_id
141
- # @return [String]
142
- # The ID of the project.
143
- # @!attribute [rw] repo_name
144
- # @return [String]
145
- # The name of the repo. Leave empty for the default repo.
146
- class ProjectRepoId; end
147
-
148
- # A CloudWorkspaceId is a unique identifier for a cloud workspace.
149
- # A cloud workspace is a place associated with a repo where modified files
150
- # can be stored before they are committed.
151
- # @!attribute [rw] repo_id
152
- # @return [Google::Devtools::Source::V1::RepoId]
153
- # The ID of the repo containing the workspace.
154
- # @!attribute [rw] name
155
- # @return [String]
156
- # The unique name of the workspace within the repo. This is the name
157
- # chosen by the client in the Source API's CreateWorkspace method.
158
- class CloudWorkspaceId; end
159
- end
160
- end
161
- end
162
- end
@@ -1,29 +0,0 @@
1
- # Copyright 2020 Google LLC
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
- # https://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
-
16
- module Google
17
- module Protobuf
18
- # A generic empty message that you can re-use to avoid defining duplicated
19
- # empty messages in your APIs. A typical example is to use it as the request
20
- # or the response type of an API method. For instance:
21
- #
22
- # service Foo {
23
- # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
24
- # }
25
- #
26
- # The JSON representation for `Empty` is empty JSON object `{}`.
27
- class Empty; end
28
- end
29
- end
@@ -1,113 +0,0 @@
1
- # Copyright 2020 Google LLC
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
- # https://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
-
16
- module Google
17
- module Protobuf
18
- # A Timestamp represents a point in time independent of any time zone or local
19
- # calendar, encoded as a count of seconds and fractions of seconds at
20
- # nanosecond resolution. The count is relative to an epoch at UTC midnight on
21
- # January 1, 1970, in the proleptic Gregorian calendar which extends the
22
- # Gregorian calendar backwards to year one.
23
- #
24
- # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
25
- # second table is needed for interpretation, using a [24-hour linear
26
- # smear](https://developers.google.com/time/smear).
27
- #
28
- # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
29
- # restricting to that range, we ensure that we can convert to and from [RFC
30
- # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
31
- #
32
- # = Examples
33
- #
34
- # Example 1: Compute Timestamp from POSIX `time()`.
35
- #
36
- # Timestamp timestamp;
37
- # timestamp.set_seconds(time(NULL));
38
- # timestamp.set_nanos(0);
39
- #
40
- # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
41
- #
42
- # struct timeval tv;
43
- # gettimeofday(&tv, NULL);
44
- #
45
- # Timestamp timestamp;
46
- # timestamp.set_seconds(tv.tv_sec);
47
- # timestamp.set_nanos(tv.tv_usec * 1000);
48
- #
49
- # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
50
- #
51
- # FILETIME ft;
52
- # GetSystemTimeAsFileTime(&ft);
53
- # UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
54
- #
55
- # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
56
- # // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
57
- # Timestamp timestamp;
58
- # timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
59
- # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
60
- #
61
- # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
62
- #
63
- # long millis = System.currentTimeMillis();
64
- #
65
- # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
66
- # .setNanos((int) ((millis % 1000) * 1000000)).build();
67
- #
68
- #
69
- # Example 5: Compute Timestamp from current time in Python.
70
- #
71
- # timestamp = Timestamp()
72
- # timestamp.GetCurrentTime()
73
- #
74
- # = JSON Mapping
75
- #
76
- # In JSON format, the Timestamp type is encoded as a string in the
77
- # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
78
- # format is "\\{year}-\\{month}-\\{day}T\\{hour}:\\{min}:\\{sec}[.\\{frac_sec}]Z"
79
- # where \\{year} is always expressed using four digits while \\{month}, \\{day},
80
- # \\{hour}, \\{min}, and \\{sec} are zero-padded to two digits each. The fractional
81
- # seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
82
- # are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
83
- # is required. A proto3 JSON serializer should always use UTC (as indicated by
84
- # "Z") when printing the Timestamp type and a proto3 JSON parser should be
85
- # able to accept both UTC and other timezones (as indicated by an offset).
86
- #
87
- # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
88
- # 01:30 UTC on January 15, 2017.
89
- #
90
- # In JavaScript, one can convert a Date object to this format using the
91
- # standard
92
- # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
93
- # method. In Python, a standard `datetime.datetime` object can be converted
94
- # to this format using
95
- # [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
96
- # the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
97
- # the Joda Time's [`ISODateTimeFormat.dateTime()`](
98
- # http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
99
- # ) to obtain a formatter capable of generating timestamps in this format.
100
- # @!attribute [rw] seconds
101
- # @return [Integer]
102
- # Represents seconds of UTC time since Unix epoch
103
- # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
104
- # 9999-12-31T23:59:59Z inclusive.
105
- # @!attribute [rw] nanos
106
- # @return [Integer]
107
- # Non-negative fractions of a second at nanosecond resolution. Negative
108
- # second values with fractions must still have non-negative nanos values
109
- # that count forward in time. Must be from 0 to 999,999,999
110
- # inclusive.
111
- class Timestamp; end
112
- end
113
- end