stackdriver 0.15.1 → 0.15.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +100 -0
- data/CODE_OF_CONDUCT.md +40 -0
- data/CONTRIBUTING.md +128 -0
- data/INSTRUMENTATION_CONFIGURATION.md +116 -0
- data/OVERVIEW.md +31 -0
- data/lib/stackdriver/version.rb +1 -1
- metadata +7 -3
- data/README.md +0 -148
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a80e07c15259fe692a9a3f046d8b5dffad1cd2973846bb24dded9fe23d81ab0b
|
4
|
+
data.tar.gz: 98dbd5983c35a5f071a7fb175a82f7a5efb58b3ca878ef6082f4309b880396ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55c0dbf52776c67e912d4cd6bb67e57f9137fc8dfb4d20ad83e5d2303d051f0c54bdba50ee499394b79c86a166456fc8ef24f109aa8ca4d2ad8e4ffba1a25258
|
7
|
+
data.tar.gz: 300c58e8b8a2d3dd5a58509e2215f73f0df3f4447add3cb889db572e8421dc4a934875d90a0f9003f5f29c07d7bc67e6a89bd36fc56ec637969fc332eb6fc5a1
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
# Release History
|
2
|
+
|
3
|
+
### 0.15.2 / 2018-09-12
|
4
|
+
|
5
|
+
* Add missing documentation files to package.
|
6
|
+
|
7
|
+
### 0.15.1 / 2018-09-10
|
8
|
+
|
9
|
+
* Update documentation.
|
10
|
+
|
11
|
+
### 0.15.0 / 2018-05-24
|
12
|
+
|
13
|
+
* Debugger 0.32.0
|
14
|
+
* Trace 0.33.0
|
15
|
+
|
16
|
+
### 0.14.0 / 2018-02-27
|
17
|
+
|
18
|
+
* Debugger 0.31.0
|
19
|
+
* Use Google Cloud Shared Configuration.
|
20
|
+
* Fix for mutation detection using Ruby 2.5.
|
21
|
+
* Support disabling mutation detection in debugger evaluation.
|
22
|
+
* Error Reporting 0.30.0
|
23
|
+
* Use Google Cloud Shared Configuration.
|
24
|
+
* Logging 1.5.0
|
25
|
+
* Use Google Cloud Shared Configuration.
|
26
|
+
* Deprecated Logging Sink attributes.
|
27
|
+
* Trace 0.31.0
|
28
|
+
* Use Google Cloud Shared Configuration.
|
29
|
+
* Update authentication documentation.
|
30
|
+
|
31
|
+
### 0.13.0 / 2017-12-19
|
32
|
+
|
33
|
+
* Trace 0.30.0 release.
|
34
|
+
|
35
|
+
### 0.12.0 / 2017-12-19
|
36
|
+
|
37
|
+
* Debugger 0.30.0 release.
|
38
|
+
* Error Reporting 0.29.0 release.
|
39
|
+
* Logging 1.4.0 release.
|
40
|
+
* Trace 0.29.0 release.
|
41
|
+
|
42
|
+
### 0.11.0 / 2017-11-14
|
43
|
+
|
44
|
+
* Debugger 0.29.0 release.
|
45
|
+
* Error Reporting 0.28.0 release.
|
46
|
+
* Logging 1.3.0 release.
|
47
|
+
* Trace 0.28.0 release.
|
48
|
+
|
49
|
+
### 0.10.0 / 2017-09-08
|
50
|
+
|
51
|
+
* Error Reporting 0.27.0 release.
|
52
|
+
|
53
|
+
### 0.9.0 / 2017-08-25
|
54
|
+
|
55
|
+
* Debugger 0.28.0 release.
|
56
|
+
|
57
|
+
### 0.8.0 / 2017-08-07
|
58
|
+
|
59
|
+
* Debugger 0.27.0 release.
|
60
|
+
* Trace 0.27.0 release.
|
61
|
+
|
62
|
+
### 0.7.0 / 2017-07-11
|
63
|
+
|
64
|
+
* Debugger 0.26.0 release.
|
65
|
+
* Error Reporting 0.26.0 release.
|
66
|
+
* Logging 1.2.0 release.
|
67
|
+
* Trace 0.26.0 release.
|
68
|
+
|
69
|
+
### 0.6.0 / 2017-05-25
|
70
|
+
|
71
|
+
* Debugger 0.25.0 release.
|
72
|
+
* Error Reporting 0.25.0 release.
|
73
|
+
* Logging 1.1.0 release.
|
74
|
+
* Trace 0.25.0 release.
|
75
|
+
* Remove `google-cloud-monitoring` from this umbrella gem.
|
76
|
+
|
77
|
+
### 0.5.0 / 2017-03-31
|
78
|
+
|
79
|
+
* Logging 1.0 release
|
80
|
+
* Updated dependencies on all other gems
|
81
|
+
|
82
|
+
### 0.4.1 / 2017-02-27
|
83
|
+
|
84
|
+
* Set version constraints on the gem dependencies for individual stackdriver services. Current versions are:
|
85
|
+
* **google-cloud-logging** `~> 0.24.0`
|
86
|
+
* **google-cloud-error_reporting** `~> 0.23.1`
|
87
|
+
* **google-cloud-monitoring** `~> 0.23.0`
|
88
|
+
* **google-cloud-trace** `~> 0.23.0`
|
89
|
+
|
90
|
+
### 0.4.0 / 2016-12-22
|
91
|
+
|
92
|
+
* Now provides Stackdriver Trace instrumentation by including google-cloud-trace.
|
93
|
+
|
94
|
+
### 0.3.0 / 2016-11-07
|
95
|
+
|
96
|
+
This gem is an umbrella gem that serves as the single drop-in gem for users interested in using the Stackdriver services from their Ruby applications.
|
97
|
+
|
98
|
+
The initial release of stackdriver gem includes the following Stackdriver gems to be used in Ruby applications:
|
99
|
+
* google-cloud-logging
|
100
|
+
* google-cloud-error_reporting
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
As contributors and maintainers of this project, and in the interest of
|
4
|
+
fostering an open and welcoming community, we pledge to respect all people who
|
5
|
+
contribute through reporting issues, posting feature requests, updating
|
6
|
+
documentation, submitting pull requests or patches, and other activities.
|
7
|
+
|
8
|
+
We are committed to making participation in this project a harassment-free
|
9
|
+
experience for everyone, regardless of level of experience, gender, gender
|
10
|
+
identity and expression, sexual orientation, disability, personal appearance,
|
11
|
+
body size, race, ethnicity, age, religion, or nationality.
|
12
|
+
|
13
|
+
Examples of unacceptable behavior by participants include:
|
14
|
+
|
15
|
+
* The use of sexualized language or imagery
|
16
|
+
* Personal attacks
|
17
|
+
* Trolling or insulting/derogatory comments
|
18
|
+
* Public or private harassment
|
19
|
+
* Publishing other's private information, such as physical or electronic
|
20
|
+
addresses, without explicit permission
|
21
|
+
* Other unethical or unprofessional conduct.
|
22
|
+
|
23
|
+
Project maintainers have the right and responsibility to remove, edit, or reject
|
24
|
+
comments, commits, code, wiki edits, issues, and other contributions that are
|
25
|
+
not aligned to this Code of Conduct. By adopting this Code of Conduct, project
|
26
|
+
maintainers commit themselves to fairly and consistently applying these
|
27
|
+
principles to every aspect of managing this project. Project maintainers who do
|
28
|
+
not follow or enforce the Code of Conduct may be permanently removed from the
|
29
|
+
project team.
|
30
|
+
|
31
|
+
This code of conduct applies both within project spaces and in public spaces
|
32
|
+
when an individual is representing the project or its community.
|
33
|
+
|
34
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
35
|
+
reported by opening an issue or contacting one or more of the project
|
36
|
+
maintainers.
|
37
|
+
|
38
|
+
This Code of Conduct is adapted from the [Contributor
|
39
|
+
Covenant](http://contributor-covenant.org), version 1.2.0, available at
|
40
|
+
[http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,128 @@
|
|
1
|
+
# Contributing to Google Cloud Stackdriver
|
2
|
+
|
3
|
+
1. **Sign one of the contributor license agreements below.**
|
4
|
+
2. Fork the repo, develop and test your code changes.
|
5
|
+
3. Send a pull request.
|
6
|
+
|
7
|
+
## Contributor License Agreements
|
8
|
+
|
9
|
+
Before we can accept your pull requests you'll need to sign a Contributor
|
10
|
+
License Agreement (CLA):
|
11
|
+
|
12
|
+
- **If you are an individual writing original source code** and **you own the
|
13
|
+
intellectual property**, then you'll need to sign an [individual
|
14
|
+
CLA](https://developers.google.com/open-source/cla/individual).
|
15
|
+
- **If you work for a company that wants to allow you to contribute your work**,
|
16
|
+
then you'll need to sign a [corporate
|
17
|
+
CLA](https://developers.google.com/open-source/cla/corporate).
|
18
|
+
|
19
|
+
You can sign these electronically (just scroll to the bottom). After that, we'll
|
20
|
+
be able to accept your pull requests.
|
21
|
+
|
22
|
+
## Setup
|
23
|
+
|
24
|
+
In order to use the stackdriver console and run the project's tests,
|
25
|
+
there is a small amount of setup:
|
26
|
+
|
27
|
+
1. Install Ruby. stackdriver requires Ruby 2.3+. You may choose to
|
28
|
+
manage your Ruby and gem installations with [RVM](https://rvm.io/),
|
29
|
+
[rbenv](https://github.com/rbenv/rbenv), or
|
30
|
+
[chruby](https://github.com/postmodern/chruby).
|
31
|
+
|
32
|
+
2. Install [Bundler](http://bundler.io/).
|
33
|
+
|
34
|
+
```sh
|
35
|
+
$ gem install bundler
|
36
|
+
```
|
37
|
+
|
38
|
+
3. Install the top-level project dependencies.
|
39
|
+
|
40
|
+
```sh
|
41
|
+
$ bundle install
|
42
|
+
```
|
43
|
+
|
44
|
+
4. Install the Stackdriver dependencies.
|
45
|
+
|
46
|
+
```sh
|
47
|
+
$ cd stackdriver/
|
48
|
+
$ bundle exec rake bundleupdate
|
49
|
+
```
|
50
|
+
|
51
|
+
## Stackdriver Tests
|
52
|
+
|
53
|
+
Tests are very important part of stackdriver. All contributions
|
54
|
+
should include tests that ensure the contributed code behaves as expected.
|
55
|
+
|
56
|
+
To run the unit tests, documentation tests, and code style checks together for a
|
57
|
+
package:
|
58
|
+
|
59
|
+
``` sh
|
60
|
+
$ cd stackdriver/
|
61
|
+
$ bundle exec rake ci
|
62
|
+
```
|
63
|
+
|
64
|
+
To run the command above, plus all acceptance tests, use `rake ci:acceptance` or
|
65
|
+
its handy alias, `rake ci:a`.
|
66
|
+
|
67
|
+
### Stackdriver Unit Tests
|
68
|
+
|
69
|
+
|
70
|
+
The project uses the [minitest](https://github.com/seattlerb/minitest) library,
|
71
|
+
including [specs](https://github.com/seattlerb/minitest#specs),
|
72
|
+
[mocks](https://github.com/seattlerb/minitest#mocks) and
|
73
|
+
[minitest-autotest](https://github.com/seattlerb/minitest-autotest).
|
74
|
+
|
75
|
+
To run the Stackdriver unit tests:
|
76
|
+
|
77
|
+
``` sh
|
78
|
+
$ cd stackdriver/
|
79
|
+
$ bundle exec rake test
|
80
|
+
```
|
81
|
+
|
82
|
+
### Stackdriver Documentation Tests
|
83
|
+
|
84
|
+
The project tests the code examples in the gem's
|
85
|
+
[YARD](https://github.com/lsegal/yard)-based documentation.
|
86
|
+
|
87
|
+
The example testing functions in a way that is very similar to unit testing, and
|
88
|
+
in fact the library providing it,
|
89
|
+
[yard-doctest](https://github.com/p0deje/yard-doctest), is based on the
|
90
|
+
project's unit test library, [minitest](https://github.com/seattlerb/minitest).
|
91
|
+
|
92
|
+
To run the Stackdriver documentation tests:
|
93
|
+
|
94
|
+
``` sh
|
95
|
+
$ cd stackdriver/
|
96
|
+
$ bundle exec rake doctest
|
97
|
+
```
|
98
|
+
|
99
|
+
If you add, remove or modify documentation examples when working on a pull
|
100
|
+
request, you may need to update the setup for the tests. The stubs and mocks
|
101
|
+
required to run the tests are located in `support/doctest_helper.rb`. Please
|
102
|
+
note that much of the setup is matched by the title of the
|
103
|
+
[`@example`](http://www.rubydoc.info/gems/yard/file/docs/Tags.md#example) tag.
|
104
|
+
If you alter an example's title, you may encounter breaking tests.
|
105
|
+
|
106
|
+
## Coding Style
|
107
|
+
|
108
|
+
Please follow the established coding style in the library. The style is is
|
109
|
+
largely based on [The Ruby Style
|
110
|
+
Guide](https://github.com/bbatsov/ruby-style-guide) with a few exceptions based
|
111
|
+
on seattle-style:
|
112
|
+
|
113
|
+
* Avoid parenthesis when possible, including in method definitions.
|
114
|
+
* Always use double quotes strings. ([Option
|
115
|
+
B](https://github.com/bbatsov/ruby-style-guide#strings))
|
116
|
+
|
117
|
+
You can check your code against these rules by running Rubocop like so:
|
118
|
+
|
119
|
+
```sh
|
120
|
+
$ cd stackdriver/
|
121
|
+
$ bundle exec rake rubocop
|
122
|
+
```
|
123
|
+
|
124
|
+
## Code of Conduct
|
125
|
+
|
126
|
+
Please note that this project is released with a Contributor Code of Conduct. By
|
127
|
+
participating in this project you agree to abide by its terms. See
|
128
|
+
{file:CODE_OF_CONDUCT.md Code of Conduct} for more information.
|
@@ -0,0 +1,116 @@
|
|
1
|
+
# Stackdriver Instrumentation Configuration
|
2
|
+
|
3
|
+
Stackdriver instrumentation libraries are fully integrated with Rails
|
4
|
+
configuration interface. You can provide all the configuration parameters in
|
5
|
+
your `config/environments/*.rb` files:
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
Rails.application.configure do |config|
|
9
|
+
# Shared project_id and keyfile
|
10
|
+
config.google_cloud.project_id = "my-project"
|
11
|
+
config.google_cloud.keyfile = "/path/to/key.json"
|
12
|
+
|
13
|
+
# Library specific configurations
|
14
|
+
config.google_cloud.error_reporting.project_id = "error-reporting-project"
|
15
|
+
config.google_cloud.logging.log_name = "my-app-logname"
|
16
|
+
config.google_cloud.trace.capture_stack = true
|
17
|
+
end
|
18
|
+
```
|
19
|
+
|
20
|
+
Other Rack-based applications can also configure all the Stackdriver
|
21
|
+
instrumentation libraries through a similar configuration interface in Ruby:
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
Google::Cloud.configure do |config|
|
25
|
+
# Shared project_id and keyfile
|
26
|
+
config.project_id = "my-project"
|
27
|
+
config.keyfile = "/path/to/key.json"
|
28
|
+
|
29
|
+
# Library specific configurations
|
30
|
+
config.error_reporting.project_id = "error-reporting-project"
|
31
|
+
config.logging.log_name = "my-app-log"
|
32
|
+
config.trace.capture_stack = true
|
33
|
+
end
|
34
|
+
```
|
35
|
+
|
36
|
+
Individual libraries can be configured separately:
|
37
|
+
|
38
|
+
```ruby
|
39
|
+
# Error Reporting specific configurations
|
40
|
+
Google::Cloud::ErrorReporting.configure do |config|
|
41
|
+
config.project_id = "error-reporting-project"
|
42
|
+
config.service_name = "my-service"
|
43
|
+
end
|
44
|
+
|
45
|
+
# Debugger specific configurations
|
46
|
+
Google::Cloud::Debugger.configure do |config|
|
47
|
+
config.project_id = "debugger-project"
|
48
|
+
config.service_name = "my-service"
|
49
|
+
config.allow_mutating_methods = true
|
50
|
+
end
|
51
|
+
|
52
|
+
# Logging specific configurations
|
53
|
+
Google::Cloud::Logging.configure do |config|
|
54
|
+
config.project_id = "error-reporting-project"
|
55
|
+
config.log_name = "my-app-log"
|
56
|
+
config.google_cloud.labels = {
|
57
|
+
"my-static-label" => "static-label-value",
|
58
|
+
"my-dynamic-label" => ->(rack_env) { rack_env["HTTP_X_MY_HEADER"] }
|
59
|
+
}
|
60
|
+
end
|
61
|
+
|
62
|
+
# Trace specific configurations
|
63
|
+
Google::Cloud::Trace.configure do |config|
|
64
|
+
config.project_id = "error-reporting-project"
|
65
|
+
config.capture_stack = true
|
66
|
+
end
|
67
|
+
```
|
68
|
+
|
69
|
+
## Configuration Options
|
70
|
+
|
71
|
+
#### Shared
|
72
|
+
|
73
|
+
* `project_id`: [`String`] Shared Google Cloud Platform Project identifier. Self discovered on GCP.
|
74
|
+
* `credentials`: [`String`] Path to shared service account JSON keyfile. Self discovered on GCP.
|
75
|
+
* `use_error_reporting`: [`Boolean`] Explicitly enable or disable Error Reporting features. Default: `Rails.env.production?`
|
76
|
+
* `use_debugger`: [`Boolean`] Explicitly enable or disable Debugger features. Default: `Rails.env.production?`
|
77
|
+
* `use_logging`: [`Boolean`] Explicitly enable or disable Logging features. Default: `Rails.env.production?`
|
78
|
+
* `use_trace`: [`Boolean`] Explicitly enable or disable Trace features. Default: `Rails.env.production?`
|
79
|
+
|
80
|
+
#### Error Reporting
|
81
|
+
|
82
|
+
* `error_reporting.project_id`: [`String`] Google Cloud Platform Project identifier just for Error Reporting. Self discovered on GCP.
|
83
|
+
* `error_reporting.credentials`: [`String`] Path to service account JSON keyfile. Self discovered on GCP.
|
84
|
+
* `error_reporting.service_name`: [`String`] Identifier to running service. Self discovered on GCP. Default: `"ruby"`
|
85
|
+
* `error_reporting.service_version`: [`String`] Version identifier to running service. Self discovered on GCP.
|
86
|
+
* `error_reporting.ignore_classes`: [`Array`] An Array of Exception classes to ignore. Default: `[]`
|
87
|
+
|
88
|
+
#### Debugger
|
89
|
+
|
90
|
+
* `debugger.project_id`: [`String`] Google Cloud Platform Project identifier just for Debugger. Self discovered on GCP.
|
91
|
+
* `debugger.credentials`: [`String`] Path to service account JSON keyfile. Self discovered on GCP.
|
92
|
+
* `debugger.service_name`: [`String`] Identifier to running service. Self discovered on GCP. Default: `"ruby-app"`
|
93
|
+
* `debugger.service_version`: [`String`] Version identifier to running service. Self discovered on GCP.
|
94
|
+
* `debugger.root`: [`String`] The root directory of the debuggee application in absolute file path form. Default: `Rack::Directory#root` if the application framework is rack-based,i.e. Ruby on Rails, Sinatra. Otherwise use current working directory.
|
95
|
+
* `debugger.allow_mutating_methods`: [`boolean`] Whether to allow expressions to call methods that could mutate program state. Default is `false`.
|
96
|
+
* `debugger.evaluation_time_limit`: [`Numeric`] The time limit in seconds for evaluating expressions. Default is `0.05`.
|
97
|
+
|
98
|
+
#### Logging
|
99
|
+
|
100
|
+
* `logging.project_id`: [`String`] Google Cloud Platform Project identifier just for Logging. Self discovered on GCP.
|
101
|
+
* `logging.credentials`: [`String`] Path to service account JSON keyfile. Self discovered on GCP.
|
102
|
+
* `logging.log_name`: [`String`] Name of the application log file. Default: `"ruby_app_log"`
|
103
|
+
* `logging.log_name_map`: [`Hash`] Map specific request routes to other log. Default: `{ "/_ah/health" => "ruby_health_check_log" }`
|
104
|
+
* `logging.monitored_resource.type`: [`String`] Resource type name. See [full list](https://cloud.google.com/logging/docs/api/v2/resource-list). Self discovered on GCP.
|
105
|
+
* `logging.monitored_resource.labels`: [`Hash`] Resource labels. See [full list](https://cloud.google.com/logging/docs/api/v2/resource-list). Self discovered on GCP.
|
106
|
+
* `logging.labels`: [`Hash`] User defined labels. A `Hash` of label names to string label values or callables/`Proc` which are functions of the Rack environment.
|
107
|
+
|
108
|
+
#### Trace
|
109
|
+
|
110
|
+
* `trace.project_id`: [`String`] Google Cloud Platform Project identifier just for Trace. Self discovered on GCP.
|
111
|
+
* `trace.credentials`: [`String`] Path to service account JSON keyfile. Self discovered on GCP.
|
112
|
+
* `trace.capture_stack`: [`Boolean`] Whether to capture stack traces for each span. Default: `false`
|
113
|
+
* `trace.sampler`: [`Proc`] A sampler Proc makes the decision whether to record a trace for each request. Default: `Google::Cloud::Trace::TimeSampler`
|
114
|
+
* `trace.span_id_generator`: [`Proc`] A generator Proc that generates the name String for new TraceRecord. Default: `random numbers`
|
115
|
+
* `trace.notifications`: [`Array`] An array of ActiveSupport notification types to include in traces. Rails-only option. Default: `Google::Cloud::Trace::Railtie::DEFAULT_NOTIFICATIONS`
|
116
|
+
* `trace.max_data_length`: [`Integer`] The maximum length of span properties recorded with ActiveSupport notification events. Rails-only option. Default: `Google::Cloud::Trace::Notifications::DEFAULT_MAX_DATA_LENGTH`
|
data/OVERVIEW.md
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Stackdriver
|
2
|
+
|
3
|
+
The stackdriver gem instruments a Ruby web application for Stackdriver
|
4
|
+
diagnostics. When loaded, it integrates with Rails, Sinatra, or other Rack-based
|
5
|
+
web frameworks to collect application diagnostic and monitoring information for
|
6
|
+
your application.
|
7
|
+
|
8
|
+
Specifically, this gem is a convenience package that loads the following gems:
|
9
|
+
|
10
|
+
- [google-cloud-debugger](https://googlecloudplatform.github.io/google-cloud-ruby/docs/google-cloud-debugger)
|
11
|
+
- [google-cloud-error_reporting](https://googlecloudplatform.github.io/google-cloud-ruby/docs/google-cloud-error_reporting)
|
12
|
+
- [google-cloud-logging](https://googlecloudplatform.github.io/google-cloud-ruby/docs/google-cloud-logging)
|
13
|
+
- [google-cloud-trace](https://googlecloudplatform.github.io/google-cloud-ruby/docs/google-cloud-trace)
|
14
|
+
|
15
|
+
On top of that, stackdriver gem automatically activates the following
|
16
|
+
instrumentation features:
|
17
|
+
|
18
|
+
- [google-cloud-debugger instrumentation](https://googlecloudplatform.github.io/google-cloud-ruby/docs/google-cloud-debugger/latest/file.INSTRUMENTATION)
|
19
|
+
- [google-cloud-error_reporting strumentation](https://googlecloudplatform.github.io/google-cloud-ruby/docs/google-cloud-error_reporting/latest/file.INSTRUMENTATION)
|
20
|
+
- [google-cloud-logging instrumentation](https://googlecloudplatform.github.io/google-cloud-ruby/docs/google-cloud-logging/latest/file.INSTRUMENTATION)
|
21
|
+
- [google-cloud-trace instrumentation](https://googlecloudplatform.github.io/google-cloud-ruby/docs/google-cloud-trace/latest/file.INSTRUMENTATION)
|
22
|
+
|
23
|
+
## Usage
|
24
|
+
|
25
|
+
Instead of requiring multiple Stackdriver client library gems and explicitly
|
26
|
+
load each built-in Railtie classes, now users can achieve all these through
|
27
|
+
requiring this single **stackdriver** umbrella gem.
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
require "stackdriver"
|
31
|
+
```
|
data/lib/stackdriver/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stackdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Heng Xiong
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-cloud-debugger
|
@@ -228,8 +228,12 @@ extensions: []
|
|
228
228
|
extra_rdoc_files: []
|
229
229
|
files:
|
230
230
|
- ".yardopts"
|
231
|
+
- CHANGELOG.md
|
232
|
+
- CODE_OF_CONDUCT.md
|
233
|
+
- CONTRIBUTING.md
|
234
|
+
- INSTRUMENTATION_CONFIGURATION.md
|
231
235
|
- LICENSE
|
232
|
-
-
|
236
|
+
- OVERVIEW.md
|
233
237
|
- lib/stackdriver.rb
|
234
238
|
- lib/stackdriver/version.rb
|
235
239
|
homepage: https://github.com/GoogleCloudPlatform/google-cloud-ruby/tree/master/stackdriver
|
data/README.md
DELETED
@@ -1,148 +0,0 @@
|
|
1
|
-
# stackdriver
|
2
|
-
|
3
|
-
This gem instruments a Ruby web application for Stackdriver diagnostics. When
|
4
|
-
loaded, it integrates with Rails, Sinatra, or other Rack-based web frameworks
|
5
|
-
to collect application diagnostic and monitoring information for your
|
6
|
-
application.
|
7
|
-
|
8
|
-
Specifically, this gem is a convenience package that loads and automatically
|
9
|
-
activates the instrumentation features of the following gems:
|
10
|
-
|
11
|
-
* [google-cloud-debugger](../google-cloud-debugger) which enables remote
|
12
|
-
debugging using [Stackdriver Debugger](https://cloud.google.com/debugger/)
|
13
|
-
* [google-cloud-error_reporting](../google-cloud-error_reporting) which
|
14
|
-
reports unhandled exceptions and other errors to
|
15
|
-
[Stackdriver Error Reporting](https://cloud.google.com/error-reporting/)
|
16
|
-
* [google-cloud-logging](../google-cloud-logging) which collects application
|
17
|
-
logs in [Stackdriver logging](https://cloud.google.com/logging/)
|
18
|
-
* [google-cloud-trace](../google-cloud-trace) which reports distributed
|
19
|
-
latency traces to [Stackdriver Trace](https://cloud.google.com/trace/)
|
20
|
-
|
21
|
-
## Quick Start
|
22
|
-
|
23
|
-
### Install the gem
|
24
|
-
|
25
|
-
Add the `stackdriver` gem to your Gemfile:
|
26
|
-
|
27
|
-
```ruby
|
28
|
-
gem "stackdriver"
|
29
|
-
```
|
30
|
-
|
31
|
-
### Instrument your code
|
32
|
-
|
33
|
-
#### Using Ruby on Rails
|
34
|
-
|
35
|
-
If you are running Ruby on Rails, the `stackdriver` gem will automatically
|
36
|
-
install Railties that will instrument your application for basic diagnostics.
|
37
|
-
In most applications, the gem will initialize itself, and you will not need to
|
38
|
-
write any additional code.
|
39
|
-
|
40
|
-
If your Rails application has removed the `Bundler.require` line in the
|
41
|
-
`application.rb` initialization file, then you might need to require the gem
|
42
|
-
explicitly with:
|
43
|
-
|
44
|
-
```ruby
|
45
|
-
# In application.rb
|
46
|
-
require "stackdriver"
|
47
|
-
```
|
48
|
-
|
49
|
-
#### Other Rack-based frameworks
|
50
|
-
|
51
|
-
If you are running another Rack-based framework, such as Sinatra, you should
|
52
|
-
install the Rack Middleware provided by each library you want to use:
|
53
|
-
|
54
|
-
```ruby
|
55
|
-
# In your Rack middleware configuration code.
|
56
|
-
require "stackdriver"
|
57
|
-
use Google::Cloud::Logging::Middleware
|
58
|
-
use Google::Cloud::ErrorReporting::Middleware
|
59
|
-
use Google::Cloud::Trace::Middleware
|
60
|
-
use Google::Cloud::Debugger::Middleware
|
61
|
-
```
|
62
|
-
|
63
|
-
#### Advanced instrumentation
|
64
|
-
|
65
|
-
See the individual gem documentation for each gem for information on how to
|
66
|
-
customize the instrumentation, e.g. how to manually report errors or add custom
|
67
|
-
spans to latency traces.
|
68
|
-
|
69
|
-
### Viewing diagnostic reports
|
70
|
-
|
71
|
-
Logs, errors, traces, and other reports can be viewed on the Google Cloud
|
72
|
-
Console. If your app is hosted on Google Cloud (such as on Google App Engine,
|
73
|
-
Google Kubernetes Engine, or Google Compute Engine), you can use the same
|
74
|
-
project. Otherwise, if your application is hosted elsewhere, create a new
|
75
|
-
project on [Google Cloud](https://console.cloud.google.com/).
|
76
|
-
|
77
|
-
Make sure the [Stackdriver Error Reporting
|
78
|
-
API](https://console.cloud.google.com/apis/library/clouderrorreporting.googleapis.com)
|
79
|
-
is enabled on your Google Cloud project. (The other service APIs---debugging,
|
80
|
-
logging, and tracing---are enabled by default on all new projects.)
|
81
|
-
|
82
|
-
#### Authentication
|
83
|
-
|
84
|
-
Your app also needs to authenticate with the Stackdriver services in order to
|
85
|
-
send data.
|
86
|
-
|
87
|
-
* If you are running on **Google App Engine**, authentication happens
|
88
|
-
automatically. You do not need to do anything.
|
89
|
-
* If you are running on **Google Kubernetes Engine**, you must explicitly add
|
90
|
-
`https://www.googleapis.com/auth/cloud-platform` to the API access scopes
|
91
|
-
when creating the cluster. Authentication will then happen automatically.
|
92
|
-
* If you are running on **Google Compute Engine**, you must explicitly add
|
93
|
-
`https://www.googleapis.com/auth/cloud-platform` to the API access scopes
|
94
|
-
when creating the VM. Authentication will then happen automatically.
|
95
|
-
* If you are not running on a Google Cloud hosting environment, you must set
|
96
|
-
up a service account, and provide the Stackdriver library with the ID of
|
97
|
-
your Google Cloud project, and the service account credentials.
|
98
|
-
|
99
|
-
```ruby
|
100
|
-
# In your app initialization code
|
101
|
-
Google::Cloud.configure do |config|
|
102
|
-
config.project_id = "your-project-id"
|
103
|
-
config.credentials = "/path/to/servce-account-keyfile.json"
|
104
|
-
end
|
105
|
-
```
|
106
|
-
|
107
|
-
See the gem documentation for each individual gem for more information.
|
108
|
-
|
109
|
-
## Supported Ruby Versions
|
110
|
-
|
111
|
-
This library is supported on Ruby 2.3+.
|
112
|
-
|
113
|
-
Google provides official support for Ruby versions that are actively supported
|
114
|
-
by Ruby Core—that is, Ruby versions that are either in normal maintenance or in
|
115
|
-
security maintenance, and not end of life. Currently, this means Ruby 2.3 and
|
116
|
-
later. Older versions of Ruby _may_ still work, but are unsupported and not
|
117
|
-
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
|
118
|
-
about the Ruby support schedule.
|
119
|
-
|
120
|
-
This library follows [Semantic Versioning](http://semver.org/). It is currently
|
121
|
-
in major version zero (0.y.z), which means that anything may change at any time
|
122
|
-
and the public API should not be considered stable.
|
123
|
-
|
124
|
-
## Contributing
|
125
|
-
|
126
|
-
Contributions to this library are always welcome and highly encouraged.
|
127
|
-
|
128
|
-
See the [Contributing
|
129
|
-
Guide](http://googlecloudplatform.github.io/google-cloud-ruby/docs/stackdriver/latest/file.CONTRIBUTING)
|
130
|
-
for more information on how to get started.
|
131
|
-
|
132
|
-
Please note that this project is released with a Contributor Code of Conduct. By
|
133
|
-
participating in this project you agree to abide by its terms. See [Code of
|
134
|
-
Conduct](http://googlecloudplatform.github.io/google-cloud-ruby/docs/stackdriver/latest/file.CODE_OF_CONDUCT)
|
135
|
-
for more information.
|
136
|
-
|
137
|
-
## License
|
138
|
-
|
139
|
-
This library is licensed under Apache 2.0. Full license text is available in
|
140
|
-
[LICENSE](LICENSE).
|
141
|
-
|
142
|
-
## Support
|
143
|
-
|
144
|
-
Please [report bugs at the project on
|
145
|
-
Github](https://github.com/GoogleCloudPlatform/google-cloud-ruby/issues). Don't
|
146
|
-
hesitate to [ask
|
147
|
-
questions](http://stackoverflow.com/questions/tagged/google-cloud-ruby) about
|
148
|
-
the client or APIs on [StackOverflow](http://stackoverflow.com).
|