opentelemetry-instrumentation-rails 0.14.0 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -3
- data/README.md +14 -2
- data/lib/opentelemetry/instrumentation/rails.rb +1 -0
- data/lib/opentelemetry/instrumentation/rails/instrumentation.rb +2 -0
- data/lib/opentelemetry/instrumentation/rails/patches/action_controller/metal.rb +14 -0
- data/lib/opentelemetry/instrumentation/rails/railtie.rb +2 -2
- data/lib/opentelemetry/instrumentation/rails/version.rb +1 -1
- metadata +25 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e34571f27de616ba58694c8237c0aa261d2fb4bd0fffdc233a2c6aadb57a9db6
|
4
|
+
data.tar.gz: eb6d54e06b7e8b4e25d863ce342130de2c41c41ebdf23c287c8dda0b9d286462
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9a6b78d0b3aba5bc89f0b4c7a5cc6f4af50509958d65f789356fe5823688682cea61e8167b317e82f9c25427d5b80f4cffba7032784d7c5213d3a107153d53d
|
7
|
+
data.tar.gz: 1948237271395861da709a3ec93f0cccc6ddfce8ccf3bea1f3065ee48df1ead58f1dfcb657d23c834bd854dcf5ced63ff66adf8501fba8c9d86fe6ae9513a512
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,28 @@
|
|
1
1
|
# Release History: opentelemetry-instrumentation-rails
|
2
2
|
|
3
|
+
### v0.18.1 / 2021-06-23
|
4
|
+
|
5
|
+
* FIXED: Updated rack middleware position to zero
|
6
|
+
|
7
|
+
### v0.18.0 / 2021-05-21
|
8
|
+
|
9
|
+
* ADDED: Updated API depedency for 1.0.0.rc1
|
10
|
+
|
11
|
+
### v0.17.0 / 2021-04-22
|
12
|
+
|
13
|
+
* ADDED: Added http.route in rails instrumentation to match the spec
|
14
|
+
* FIXED: Rails example by not using `rails` from git
|
15
|
+
* FIXED: Updated rack middleware position to zero
|
16
|
+
|
17
|
+
### v0.16.0 / 2021-03-17
|
18
|
+
|
19
|
+
* FIXED: Example scripts now reference local common lib
|
20
|
+
* DOCS: Replace Gitter with GitHub Discussions
|
21
|
+
|
22
|
+
### v0.15.0 / 2021-02-18
|
23
|
+
|
24
|
+
* (No significant changes)
|
25
|
+
|
3
26
|
### v0.14.0 / 2021-02-03
|
4
27
|
|
5
28
|
* (No significant changes)
|
@@ -14,12 +37,12 @@
|
|
14
37
|
|
15
38
|
### v0.11.0 / 2020-12-11
|
16
39
|
|
17
|
-
* FIXED: Rails tests
|
18
|
-
* FIXED: Copyright comments to not reference year
|
40
|
+
* FIXED: Rails tests
|
41
|
+
* FIXED: Copyright comments to not reference year
|
19
42
|
|
20
43
|
### v0.10.0 / 2020-12-03
|
21
44
|
|
22
|
-
* FIXED: Otel-instrumentation-all not installing all
|
45
|
+
* FIXED: Otel-instrumentation-all not installing all
|
23
46
|
|
24
47
|
### v0.9.0 / 2020-11-27
|
25
48
|
|
data/README.md
CHANGED
@@ -30,6 +30,18 @@ OpenTelemetry::SDK.configure do |c|
|
|
30
30
|
end
|
31
31
|
```
|
32
32
|
|
33
|
+
|
34
|
+
### Configuration options
|
35
|
+
|
36
|
+
The `http.route` attribute is disabled by default because we use [.recognize](https://github.com/rails/rails/blob/v6.1.3/actionpack/lib/action_dispatch/journey/router.rb#L65)
|
37
|
+
```ruby
|
38
|
+
OpenTelemetry::SDK.configure do |c|
|
39
|
+
c.use 'OpenTelemetry::Instrumentation::Rails', {
|
40
|
+
enable_recognize_route: true
|
41
|
+
}
|
42
|
+
end
|
43
|
+
```
|
44
|
+
|
33
45
|
## Examples
|
34
46
|
|
35
47
|
Example usage can be seen in the `./example/trace_demonstration.rb` file [here](https://github.com/open-telemetry/opentelemetry-ruby/blob/main/instrumentation/rails/example/trace_request_demonstration.ru)
|
@@ -38,7 +50,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here](
|
|
38
50
|
|
39
51
|
The `opentelemetry-instrumentation-rails` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`.
|
40
52
|
|
41
|
-
The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us
|
53
|
+
The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig].
|
42
54
|
|
43
55
|
## License
|
44
56
|
|
@@ -50,4 +62,4 @@ The `opentelemetry-instrumentation-rails` gem is distributed under the Apache 2.
|
|
50
62
|
[license-github]: https://github.com/open-telemetry/opentelemetry-ruby/blob/main/LICENSE
|
51
63
|
[ruby-sig]: https://github.com/open-telemetry/community#ruby-sig
|
52
64
|
[community-meetings]: https://github.com/open-telemetry/community#community-meetings
|
53
|
-
[
|
65
|
+
[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions
|
@@ -14,8 +14,22 @@ module OpenTelemetry
|
|
14
14
|
def dispatch(name, request, response)
|
15
15
|
rack_span = OpenTelemetry::Instrumentation::Rack.current_span
|
16
16
|
rack_span.name = "#{self.class.name}##{name}" if rack_span.context.valid? && !request.env['action_dispatch.exception']
|
17
|
+
|
18
|
+
add_rails_route(rack_span, request) if instrumentation_config[:enable_recognize_route]
|
17
19
|
super(name, request, response)
|
18
20
|
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def add_rails_route(rack_span, request)
|
25
|
+
::Rails.application.routes.router.recognize(request) do |route, _params|
|
26
|
+
rack_span.set_attribute('http.route', route.path.spec.to_s)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def instrumentation_config
|
31
|
+
Rails::Instrumentation.instance.config
|
32
|
+
end
|
19
33
|
end
|
20
34
|
end
|
21
35
|
end
|
@@ -14,8 +14,8 @@ module OpenTelemetry
|
|
14
14
|
config.before_initialize do |app|
|
15
15
|
OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.install({})
|
16
16
|
|
17
|
-
app.middleware.
|
18
|
-
|
17
|
+
app.middleware.insert_before(
|
18
|
+
0,
|
19
19
|
OpenTelemetry::Instrumentation::Rack::Middlewares::TracerMiddleware
|
20
20
|
)
|
21
21
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opentelemetry-instrumentation-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenTelemetry Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opentelemetry-api
|
@@ -16,28 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 1.0.0.rc2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 1.0.0.rc2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: opentelemetry-instrumentation-base
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.18.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.18.1
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: opentelemetry-instrumentation-rack
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
45
|
- - "~>"
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
47
|
+
version: 0.19.0
|
34
48
|
type: :runtime
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
52
|
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
54
|
+
version: 0.19.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: appraisal
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +100,14 @@ dependencies:
|
|
86
100
|
requirements:
|
87
101
|
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
103
|
+
version: 1.0.0.rc1
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
108
|
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
110
|
+
version: 1.0.0.rc1
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: rack-test
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -227,7 +241,8 @@ files:
|
|
227
241
|
homepage: https://github.com/open-telemetry/opentelemetry-ruby
|
228
242
|
licenses:
|
229
243
|
- Apache-2.0
|
230
|
-
metadata:
|
244
|
+
metadata:
|
245
|
+
source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/rails
|
231
246
|
post_install_message:
|
232
247
|
rdoc_options: []
|
233
248
|
require_paths:
|
@@ -243,7 +258,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
258
|
- !ruby/object:Gem::Version
|
244
259
|
version: '0'
|
245
260
|
requirements: []
|
246
|
-
rubygems_version: 3.1.
|
261
|
+
rubygems_version: 3.1.6
|
247
262
|
signing_key:
|
248
263
|
specification_version: 4
|
249
264
|
summary: Rails instrumentation for the OpenTelemetry framework
|