google-cloud-trace 0.24.1 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7d5b72d035764de99271f31c75142c60aa57d7c4
4
- data.tar.gz: 3c9b634aca6752419a66985aebbf5aaa274b3b08
3
+ metadata.gz: 537ea43256a80488f659a7b6ed8f41f23f935e13
4
+ data.tar.gz: 4e0d0e17d29ffac6d6323eaebf2838332f14c072
5
5
  SHA512:
6
- metadata.gz: b7e30ed03c81da3e0e9b11ad3bf429fc46893e1f931aa99c516df818296bcc4a3ed74bf5f77650b384971b8d3c0474e8ff996edc718f66202a66f99e3e08ff52
7
- data.tar.gz: 226c2a1caa3a9d2748d98a9cbeca8a2a2aed6b115dd76e669b110e1c3c9cba454493da3c30fd335c665191834e403057eb1c742d0cd6b4e148464c5c93366f28
6
+ metadata.gz: b874bb6c50a4b10f634311b69b45055551061b21f75125823edec6f78c181d87a0efb8ae241eb4e47a3fb7c28f259e2b6dc27c47b047332784a0e758505c7e56
7
+ data.tar.gz: 451c43e68ad1ca3561306c9f4a30a060ce33838d0fff9a11d303065aa0dd2f985bfe57c2c53115d0ab41230900b380ed79a8026d734deac164f809eb6222eb2b
data/README.md CHANGED
@@ -1,45 +1,94 @@
1
- Stackdriver Trace API for Ruby
2
- =================================================
1
+ # google-cloud-trace
3
2
 
