google-cloud-debugger 0.24.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.
- checksums.yaml +7 -0
- data/.yardopts +8 -0
- data/LICENSE +201 -0
- data/README.md +56 -0
- data/ext/google/cloud/debugger/debugger_c/debugger.c +31 -0
- data/ext/google/cloud/debugger/debugger_c/debugger.h +26 -0
- data/ext/google/cloud/debugger/debugger_c/evaluator.c +78 -0
- data/ext/google/cloud/debugger/debugger_c/evaluator.h +25 -0
- data/ext/google/cloud/debugger/debugger_c/extconf.rb +22 -0
- data/ext/google/cloud/debugger/debugger_c/tracer.c +478 -0
- data/ext/google/cloud/debugger/debugger_c/tracer.h +31 -0
- data/lib/google-cloud-debugger.rb +121 -0
- data/lib/google/cloud/debugger.rb +379 -0
- data/lib/google/cloud/debugger/agent.rb +204 -0
- data/lib/google/cloud/debugger/async_actor.rb +290 -0
- data/lib/google/cloud/debugger/breakpoint.rb +382 -0
- data/lib/google/cloud/debugger/breakpoint/evaluator.rb +1113 -0
- data/lib/google/cloud/debugger/breakpoint/source_location.rb +75 -0
- data/lib/google/cloud/debugger/breakpoint/stack_frame.rb +109 -0
- data/lib/google/cloud/debugger/breakpoint/variable.rb +304 -0
- data/lib/google/cloud/debugger/breakpoint_manager.rb +217 -0
- data/lib/google/cloud/debugger/credentials.rb +41 -0
- data/lib/google/cloud/debugger/debuggee.rb +204 -0
- data/lib/google/cloud/debugger/debuggee/app_uniquifier_generator.rb +78 -0
- data/lib/google/cloud/debugger/middleware.rb +77 -0
- data/lib/google/cloud/debugger/project.rb +135 -0
- data/lib/google/cloud/debugger/rails.rb +141 -0
- data/lib/google/cloud/debugger/service.rb +130 -0
- data/lib/google/cloud/debugger/tracer.rb +165 -0
- data/lib/google/cloud/debugger/transmitter.rb +129 -0
- data/lib/google/cloud/debugger/v2.rb +15 -0
- data/lib/google/cloud/debugger/v2/controller2_client.rb +299 -0
- data/lib/google/cloud/debugger/v2/controller2_client_config.json +43 -0
- data/lib/google/cloud/debugger/v2/debugger2_client.rb +378 -0
- data/lib/google/cloud/debugger/v2/debugger2_client_config.json +53 -0
- data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/data.rb +441 -0
- data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/debugger.rb +151 -0
- data/lib/google/cloud/debugger/v2/doc/google/devtools/source/v1/source_context.rb +161 -0
- data/lib/google/cloud/debugger/v2/doc/google/protobuf/timestamp.rb +81 -0
- data/lib/google/cloud/debugger/version.rb +22 -0
- data/lib/google/devtools/clouddebugger/v2/controller_pb.rb +47 -0
- data/lib/google/devtools/clouddebugger/v2/controller_services_pb.rb +97 -0
- data/lib/google/devtools/clouddebugger/v2/data_pb.rb +105 -0
- data/lib/google/devtools/clouddebugger/v2/debugger_pb.rb +74 -0
- data/lib/google/devtools/clouddebugger/v2/debugger_services_pb.rb +64 -0
- data/lib/google/devtools/source/v1/source_context_pb.rb +89 -0
- metadata +300 -0
@@ -0,0 +1,161 @@
|
|
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 Source
|
18
|
+
module V1
|
19
|
+
# A SourceContext is a reference to a tree of files. A SourceContext together
|
20
|
+
# with a path point to a unique revision of a single file or directory.
|
21
|
+
# @!attribute [rw] cloud_repo
|
22
|
+
# @return [Google::Devtools::Source::V1::CloudRepoSourceContext]
|
23
|
+
# A SourceContext referring to a revision in a cloud repo.
|
24
|
+
# @!attribute [rw] cloud_workspace
|
25
|
+
# @return [Google::Devtools::Source::V1::CloudWorkspaceSourceContext]
|
26
|
+
# A SourceContext referring to a snapshot in a cloud workspace.
|
27
|
+
# @!attribute [rw] gerrit
|
28
|
+
# @return [Google::Devtools::Source::V1::GerritSourceContext]
|
29
|
+
# A SourceContext referring to a Gerrit project.
|
30
|
+
# @!attribute [rw] git
|
31
|
+
# @return [Google::Devtools::Source::V1::GitSourceContext]
|
32
|
+
# A SourceContext referring to any third party Git repo (e.g. GitHub).
|
33
|
+
class SourceContext; end
|
34
|
+
|
35
|
+
# An ExtendedSourceContext is a SourceContext combined with additional
|
36
|
+
# details describing the context.
|
37
|
+
# @!attribute [rw] context
|
38
|
+
# @return [Google::Devtools::Source::V1::SourceContext]
|
39
|
+
# Any source context.
|
40
|
+
# @!attribute [rw] labels
|
41
|
+
# @return [Hash{String => String}]
|
42
|
+
# Labels with user defined metadata.
|
43
|
+
class ExtendedSourceContext; end
|
44
|
+
|
45
|
+
# An alias to a repo revision.
|
46
|
+
# @!attribute [rw] kind
|
47
|
+
# @return [Google::Devtools::Source::V1::AliasContext::Kind]
|
48
|
+
# The alias kind.
|
49
|
+
# @!attribute [rw] name
|
50
|
+
# @return [String]
|
51
|
+
# The alias name.
|
52
|
+
class AliasContext
|
53
|
+
# The type of an Alias.
|
54
|
+
module Kind
|
55
|
+
# Do not use.
|
56
|
+
ANY = 0
|
57
|
+
|
58
|
+
# Git tag
|
59
|
+
FIXED = 1
|
60
|
+
|
61
|
+
# Git branch
|
62
|
+
MOVABLE = 2
|
63
|
+
|
64
|
+
# OTHER is used to specify non-standard aliases, those not of the kinds
|
65
|
+
# above. For example, if a Git repo has a ref named "refs/foo/bar", it
|
66
|
+
# is considered to be of kind OTHER.
|
67
|
+
OTHER = 4
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# A CloudRepoSourceContext denotes a particular revision in a cloud
|
72
|
+
# repo (a repo hosted by the Google Cloud Platform).
|
73
|
+
# @!attribute [rw] repo_id
|
74
|
+
# @return [Google::Devtools::Source::V1::RepoId]
|
75
|
+
# The ID of the repo.
|
76
|
+
# @!attribute [rw] revision_id
|
77
|
+
# @return [String]
|
78
|
+
# A revision ID.
|
79
|
+
# @!attribute [rw] alias_name
|
80
|
+
# @return [String]
|
81
|
+
# The name of an alias (branch, tag, etc.).
|
82
|
+
# @!attribute [rw] alias_context
|
83
|
+
# @return [Google::Devtools::Source::V1::AliasContext]
|
84
|
+
# An alias, which may be a branch or tag.
|
85
|
+
class CloudRepoSourceContext; end
|
86
|
+
|
87
|
+
# A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot.
|
88
|
+
# @!attribute [rw] workspace_id
|
89
|
+
# @return [Google::Devtools::Source::V1::CloudWorkspaceId]
|
90
|
+
# The ID of the workspace.
|
91
|
+
# @!attribute [rw] snapshot_id
|
92
|
+
# @return [String]
|
93
|
+
# The ID of the snapshot.
|
94
|
+
# An empty snapshot_id refers to the most recent snapshot.
|
95
|
+
class CloudWorkspaceSourceContext; end
|
96
|
+
|
97
|
+
# A SourceContext referring to a Gerrit project.
|
98
|
+
# @!attribute [rw] host_uri
|
99
|
+
# @return [String]
|
100
|
+
# The URI of a running Gerrit instance.
|
101
|
+
# @!attribute [rw] gerrit_project
|
102
|
+
# @return [String]
|
103
|
+
# The full project name within the host. Projects may be nested, so
|
104
|
+
# "project/subproject" is a valid project name.
|
105
|
+
# The "repo name" is hostURI/project.
|
106
|
+
# @!attribute [rw] revision_id
|
107
|
+
# @return [String]
|
108
|
+
# A revision (commit) ID.
|
109
|
+
# @!attribute [rw] alias_name
|
110
|
+
# @return [String]
|
111
|
+
# The name of an alias (branch, tag, etc.).
|
112
|
+
# @!attribute [rw] alias_context
|
113
|
+
# @return [Google::Devtools::Source::V1::AliasContext]
|
114
|
+
# An alias, which may be a branch or tag.
|
115
|
+
class GerritSourceContext; end
|
116
|
+
|
117
|
+
# A GitSourceContext denotes a particular revision in a third party Git
|
118
|
+
# repository (e.g. GitHub).
|
119
|
+
# @!attribute [rw] url
|
120
|
+
# @return [String]
|
121
|
+
# Git repository URL.
|
122
|
+
# @!attribute [rw] revision_id
|
123
|
+
# @return [String]
|
124
|
+
# Git commit hash.
|
125
|
+
# required.
|
126
|
+
class GitSourceContext; end
|
127
|
+
|
128
|
+
# A unique identifier for a cloud repo.
|
129
|
+
# @!attribute [rw] project_repo_id
|
130
|
+
# @return [Google::Devtools::Source::V1::ProjectRepoId]
|
131
|
+
# A combination of a project ID and a repo name.
|
132
|
+
# @!attribute [rw] uid
|
133
|
+
# @return [String]
|
134
|
+
# A server-assigned, globally unique identifier.
|
135
|
+
class RepoId; end
|
136
|
+
|
137
|
+
# Selects a repo using a Google Cloud Platform project ID
|
138
|
+
# (e.g. winged-cargo-31) and a repo name within that project.
|
139
|
+
# @!attribute [rw] project_id
|
140
|
+
# @return [String]
|
141
|
+
# The ID of the project.
|
142
|
+
# @!attribute [rw] repo_name
|
143
|
+
# @return [String]
|
144
|
+
# The name of the repo. Leave empty for the default repo.
|
145
|
+
class ProjectRepoId; end
|
146
|
+
|
147
|
+
# A CloudWorkspaceId is a unique identifier for a cloud workspace.
|
148
|
+
# A cloud workspace is a place associated with a repo where modified files
|
149
|
+
# can be stored before they are committed.
|
150
|
+
# @!attribute [rw] repo_id
|
151
|
+
# @return [Google::Devtools::Source::V1::RepoId]
|
152
|
+
# The ID of the repo containing the workspace.
|
153
|
+
# @!attribute [rw] name
|
154
|
+
# @return [String]
|
155
|
+
# The unique name of the workspace within the repo. This is the name
|
156
|
+
# chosen by the client in the Source API's CreateWorkspace method.
|
157
|
+
class CloudWorkspaceId; end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
@@ -0,0 +1,81 @@
|
|
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 Protobuf
|
17
|
+
# A Timestamp represents a point in time independent of any time zone
|
18
|
+
# or calendar, represented as seconds and fractions of seconds at
|
19
|
+
# nanosecond resolution in UTC Epoch time. It is encoded using the
|
20
|
+
# Proleptic Gregorian Calendar which extends the Gregorian calendar
|
21
|
+
# backwards to year one. It is encoded assuming all minutes are 60
|
22
|
+
# seconds long, i.e. leap seconds are "smeared" so that no leap second
|
23
|
+
# table is needed for interpretation. Range is from
|
24
|
+
# 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
|
25
|
+
# By restricting to that range, we ensure that we can convert to
|
26
|
+
# and from RFC 3339 date strings.
|
27
|
+
# See {https://www.ietf.org/rfc/rfc3339.txt}[https://www.ietf.org/rfc/rfc3339.txt].
|
28
|
+
#
|
29
|
+
# Example 1: Compute Timestamp from POSIX +time()+.
|
30
|
+
#
|
31
|
+
# Timestamp timestamp;
|
32
|
+
# timestamp.set_seconds(time(NULL));
|
33
|
+
# timestamp.set_nanos(0);
|
34
|
+
#
|
35
|
+
# Example 2: Compute Timestamp from POSIX +gettimeofday()+.
|
36
|
+
#
|
37
|
+
# struct timeval tv;
|
38
|
+
# gettimeofday(&tv, NULL);
|
39
|
+
#
|
40
|
+
# Timestamp timestamp;
|
41
|
+
# timestamp.set_seconds(tv.tv_sec);
|
42
|
+
# timestamp.set_nanos(tv.tv_usec * 1000);
|
43
|
+
#
|
44
|
+
# Example 3: Compute Timestamp from Win32 +GetSystemTimeAsFileTime()+.
|
45
|
+
#
|
46
|
+
# FILETIME ft;
|
47
|
+
# GetSystemTimeAsFileTime(&ft);
|
48
|
+
# UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
|
49
|
+
#
|
50
|
+
# // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
|
51
|
+
# // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
|
52
|
+
# Timestamp timestamp;
|
53
|
+
# timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
|
54
|
+
# timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
|
55
|
+
#
|
56
|
+
# Example 4: Compute Timestamp from Java +System.currentTimeMillis()+.
|
57
|
+
#
|
58
|
+
# long millis = System.currentTimeMillis();
|
59
|
+
#
|
60
|
+
# Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
|
61
|
+
# .setNanos((int) ((millis % 1000) * 1000000)).build();
|
62
|
+
#
|
63
|
+
#
|
64
|
+
# Example 5: Compute Timestamp from current time in Python.
|
65
|
+
#
|
66
|
+
# timestamp = Timestamp()
|
67
|
+
# timestamp.GetCurrentTime()
|
68
|
+
# @!attribute [rw] seconds
|
69
|
+
# @return [Integer]
|
70
|
+
# Represents seconds of UTC time since Unix epoch
|
71
|
+
# 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
|
72
|
+
# 9999-12-31T23:59:59Z inclusive.
|
73
|
+
# @!attribute [rw] nanos
|
74
|
+
# @return [Integer]
|
75
|
+
# Non-negative fractions of a second at nanosecond resolution. Negative
|
76
|
+
# second values with fractions must still have non-negative nanos values
|
77
|
+
# that count forward in time. Must be from 0 to 999,999,999
|
78
|
+
# inclusive.
|
79
|
+
class Timestamp; end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,22 @@
|
|
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
|
+
|
16
|
+
module Google
|
17
|
+
module Cloud
|
18
|
+
module Debugger
|
19
|
+
VERSION = "0.24.0"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/devtools/clouddebugger/v2/controller.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/annotations_pb'
|
7
|
+
require 'google/devtools/clouddebugger/v2/data_pb'
|
8
|
+
require 'google/protobuf/empty_pb'
|
9
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
10
|
+
add_message "google.devtools.clouddebugger.v2.RegisterDebuggeeRequest" do
|
11
|
+
optional :debuggee, :message, 1, "google.devtools.clouddebugger.v2.Debuggee"
|
12
|
+
end
|
13
|
+
add_message "google.devtools.clouddebugger.v2.RegisterDebuggeeResponse" do
|
14
|
+
optional :debuggee, :message, 1, "google.devtools.clouddebugger.v2.Debuggee"
|
15
|
+
end
|
16
|
+
add_message "google.devtools.clouddebugger.v2.ListActiveBreakpointsRequest" do
|
17
|
+
optional :debuggee_id, :string, 1
|
18
|
+
optional :wait_token, :string, 2
|
19
|
+
optional :success_on_timeout, :bool, 3
|
20
|
+
end
|
21
|
+
add_message "google.devtools.clouddebugger.v2.ListActiveBreakpointsResponse" do
|
22
|
+
repeated :breakpoints, :message, 1, "google.devtools.clouddebugger.v2.Breakpoint"
|
23
|
+
optional :next_wait_token, :string, 2
|
24
|
+
optional :wait_expired, :bool, 3
|
25
|
+
end
|
26
|
+
add_message "google.devtools.clouddebugger.v2.UpdateActiveBreakpointRequest" do
|
27
|
+
optional :debuggee_id, :string, 1
|
28
|
+
optional :breakpoint, :message, 2, "google.devtools.clouddebugger.v2.Breakpoint"
|
29
|
+
end
|
30
|
+
add_message "google.devtools.clouddebugger.v2.UpdateActiveBreakpointResponse" do
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
module Google
|
35
|
+
module Devtools
|
36
|
+
module Clouddebugger
|
37
|
+
module V2
|
38
|
+
RegisterDebuggeeRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.RegisterDebuggeeRequest").msgclass
|
39
|
+
RegisterDebuggeeResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.RegisterDebuggeeResponse").msgclass
|
40
|
+
ListActiveBreakpointsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.ListActiveBreakpointsRequest").msgclass
|
41
|
+
ListActiveBreakpointsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.ListActiveBreakpointsResponse").msgclass
|
42
|
+
UpdateActiveBreakpointRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.UpdateActiveBreakpointRequest").msgclass
|
43
|
+
UpdateActiveBreakpointResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.UpdateActiveBreakpointResponse").msgclass
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# Source: google/devtools/clouddebugger/v2/controller.proto for package 'google.devtools.clouddebugger.v2'
|
3
|
+
# Original file comments:
|
4
|
+
# Copyright 2017 Google Inc.
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'grpc'
|
20
|
+
require 'google/devtools/clouddebugger/v2/controller_pb'
|
21
|
+
|
22
|
+
module Google
|
23
|
+
module Devtools
|
24
|
+
module Clouddebugger
|
25
|
+
module V2
|
26
|
+
module Controller2
|
27
|
+
# The Controller service provides the API for orchestrating a collection of
|
28
|
+
# debugger agents to perform debugging tasks. These agents are each attached
|
29
|
+
# to a process of an application which may include one or more replicas.
|
30
|
+
#
|
31
|
+
# The debugger agents register with the Controller to identify the application
|
32
|
+
# being debugged, the Debuggee. All agents that register with the same data,
|
33
|
+
# represent the same Debuggee, and are assigned the same `debuggee_id`.
|
34
|
+
#
|
35
|
+
# The debugger agents call the Controller to retrieve the list of active
|
36
|
+
# Breakpoints. Agents with the same `debuggee_id` get the same breakpoints
|
37
|
+
# list. An agent that can fulfill the breakpoint request updates the
|
38
|
+
# Controller with the breakpoint result. The controller selects the first
|
39
|
+
# result received and discards the rest of the results.
|
40
|
+
# Agents that poll again for active breakpoints will no longer have
|
41
|
+
# the completed breakpoint in the list and should remove that breakpoint from
|
42
|
+
# their attached process.
|
43
|
+
#
|
44
|
+
# The Controller service does not provide a way to retrieve the results of
|
45
|
+
# a completed breakpoint. This functionality is available using the Debugger
|
46
|
+
# service.
|
47
|
+
class Service
|
48
|
+
|
49
|
+
include GRPC::GenericService
|
50
|
+
|
51
|
+
self.marshal_class_method = :encode
|
52
|
+
self.unmarshal_class_method = :decode
|
53
|
+
self.service_name = 'google.devtools.clouddebugger.v2.Controller2'
|
54
|
+
|
55
|
+
# Registers the debuggee with the controller service.
|
56
|
+
#
|
57
|
+
# All agents attached to the same application should call this method with
|
58
|
+
# the same request content to get back the same stable `debuggee_id`. Agents
|
59
|
+
# should call this method again whenever `google.rpc.Code.NOT_FOUND` is
|
60
|
+
# returned from any controller method.
|
61
|
+
#
|
62
|
+
# This allows the controller service to disable the agent or recover from any
|
63
|
+
# data loss. If the debuggee is disabled by the server, the response will
|
64
|
+
# have `is_disabled` set to `true`.
|
65
|
+
rpc :RegisterDebuggee, RegisterDebuggeeRequest, RegisterDebuggeeResponse
|
66
|
+
# Returns the list of all active breakpoints for the debuggee.
|
67
|
+
#
|
68
|
+
# The breakpoint specification (location, condition, and expression
|
69
|
+
# fields) is semantically immutable, although the field values may
|
70
|
+
# change. For example, an agent may update the location line number
|
71
|
+
# to reflect the actual line where the breakpoint was set, but this
|
72
|
+
# doesn't change the breakpoint semantics.
|
73
|
+
#
|
74
|
+
# This means that an agent does not need to check if a breakpoint has changed
|
75
|
+
# when it encounters the same breakpoint on a successive call.
|
76
|
+
# Moreover, an agent should remember the breakpoints that are completed
|
77
|
+
# until the controller removes them from the active list to avoid
|
78
|
+
# setting those breakpoints again.
|
79
|
+
rpc :ListActiveBreakpoints, ListActiveBreakpointsRequest, ListActiveBreakpointsResponse
|
80
|
+
# Updates the breakpoint state or mutable fields.
|
81
|
+
# The entire Breakpoint message must be sent back to the controller
|
82
|
+
# service.
|
83
|
+
#
|
84
|
+
# Updates to active breakpoint fields are only allowed if the new value
|
85
|
+
# does not change the breakpoint specification. Updates to the `location`,
|
86
|
+
# `condition` and `expression` fields should not alter the breakpoint
|
87
|
+
# semantics. These may only make changes such as canonicalizing a value
|
88
|
+
# or snapping the location to the correct line of code.
|
89
|
+
rpc :UpdateActiveBreakpoint, UpdateActiveBreakpointRequest, UpdateActiveBreakpointResponse
|
90
|
+
end
|
91
|
+
|
92
|
+
Stub = Service.rpc_stub_class
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -0,0 +1,105 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: google/devtools/clouddebugger/v2/data.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/api/annotations_pb'
|
7
|
+
require 'google/devtools/source/v1/source_context_pb'
|
8
|
+
require 'google/protobuf/timestamp_pb'
|
9
|
+
require 'google/protobuf/wrappers_pb'
|
10
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
11
|
+
add_message "google.devtools.clouddebugger.v2.FormatMessage" do
|
12
|
+
optional :format, :string, 1
|
13
|
+
repeated :parameters, :string, 2
|
14
|
+
end
|
15
|
+
add_message "google.devtools.clouddebugger.v2.StatusMessage" do
|
16
|
+
optional :is_error, :bool, 1
|
17
|
+
optional :refers_to, :enum, 2, "google.devtools.clouddebugger.v2.StatusMessage.Reference"
|
18
|
+
optional :description, :message, 3, "google.devtools.clouddebugger.v2.FormatMessage"
|
19
|
+
end
|
20
|
+
add_enum "google.devtools.clouddebugger.v2.StatusMessage.Reference" do
|
21
|
+
value :UNSPECIFIED, 0
|
22
|
+
value :BREAKPOINT_SOURCE_LOCATION, 3
|
23
|
+
value :BREAKPOINT_CONDITION, 4
|
24
|
+
value :BREAKPOINT_EXPRESSION, 7
|
25
|
+
value :VARIABLE_NAME, 5
|
26
|
+
value :VARIABLE_VALUE, 6
|
27
|
+
end
|
28
|
+
add_message "google.devtools.clouddebugger.v2.SourceLocation" do
|
29
|
+
optional :path, :string, 1
|
30
|
+
optional :line, :int32, 2
|
31
|
+
end
|
32
|
+
add_message "google.devtools.clouddebugger.v2.Variable" do
|
33
|
+
optional :name, :string, 1
|
34
|
+
optional :value, :string, 2
|
35
|
+
optional :type, :string, 6
|
36
|
+
repeated :members, :message, 3, "google.devtools.clouddebugger.v2.Variable"
|
37
|
+
optional :var_table_index, :message, 4, "google.protobuf.Int32Value"
|
38
|
+
optional :status, :message, 5, "google.devtools.clouddebugger.v2.StatusMessage"
|
39
|
+
end
|
40
|
+
add_message "google.devtools.clouddebugger.v2.StackFrame" do
|
41
|
+
optional :function, :string, 1
|
42
|
+
optional :location, :message, 2, "google.devtools.clouddebugger.v2.SourceLocation"
|
43
|
+
repeated :arguments, :message, 3, "google.devtools.clouddebugger.v2.Variable"
|
44
|
+
repeated :locals, :message, 4, "google.devtools.clouddebugger.v2.Variable"
|
45
|
+
end
|
46
|
+
add_message "google.devtools.clouddebugger.v2.Breakpoint" do
|
47
|
+
optional :id, :string, 1
|
48
|
+
optional :action, :enum, 13, "google.devtools.clouddebugger.v2.Breakpoint.Action"
|
49
|
+
optional :location, :message, 2, "google.devtools.clouddebugger.v2.SourceLocation"
|
50
|
+
optional :condition, :string, 3
|
51
|
+
repeated :expressions, :string, 4
|
52
|
+
optional :log_message_format, :string, 14
|
53
|
+
optional :log_level, :enum, 15, "google.devtools.clouddebugger.v2.Breakpoint.LogLevel"
|
54
|
+
optional :is_final_state, :bool, 5
|
55
|
+
optional :create_time, :message, 11, "google.protobuf.Timestamp"
|
56
|
+
optional :final_time, :message, 12, "google.protobuf.Timestamp"
|
57
|
+
optional :user_email, :string, 16
|
58
|
+
optional :status, :message, 10, "google.devtools.clouddebugger.v2.StatusMessage"
|
59
|
+
repeated :stack_frames, :message, 7, "google.devtools.clouddebugger.v2.StackFrame"
|
60
|
+
repeated :evaluated_expressions, :message, 8, "google.devtools.clouddebugger.v2.Variable"
|
61
|
+
repeated :variable_table, :message, 9, "google.devtools.clouddebugger.v2.Variable"
|
62
|
+
map :labels, :string, :string, 17
|
63
|
+
end
|
64
|
+
add_enum "google.devtools.clouddebugger.v2.Breakpoint.Action" do
|
65
|
+
value :CAPTURE, 0
|
66
|
+
value :LOG, 1
|
67
|
+
end
|
68
|
+
add_enum "google.devtools.clouddebugger.v2.Breakpoint.LogLevel" do
|
69
|
+
value :INFO, 0
|
70
|
+
value :WARNING, 1
|
71
|
+
value :ERROR, 2
|
72
|
+
end
|
73
|
+
add_message "google.devtools.clouddebugger.v2.Debuggee" do
|
74
|
+
optional :id, :string, 1
|
75
|
+
optional :project, :string, 2
|
76
|
+
optional :uniquifier, :string, 3
|
77
|
+
optional :description, :string, 4
|
78
|
+
optional :is_inactive, :bool, 5
|
79
|
+
optional :agent_version, :string, 6
|
80
|
+
optional :is_disabled, :bool, 7
|
81
|
+
optional :status, :message, 8, "google.devtools.clouddebugger.v2.StatusMessage"
|
82
|
+
repeated :source_contexts, :message, 9, "google.devtools.source.v1.SourceContext"
|
83
|
+
repeated :ext_source_contexts, :message, 13, "google.devtools.source.v1.ExtendedSourceContext"
|
84
|
+
map :labels, :string, :string, 11
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
module Google
|
89
|
+
module Devtools
|
90
|
+
module Clouddebugger
|
91
|
+
module V2
|
92
|
+
FormatMessage = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.FormatMessage").msgclass
|
93
|
+
StatusMessage = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.StatusMessage").msgclass
|
94
|
+
StatusMessage::Reference = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.StatusMessage.Reference").enummodule
|
95
|
+
SourceLocation = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.SourceLocation").msgclass
|
96
|
+
Variable = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.Variable").msgclass
|
97
|
+
StackFrame = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.StackFrame").msgclass
|
98
|
+
Breakpoint = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.Breakpoint").msgclass
|
99
|
+
Breakpoint::Action = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.Breakpoint.Action").enummodule
|
100
|
+
Breakpoint::LogLevel = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.Breakpoint.LogLevel").enummodule
|
101
|
+
Debuggee = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.devtools.clouddebugger.v2.Debuggee").msgclass
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|