google-cloud-debugger 0.24.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|