4
- google-cloud-trace uses [Google API extensions][google-gax] to provide an
5
- easy-to-use client library for the [Stackdriver Trace API][] (v1) defined in the [googleapis][] git repository
3
+ [Stackdriver Trace](https://cloud.google.com/trace/) is a distributed tracing
4
+ system that collects latency data from your applications and displays it in the
5
+ Google Cloud Platform Console. You can track how requests propagate through your
6
+ application and receive detailed near real-time performance insights.
7
+ Stackdriver Trace automatically analyzes all of your application's traces to
8
+ generate in-depth latency reports to surface performance degradations, and can
9
+ capture traces from all of your VMs, containers, or Google App Engine projects.
6
10
 
11
+ - [google-cloud-trace API documentation](http://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-trace/latest)
12
+ - [google-cloud-trace instrumentation documentation](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-trace/guides/instrumentation)
13
+ - [google-cloud-trace on RubyGems](https://rubygems.org/gems/google-cloud-trace)
14
+ - [Stackdriver Trace documentation](https://cloud.google.com/trace/docs/)
7
15
 
8
- [googleapis]: https://github.com/googleapis/googleapis/tree/master/google/devtools/cloudtrace/v1
9
- [google-gax]: https://github.com/googleapis/gax-ruby
10
- [Stackdriver Trace API]: https://developers.google.com/apis-explorer/#p/cloudtrace/v1/
16
+ ## Quick Start
17
+ ```sh
18
+ $ gem install google-cloud-trace
19
+ ```
11
20
 
12
- Getting started
13
- ---------------
21
+ ## Authentication
14
22
 
15
- google-cloud-trace will allow you to connect to the [Stackdriver Trace API][] and access all its methods.
23
+ The Instrumentation client and API use Service Account credentials to connect
24
+ to Google Cloud services. When running on Google Cloud Platform environments,
25
+ the credentials will be discovered automatically. When running on other
26
+ environments the Service Account credentials can be specified by providing the
27
+ path to the JSON file, or the JSON itself, in environment variables or
28
+ configuration code.
16
29
 
17
- In order to achieve so you need to set up authentication as well as install the library locally.
30
+ Instructions and configuration options are covered in the
31
+ [Authentication Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-trace/guides/authentication).
18
32
 
33
+ ## Example
19
34
 
20
- Setup Authentication
21
- --------------------
35
+ ```ruby
36
+ require "google/cloud/trace"
22
37
 
23
- To authenticate all your API calls, first install and setup the [Google Cloud SDK][].
24
- Once done, you can then run the following command in your terminal:
38
+ trace = Google::Cloud::Trace.new
25
39
 
26
- $ gcloud beta auth application-default login
40
+ result_set = trace.list_traces Time.now - 3600, Time.now
41
+ result_set.each do |trace_record|
42
+ puts "Retrieved trace ID: #{trace_record.trace_id}"
43
+ end
44
+ ```
27
45
 
28
- or
46
+ ## Rails and Rack Integration
29
47
 
30
- $ gcloud auth login
48
+ This library also provides a built-in Railtie for Ruby on Rails integration. To
49
+ do this, simply add this line to config/application.rb:
50
+ ```ruby
51
+ require "google/cloud/trace/rails"
52
+ ```
31
53
 
32
- Please see [gcloud beta auth application-default login][] document for the difference between these commands.
54
+ Alternatively, check out the [stackdriver](../stackdriver) gem, which includes
55
+ this library and enables the Railtie by default.
33
56
 
34
- [Google Cloud SDK]: https://cloud.google.com/sdk/
35
- [gcloud beta auth application-default login]: https://cloud.google.com/sdk/gcloud/reference/beta/auth/application-default/login
57
+ For Rack integration and more examples, see the
58
+ [Instrumentation Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-error_reporting/guides/instrumentation).
36
59
 
60
+ ## Supported Ruby Versions
37
61
 
38
- Installation
39
- -------------------
62
+ This library is supported on Ruby 2.0+.
40
63
 
41
- Install this library using gem:
64
+ ## Versioning
42
65
 
43
- $ [sudo] gem install google-cloud-trace
66
+ This library follows [Semantic Versioning](http://semver.org/).
44
67
 
45
- At this point you are all set to continue.
68
+ It is currently in major version zero (0.y.z), which means that anything may
69
+ change at any time and the public API should not be considered stable.
70
+
71
+ ## Contributing
72
+
73
+ Contributions to this library are always welcome and highly encouraged.
74
+
75
+ See the
76
+ [Contributing Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/contributing)
77
+ for more information on how to get started.
78
+
79
+ Please note that this project is released with a Contributor Code of Conduct. By
80
+ participating in this project you agree to abide by its terms. See
81
+ [Code of Conduct](../CODE_OF_CONDUCT.md) for more information.
82
+
83
+ ## License
84
+
85
+ This library is licensed under Apache 2.0. Full license text is available in
86
+ [LICENSE](LICENSE).
87
+
88
+ ## Support
89
+
90
+ Please
91
+ [report bugs at the project on Github](https://github.com/GoogleCloudPlatform/google-cloud-ruby/issues).
92
+ Don't hesitate to
93
+ [ask questions](http://stackoverflow.com/questions/tagged/google-cloud-platform+ruby)
94
+ about the client or APIs on [StackOverflow](http://stackoverflow.com).
@@ -13,7 +13,6 @@
13
13
  # limitations under the License.
14
14
 
15
15
 
16
- require "stackdriver/core/trace_context"
17
16
  require "google-cloud-trace"
18
17
  require "google/cloud/trace/version"
19
18
  require "google/cloud/trace/credentials"
@@ -28,11 +27,12 @@ require "google/cloud/trace/span_kind"
28
27
  require "google/cloud/trace/time_sampler"
29
28
  require "google/cloud/trace/trace_record"
30
29
  require "google/cloud/trace/utils"
30
+ require "stackdriver/core"
31
31
 
32
32
  module Google
33
33
  module Cloud
34
34
  ##
35
- # # Stackdriver Trace
35
+ # # Trace
36
36
  #
37
37
  # The Stackdriver Trace service collects and stores latency data from your
38
38
  # application and displays it in the Google Cloud Platform Console, giving
@@ -191,6 +191,12 @@ module Google
191
191
  module Trace
192
192
  THREAD_KEY = :__stackdriver_trace_span__
193
193
 
194
+ # Initialize :error_reporting as a nested Configuration under
195
+ # Google::Cloud if haven't already
196
+ unless Google::Cloud.configure.option? :trace
197
+ Google::Cloud.configure.add_options :trace
198
+ end
199
+
194
200
  ##
195
201
  # Creates a new object for connecting to the Stackdriver Trace service.
196
202
  # Each call creates a new connection.
@@ -335,6 +341,22 @@ module Google
335
341
  yield nil
336
342
  end
337
343
  end
344
+
345
+ ##
346
+ # Configure the Stackdriver Trace instrumentation Middleware.
347
+ #
348
+ # See the [Configuration
349
+ # Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/stackdriver/guides/instrumentation_configuration)
350
+ # for full configuration parameters.
351
+ #
352
+ # @return [Stackdriver::Core::Configuration] The configuration object
353
+ # the Google::Cloud::ErrorReporting module uses.
354
+ #
355
+ def self.configure
356
+ yield Google::Cloud.configure.trace if block_given?
357
+
358
+ Google::Cloud.configure.trace
359
+ end
338
360
  end
339
361
  end
340
362
  end
@@ -114,26 +114,23 @@ module Google
114
114
  # @param [Rack Application] app Rack application
115
115
  # @param [Google::Cloud::Trace::Service] service The service object.
116
116
  # Optional if running on GCE.
117
- # @param [Boolean] capture_stack Whether to capture stack traces for
118
- # each span. Default is false.
119
- # @param [Proc] sampler A sampler to use, or `nil` to use the default.
120
- # See {Google::Cloud::Trace::TimeSampler}. Note that the sampler
121
- # may be any Proc that implements the sampling contract.
117
+ # @param [Hash] *kwargs Hash of configuration settings. Used for
118
+ # backward API compatibility. See the [Configuration
119
+ # Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/stackdriver/guides/instrumentation_configuration)
120
+ # for the prefered way to set configuration parameters.
122
121
  #
123
- def initialize app,
124
- service: nil,
125
- capture_stack: false,
126
- sampler: nil,
127
- span_id_generator: nil
122
+ def initialize app, service: nil, **kwargs
128
123
  @app = app
129
- @capture_stack = capture_stack
130
- @sampler = sampler
131
- @span_id_generator = span_id_generator
124
+
125
+ load_config kwargs
126
+
132
127
  if service
133
128
  @service = service
134
129
  else
135
- project_id = Google::Cloud::Trace::Project.default_project
136
- @service = Google::Cloud::Trace.new.service if project_id
130
+ project_id = configuration.project_id
131
+ if project_id
132
+ @service = Google::Cloud::Trace.new(project: project_id).service
133
+ end
137
134
  end
138
135
  end
139
136
 
@@ -172,13 +169,14 @@ module Google
172
169
  def get_trace_context env
173
170
  Stackdriver::Core::TraceContext.parse_rack_env(env) do |tc|
174
171
  if tc.sampled?.nil?
175
- sampler = @sampler || Google::Cloud::Trace::TimeSampler.default
172
+ sampler = configuration.sampler ||
173
+ Google::Cloud::Trace::TimeSampler.default
176
174
  sampled = sampler.call env
177
175
  tc = Stackdriver::Core::TraceContext.new \
178
176
  trace_id: tc.trace_id,
179
177
  span_id: tc.span_id,
180
178
  sampled: sampled,
181
- capture_stack: sampled && @capture_stack
179
+ capture_stack: sampled && configuration.capture_stack
182
180
  end
183
181
  tc
184
182
  end
@@ -195,7 +193,7 @@ module Google
195
193
  Google::Cloud::Trace::TraceRecord.new \
196
194
  @service.project,
197
195
  trace_context,
198
- span_id_generator: @span_id_generator
196
+ span_id_generator: configuration.span_id_generator
199
197
  end
200
198
 
201
199
  ##
@@ -352,6 +350,38 @@ module Google
352
350
  end
353
351
  result
354
352
  end
353
+
354
+ private
355
+
356
+ ##
357
+ # Consolidate configurations from various sources. Also set
358
+ # instrumentation config parameters to default values if not set
359
+ # already.
360
+ #
361
+ def load_config **kwargs
362
+ configuration.capture_stack = kwargs[:capture_stack] ||
363
+ configuration.capture_stack
364
+ configuration.sampler = kwargs[:sampler] ||
365
+ configuration.sampler
366
+ configuration.span_id_generator = kwargs[:span_id_generator] ||
367
+ configuration.span_id_generator
368
+
369
+ init_default_config
370
+ end
371
+
372
+ ##
373
+ # Fallback to default configuration values if not defined already
374
+ def init_default_config
375
+ configuration.project_id ||= Cloud.configure.project_id ||
376
+ Trace::Project.default_project
377
+ configuration.capture_stack ||= false
378
+ end
379
+
380
+ ##
381
+ # @private Get Google::Cloud::Trace.configure
382
+ def configuration
383
+ Google::Cloud::Trace.configure
384
+ end
355
385
  end
356
386
  end
357
387
  end
@@ -43,59 +43,9 @@ module Google
43
43
  #
44
44
  # ## Configuration
45
45
  #
46
- # The following Rails configuration options are recognized.
47
- #
48
- # ```ruby
49
- # config.google_cloud.use_trace = true | false
50
- # ```
51
- #
52
- # Normally, tracing is activated when `RAILS_ENV` is set to `production`
53
- # and credentials are available. You can override this and enable tracing
54
- # in other environments by setting `use_trace` explicitly.
55
- #
56
- # ```ruby
57
- # config.google_cloud.keyfile = "path/to/file"
58
- # ```
59
- #
60
- # If your application is running on Google Cloud Platform, it will
61
- # automatically use credentials available to your project. However, if
62
- # you are running an application locally or on a different hosting
63
- # provider, you may provide a path to your credentials file using this
64
- # configuration.
65
- #
66
- # ```ruby
67
- # config.google_cloud.project_id = "my-project-id"
68
- # ```
69
- #
70
- # If your application is running on Google Cloud Platform, it will
71
- # automatically select the project under which it is running. However, if
72
- # you are running an application locally or on a different hosting
73
- # provider, or if you want to log traces to a different project than you
74
- # are using to host your application, you may provide the project ID.
75
- #
76
- # ```ruby
77
- # config.google_cloud.trace.notifications = ["event1", "event2"]
78
- # ```
79
- #
80
- # By default, this Railtie subscribes to ActiveSupport notifications
81
- # emitted by ActiveRecord queries, rendering, and emailing functions.
82
- # See {DEFAULT_NOTIFICATIONS}. If you want to customize the list of
83
- # notification types, edit the notifications configuration.
84
- #
85
- # ```ruby
86
- # config.google_cloud.trace.max_data_length = 1024
87
- # ```
88
- #
89
- # The maximum length of span properties recorded with ActiveSupport
90
- # notification events. Any property value larger than this length is
91
- # truncated.
92
- #
93
- # ```ruby
94
- # config.google_cloud.trace.capture_stack = true | false
95
- # ```
96
- #
97
- # Whether to capture the call stack with each trace span. Default is
98
- # false.
46
+ # See the [Configuration
47
+ # Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/stackdriver/guides/instrumentation_configuration)
48
+ # on how to configure the Railtie and Middleware.
99
49
  #
100
50
  # ## Measuring custom functionality
101
51
  #
@@ -135,67 +85,9 @@ module Google
135
85
  Google::Cloud::Trace::Notifications::DEFAULT_MAX_DATA_LENGTH
136
86
 
137
87
  initializer "Google.Cloud.Trace" do |app|
138
- if Google::Cloud::Trace::Railtie.use_trace? app.config
139
- Google::Cloud::Trace::Railtie.init_trace app
140
- end
141
- end
142
-
143
- ##
144
- # Determine whether to use Stackdriver Trace or not.
145
- #
146
- # Returns true if valid GCP project_id and keyfile are provided and
147
- # either Rails is in "production" environment or
148
- # config.google_cloud.use_trace is explicitly true. Otherwise false.
149
- #
150
- # @param [Rails::Railtie::Configuration] config The
151
- # Rails.application.config
152
- #
153
- # @return [Boolean] Whether to use Stackdriver Trace
154
- #
155
- def self.use_trace? config
156
- gcp_config = config.google_cloud
157
-
158
- # Return false if config.google_cloud.use_trace is
159
- # explicitly false
160
- return false if gcp_config.key?(:use_trace) &&
161
- !gcp_config.use_trace
88
+ self.class.consolidate_rails_config app.config
162
89
 
163
- # Try authenticate authorize client API. Return false if unable to
164
- # authorize.
165
- keyfile = gcp_config.trace.keyfile || gcp_config.keyfile
166
- begin
167
- Google::Cloud::Trace::Credentials.credentials_with_scope keyfile
168
- rescue Exception => e
169
- STDOUT.puts "Note: Google::Cloud::Trace is disabled because " \
170
- "it failed to authorize with the service. (#{e.message})"
171
- return false
172
- end
173
-
174
- if project_id(config).to_s.empty?
175
- STDOUT.puts "Note: Google::Cloud::Trace is disabled because " \
176
- "the project ID could not be determined."
177
- return false
178
- end
179
-
180
- # Otherwise return true if Rails is running in production or
181
- # config.google_cloud.use_trace is explicitly true
182
- Rails.env.production? ||
183
- (gcp_config.key?(:use_trace) && gcp_config.use_trace)
184
- end
185
-
186
- ##
187
- # Return the effective project ID for this app, given a Rails config.
188
- #
189
- # @param [Rails::Railtie::Configuration] config The
190
- # Rails.application.config
191
- # @return [String] The project ID, or nil if not found.
192
- #
193
- def self.project_id config
194
- config.google_cloud.trace.project_id ||
195
- config.google_cloud.project_id ||
196
- ENV["TRACE_PROJECT"] ||
197
- ENV["GOOGLE_CLOUD_PROJECT"] ||
198
- Google::Cloud.env.project_id
90
+ self.class.init_middleware app if Cloud.configure.use_trace
199
91
  end
200
92
 
201
93
  ##
@@ -204,11 +96,10 @@ module Google
204
96
  #
205
97
  # @private
206
98
  #
207
- def self.init_trace app
208
- gcp_config = app.config.google_cloud
209
- trace_config = gcp_config.trace
210
- project_id = trace_config.project_id || gcp_config.project_id
211
- keyfile = trace_config.keyfile || gcp_config.keyfile
99
+ def self.init_middleware app
100
+ trace_config = Trace.configure
101
+ project_id = trace_config.project_id
102
+ keyfile = trace_config.keyfile
212
103
 
213
104
  tracer = Google::Cloud::Trace.new project: project_id,
214
105
  keyfile: keyfile
@@ -216,8 +107,7 @@ module Google
216
107
  app.middleware.insert_before \
217
108
  Rack::Runtime,
218
109
  Google::Cloud::Trace::Middleware,
219
- service: tracer.service,
220
- capture_stack: trace_config.capture_stack
110
+ service: tracer.service
221
111
 
222
112
  trace_config.notifications.each do |type|
223
113
  Google::Cloud::Trace::Notifications.instrument \
@@ -226,6 +116,86 @@ module Google
226
116
  capture_stack: trace_config.capture_stack
227
117
  end
228
118
  end
119
+
120
+ ##
121
+ # @private Consolidate Rails configuration into Trace instrumentation
122
+ # configuration. Also consolidate the `use_trace` setting by verifying
123
+ # credentials and Rails environment. The `use_trace` setting will be
124
+ # true if credentials are valid, and the setting is manually set to
125
+ # true or Rails is in production environment.
126
+ #
127
+ # @param [Rails::Railtie::Configuration] config The
128
+ # Rails.application.config
129
+ #
130
+ def self.consolidate_rails_config config
131
+ merge_rails_config config
132
+
133
+ init_default_config
134
+
135
+ # Done if Google::Cloud.configure.use_trace is explicitly false
136
+ return if Google::Cloud.configure.use_trace == false
137
+
138
+ # Verify credentials and set use_error_reporting to false if
139
+ # credentials are invalid
140
+ unless valid_credentials? Trace.configure.project_id,
141
+ Trace.configure.keyfile
142
+ Cloud.configure.use_trace = false
143
+ return
144
+ end
145
+
146
+ # Otherwise set use_trace to true if Rails is running in production
147
+ Google::Cloud.configure.use_trace ||= Rails.env.production?
148
+ end
149
+
150
+ ##
151
+ # @private Merge Rails configuration into Trace instrumentation
152
+ # configuration.
153
+ def self.merge_rails_config rails_config
154
+ gcp_config = rails_config.google_cloud
155
+ trace_config = gcp_config.trace
156
+
157
+ Cloud.configure.use_trace ||= gcp_config.use_trace
158
+ Trace.configure do |config|
159
+ config.project_id ||= trace_config.project_id ||
160
+ gcp_config.project_id
161
+ config.keyfile ||= trace_config.keyfile || gcp_config.keyfile
162
+ config.notifications ||= trace_config.notifications
163
+ config.max_data_length ||= trace_config.max_data_length
164
+ config.capture_stack ||= trace_config.capture_stack
165
+ config.sampler ||= trace_config.sampler
166
+ config.span_id_generator ||= trace_config.span_id_generator
167
+ end
168
+ end
169
+
170
+ ##
171
+ # Fallback to default config values if config parameters not provided.
172
+ def self.init_default_config
173
+ Trace.configure.project_id ||= Trace::Project.default_project
174
+ end
175
+
176
+ ##
177
+ # @private Verify credentials
178
+ def self.valid_credentials? project_id, keyfile
179
+ begin
180
+ Google::Cloud::Trace::Credentials.credentials_with_scope keyfile
181
+ rescue Exception => e
182
+ STDOUT.puts "Note: Google::Cloud::Trace is disabled because " \
183
+ "it failed to authorize with the service. (#{e.message})"
184
+ return false
185
+ end
186
+
187
+ if project_id.to_s.empty?
188
+ STDOUT.puts "Note: Google::Cloud::Trace is disabled because " \
189
+ "the project ID could not be determined."
190
+ return false
191
+ end
192
+
193
+ true
194
+ end
195
+
196
+ private_class_method :merge_rails_config,
197
+ :init_default_config,
198
+ :valid_credentials?
229
199
  end
230
200
  end
231
201
  end
@@ -32,7 +32,8 @@ module Google
32
32
  # env = my_get_rack_environment
33
33
  # trace_context = Stackdriver::Core::TraceContext.parse_rack_env env
34
34
  #
35
- # trace = Google::Cloud::Trace.new "my-project", trace_context
35
+ # trace = Google::Cloud::Trace::TraceRecord.new "my-project",
36
+ # trace_context
36
37
  # span = trace.create_span "root_span"
37
38
  # subspan = span.create_span "subspan"
38
39
  #
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Trace
19
- VERSION = "0.24.1".freeze
19
+ VERSION = "0.25.0".freeze
20
20
  end
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-trace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.1
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Azuma
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-21 00:00:00.000000000 Z
11
+ date: 2017-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-cloud-core
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.0'
33
+ version: '1.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.0'
40
+ version: '1.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: google-gax
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -225,7 +225,7 @@ files:
225
225
  - lib/google/cloud/trace/version.rb
226
226
  - lib/google/devtools/cloudtrace/v1/trace_pb.rb
227
227
  - lib/google/devtools/cloudtrace/v1/trace_services_pb.rb
228
- homepage: http://googlecloudplatform.github.io/google-cloud-ruby/
228
+ homepage: https://github.com/GoogleCloudPlatform/google-cloud-ruby/tree/master/google-cloud-trace
229
229
  licenses:
230
230
  - Apache-2.0
231
231
  metadata: {}
@@ -245,7 +245,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
245
  version: '0'
246
246
  requirements: []
247
247
  rubyforge_project:
248
- rubygems_version: 2.6.11
248
+ rubygems_version: 2.6.12
249
249
  signing_key:
250
250
  specification_version: 4
251
251
  summary: Application Instrumentation and API Client library for Stackdriver Trace