google-cloud-debugger 0.33.3 → 0.33.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +33 -12
- data/CHANGELOG.md +6 -0
- data/lib/google/cloud/debugger/breakpoint/evaluator.rb +2 -2
- data/lib/google/cloud/debugger/breakpoint/variable.rb +3 -3
- data/lib/google/cloud/debugger/breakpoint_manager.rb +1 -1
- data/lib/google/cloud/debugger/middleware.rb +1 -1
- data/lib/google/cloud/debugger/snappoint.rb +3 -3
- data/lib/google/cloud/debugger/transmitter.rb +2 -2
- data/lib/google/cloud/debugger/v2/controller2_client.rb +4 -1
- data/lib/google/cloud/debugger/v2/debugger2_client.rb +8 -2
- data/lib/google/cloud/debugger/v2/doc/google/protobuf/timestamp.rb +15 -13
- data/lib/google/cloud/debugger/version.rb +1 -1
- metadata +5 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7955a6715c284e4a6b252821d10a171eddeffaa4b3a25aa52b3b2b2ad9908206
|
4
|
+
data.tar.gz: 325b388efb06877c49cecf2fa75dd72f5b64c0b4855b417b2268b111af82c29a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c629a0e11f230080a491860ffd13a68489f2397b6c051a64b81fba092c91610c80f13e9f638c54cdd3932ca6240f31671a6fdc88e4d87661fc0d1dfe38dec694
|
7
|
+
data.tar.gz: 15b17570618bee28d9122a001f80056719bad4c8a5565f0e21e932fdf0d777edd920235ac2278f265543e69fec5aca429bb1643e2c6bd0a568b35f95999c60fb
|
data/AUTHENTICATION.md
CHANGED
@@ -2,20 +2,39 @@
|
|
2
2
|
|
3
3
|
In general, the google-cloud-debugger library uses [Service
|
4
4
|
Account](https://cloud.google.com/iam/docs/creating-managing-service-accounts)
|
5
|
-
credentials to connect to Google Cloud services. When running
|
5
|
+
credentials to connect to Google Cloud services. When running within [Google
|
6
|
+
Cloud Platform environments](#google-cloud-platform-environments)
|
6
7
|
the credentials will be discovered automatically. When running on other
|
7
8
|
environments, the Service Account credentials can be specified by providing the
|
8
9
|
path to the [JSON
|
9
10
|
keyfile](https://cloud.google.com/iam/docs/managing-service-account-keys) for
|
10
|
-
the account (or the JSON itself) in environment
|
11
|
-
SDK credentials can also
|
12
|
-
recommended during development.
|
11
|
+
the account (or the JSON itself) in [environment
|
12
|
+
variables](#environment-variables). Additionally, Cloud SDK credentials can also
|
13
|
+
be discovered automatically, but this is only recommended during development.
|
14
|
+
|
15
|
+
## Quickstart
|
16
|
+
|
17
|
+
1. [Create a service account and credentials](#creating-a-service-account).
|
18
|
+
2. Set the [environment variable](#environment-variables).
|
19
|
+
|
20
|
+
```sh
|
21
|
+
export DEBUGGER_CREDENTIALS=/path/to/json`
|
22
|
+
```
|
23
|
+
|
24
|
+
3. Initialize the client.
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
require "google/cloud/debugger"
|
28
|
+
|
29
|
+
client = Google::Cloud::Debugger.new
|
30
|
+
```
|
13
31
|
|
14
32
|
## Project and Credential Lookup
|
15
33
|
|
16
|
-
The google-cloud-debugger library aims to make authentication
|
17
|
-
possible, and provides several mechanisms to configure your system
|
18
|
-
providing **Project ID** and **Service Account Credentials** directly in
|
34
|
+
The google-cloud-debugger library aims to make authentication
|
35
|
+
as simple as possible, and provides several mechanisms to configure your system
|
36
|
+
without providing **Project ID** and **Service Account Credentials** directly in
|
37
|
+
code.
|
19
38
|
|
20
39
|
**Project ID** is discovered in the following order:
|
21
40
|
|
@@ -23,6 +42,7 @@ providing **Project ID** and **Service Account Credentials** directly in code.
|
|
23
42
|
2. Specify project ID in configuration
|
24
43
|
3. Discover project ID in environment variables
|
25
44
|
4. Discover GCE project ID
|
45
|
+
5. Discover project ID in credentials JSON
|
26
46
|
|
27
47
|
**Credentials** are discovered in the following order:
|
28
48
|
|
@@ -73,12 +93,12 @@ environment variable, or the **Credentials JSON** itself can be stored for
|
|
73
93
|
environments such as Docker containers where writing files is difficult or not
|
74
94
|
encouraged.
|
75
95
|
|
76
|
-
The environment variables that
|
96
|
+
The environment variables that google-cloud-debugger checks for project ID are:
|
77
97
|
|
78
98
|
1. `DEBUGGER_PROJECT`
|
79
99
|
2. `GOOGLE_CLOUD_PROJECT`
|
80
100
|
|
81
|
-
The environment variables that
|
101
|
+
The environment variables that google-cloud-debugger checks for credentials are configured on {Google::Cloud::Debugger::V2::Credentials}:
|
82
102
|
|
83
103
|
1. `DEBUGGER_CREDENTIALS` - Path to JSON file, or JSON contents
|
84
104
|
2. `DEBUGGER_KEYFILE` - Path to JSON file, or JSON contents
|
@@ -92,7 +112,7 @@ require "google/cloud/debugger"
|
|
92
112
|
ENV["DEBUGGER_PROJECT"] = "my-project-id"
|
93
113
|
ENV["DEBUGGER_CREDENTIALS"] = "path/to/keyfile.json"
|
94
114
|
|
95
|
-
|
115
|
+
client = Google::Cloud::Debugger.new
|
96
116
|
```
|
97
117
|
|
98
118
|
### Configuration
|
@@ -107,7 +127,7 @@ Google::Cloud::Debugger.configure do |config|
|
|
107
127
|
config.credentials = "path/to/keyfile.json"
|
108
128
|
end
|
109
129
|
|
110
|
-
|
130
|
+
client = Google::Cloud::Debugger.new
|
111
131
|
```
|
112
132
|
|
113
133
|
### Cloud SDK
|
@@ -140,7 +160,8 @@ Google Cloud requires a **Project ID** and **Service Account Credentials** to
|
|
140
160
|
connect to the APIs. You will use the **Project ID** and **JSON key file** to
|
141
161
|
connect to most services with google-cloud-debugger.
|
142
162
|
|
143
|
-
If you are not running this client
|
163
|
+
If you are not running this client within [Google Cloud Platform
|
164
|
+
environments](#google-cloud-platform-environments), you need a Google
|
144
165
|
Developers service account.
|
145
166
|
|
146
167
|
1. Visit the [Google Developers Console][dev-console].
|
data/CHANGELOG.md
CHANGED
@@ -823,7 +823,7 @@ module Google
|
|
823
823
|
#
|
824
824
|
def readonly_eval_expression binding, expression
|
825
825
|
compilation_result = validate_compiled_expression expression
|
826
|
-
return compilation_result if compilation_result.is_a?
|
826
|
+
return compilation_result if compilation_result.is_a? Exception
|
827
827
|
|
828
828
|
readonly_eval_expression_exec binding, expression
|
829
829
|
rescue StandardError => e
|
@@ -1080,7 +1080,7 @@ module Google
|
|
1080
1080
|
|
1081
1081
|
def initialize msg = nil, mutation_cause = UNKNOWN_CAUSE
|
1082
1082
|
@mutation_cause = mutation_cause
|
1083
|
-
super
|
1083
|
+
super msg
|
1084
1084
|
end
|
1085
1085
|
|
1086
1086
|
def inspect
|
@@ -354,7 +354,7 @@ module Google
|
|
354
354
|
# compound variables.
|
355
355
|
def self.add_member_vars var, members, limit: nil
|
356
356
|
members.each_with_index do |member, i|
|
357
|
-
member_var = yield
|
357
|
+
member_var = yield member, i, limit
|
358
358
|
|
359
359
|
limit = deduct_limit limit, member_var.total_size
|
360
360
|
|
@@ -491,7 +491,7 @@ module Google
|
|
491
491
|
unless @total_size
|
492
492
|
vars = [self, *(unique_members || [])]
|
493
493
|
|
494
|
-
@total_size = vars.inject
|
494
|
+
@total_size = vars.inject payload_size do |sum, var|
|
495
495
|
if var.var_table && var.var_table_index
|
496
496
|
sum + var.var_table[var.var_table_index].total_size
|
497
497
|
else
|
@@ -515,7 +515,7 @@ module Google
|
|
515
515
|
value.to_s.bytesize
|
516
516
|
|
517
517
|
unless members.nil?
|
518
|
-
@payload_size = members.inject
|
518
|
+
@payload_size = members.inject @payload_size do |sum, member|
|
519
519
|
sum + member.payload_size
|
520
520
|
end
|
521
521
|
end
|
@@ -132,7 +132,7 @@ module Google
|
|
132
132
|
!new_breakpoints.empty? ||
|
133
133
|
(before_breakpoints_count != after_breakpoints_acount)
|
134
134
|
|
135
|
-
on_breakpoints_change.call
|
135
|
+
on_breakpoints_change.call @active_breakpoints if
|
136
136
|
on_breakpoints_change.respond_to?(:call) && breakpoints_updated
|
137
137
|
end
|
138
138
|
end
|
@@ -169,17 +169,17 @@ module Google
|
|
169
169
|
# @private Compute the total size of all the evaluated variables in
|
170
170
|
# this breakpoint.
|
171
171
|
def calculate_total_size
|
172
|
-
result = evaluated_expressions.inject
|
172
|
+
result = evaluated_expressions.inject 0 do |sum, exp|
|
173
173
|
sum + exp.payload_size
|
174
174
|
end
|
175
175
|
|
176
176
|
stack_frames.each do |stack_frame|
|
177
|
-
result = stack_frame.locals.inject
|
177
|
+
result = stack_frame.locals.inject result do |sum, local|
|
178
178
|
sum + local.payload_size
|
179
179
|
end
|
180
180
|
end
|
181
181
|
|
182
|
-
result = variable_table.variables.inject
|
182
|
+
result = variable_table.variables.inject result do |sum, var|
|
183
183
|
sum + var.payload_size
|
184
184
|
end
|
185
185
|
|
@@ -34,7 +34,7 @@ module Google
|
|
34
34
|
attr_reader :breakpoint
|
35
35
|
|
36
36
|
def initialize message, breakpoint = nil
|
37
|
-
super
|
37
|
+
super message
|
38
38
|
@breakpoint = breakpoint
|
39
39
|
end
|
40
40
|
end
|
@@ -93,7 +93,7 @@ module Google
|
|
93
93
|
# @raise [TransmitterError] if there are no resources available to make
|
94
94
|
# queue the API call on the thread pool.
|
95
95
|
def submit breakpoint
|
96
|
-
Concurrent::Promises.future_on
|
96
|
+
Concurrent::Promises.future_on @thread_pool, breakpoint do |bp|
|
97
97
|
submit_sync bp
|
98
98
|
end
|
99
99
|
rescue Concurrent::RejectedExecutionError => e
|
@@ -188,7 +188,10 @@ module Google
|
|
188
188
|
@list_active_breakpoints = Google::Gax.create_api_call(
|
189
189
|
@controller2_stub.method(:list_active_breakpoints),
|
190
190
|
defaults["list_active_breakpoints"],
|
191
|
-
exception_transformer: exception_transformer
|
191
|
+
exception_transformer: exception_transformer,
|
192
|
+
params_extractor: proc do |request|
|
193
|
+
{'debuggee_id' => request.debuggee_id}
|
194
|
+
end
|
192
195
|
)
|
193
196
|
@update_active_breakpoint = Google::Gax.create_api_call(
|
194
197
|
@controller2_stub.method(:update_active_breakpoint),
|
@@ -175,7 +175,10 @@ module Google
|
|
175
175
|
@set_breakpoint = Google::Gax.create_api_call(
|
176
176
|
@debugger2_stub.method(:set_breakpoint),
|
177
177
|
defaults["set_breakpoint"],
|
178
|
-
exception_transformer: exception_transformer
|
178
|
+
exception_transformer: exception_transformer,
|
179
|
+
params_extractor: proc do |request|
|
180
|
+
{'debuggee_id' => request.debuggee_id}
|
181
|
+
end
|
179
182
|
)
|
180
183
|
@get_breakpoint = Google::Gax.create_api_call(
|
181
184
|
@debugger2_stub.method(:get_breakpoint),
|
@@ -190,7 +193,10 @@ module Google
|
|
190
193
|
@list_breakpoints = Google::Gax.create_api_call(
|
191
194
|
@debugger2_stub.method(:list_breakpoints),
|
192
195
|
defaults["list_breakpoints"],
|
193
|
-
exception_transformer: exception_transformer
|
196
|
+
exception_transformer: exception_transformer,
|
197
|
+
params_extractor: proc do |request|
|
198
|
+
{'debuggee_id' => request.debuggee_id}
|
199
|
+
end
|
194
200
|
)
|
195
201
|
@list_debuggees = Google::Gax.create_api_call(
|
196
202
|
@debugger2_stub.method(:list_debuggees),
|
@@ -15,17 +15,19 @@
|
|
15
15
|
|
16
16
|
module Google
|
17
17
|
module Protobuf
|
18
|
-
# A Timestamp represents a point in time independent of any time zone
|
19
|
-
#
|
20
|
-
# nanosecond resolution
|
21
|
-
#
|
22
|
-
# backwards to year one.
|
23
|
-
#
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
27
|
-
#
|
28
|
-
#
|
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.
|
29
31
|
#
|
30
32
|
# = Examples
|
31
33
|
#
|
@@ -86,12 +88,12 @@ module Google
|
|
86
88
|
# 01:30 UTC on January 15, 2017.
|
87
89
|
#
|
88
90
|
# In JavaScript, one can convert a Date object to this format using the
|
89
|
-
# standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
|
91
|
+
# standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
|
90
92
|
# method. In Python, a standard `datetime.datetime` object can be converted
|
91
93
|
# to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)
|
92
94
|
# with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one
|
93
95
|
# can use the Joda Time's [`ISODateTimeFormat.dateTime()`](
|
94
|
-
# http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime
|
96
|
+
# http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
|
95
97
|
# ) to obtain a formatter capable of generating timestamps in this format.
|
96
98
|
# @!attribute [rw] seconds
|
97
99
|
# @return [Integer]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-debugger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.33.
|
4
|
+
version: 0.33.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Heng Xiong
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: binding_of_caller
|
@@ -184,14 +184,14 @@ dependencies:
|
|
184
184
|
requirements:
|
185
185
|
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: 0.
|
187
|
+
version: 0.64.0
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: 0.
|
194
|
+
version: 0.64.0
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: simplecov
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -364,8 +364,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
364
364
|
- !ruby/object:Gem::Version
|
365
365
|
version: '0'
|
366
366
|
requirements: []
|
367
|
-
|
368
|
-
rubygems_version: 2.7.6
|
367
|
+
rubygems_version: 3.0.3
|
369
368
|
signing_key:
|
370
369
|
specification_version: 4
|
371
370
|
summary: API Client and instrumentation library for Stackdriver Debugger
|