opentelemetry-instrumentation-rack 0.19.3 → 0.20.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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 121351162db33511943ee22400ad05edc8bdf6efa74e6673c3f46f6c22040350
|
4
|
+
data.tar.gz: 35d5abe73ec1ae9478edf28f51b21fafc922626ba830d4648b5ab38adce1fe03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a52efd93f27f9f5fb8e269fef96c80180d6dec99280877f22da48314403eebfac0c18b9c15058fe2a999d4b7b34c8cfbfa70fe4af1bc348d93c01223a3336c88
|
7
|
+
data.tar.gz: 5aa90c81f24ae2f8a2608b6556663488fc6394c716bf7f0bd4cda8ecc3da6abf8d5a54d050290445c8c118c803b57da0332806b9b07d5448c2118dabe72e4ad8
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# Release History: opentelemetry-instrumentation-rack
|
2
2
|
|
3
|
+
### v0.20.0 / 2021-10-06
|
4
|
+
|
5
|
+
* FIXED: Prevent high cardinality rack span name as a default [#973](https://github.com/open-telemetry/opentelemetry-ruby/pull/973)
|
6
|
+
|
7
|
+
The default was to set the span name as the path of the request, we have
|
8
|
+
corrected this as it was not adhering to the spec requirement using low
|
9
|
+
cardinality span names. You can restore the previous behaviour of high
|
10
|
+
cardinality span names by passing in a url quantization function that
|
11
|
+
forwards the uri path. More details on this is available in the readme.
|
12
|
+
|
3
13
|
### v0.19.3 / 2021-09-29
|
4
14
|
|
5
15
|
* (No significant changes)
|
data/README.md
CHANGED
@@ -29,6 +29,25 @@ OpenTelemetry::SDK.configure do |c|
|
|
29
29
|
c.use_all
|
30
30
|
end
|
31
31
|
```
|
32
|
+
## Controlling span name cardinality
|
33
|
+
|
34
|
+
By default we will set the rack span name to match the format "HTTP #{method}" (ie. HTTP GET). There are different ways to control span names with this instrumentation.
|
35
|
+
|
36
|
+
### Enriching rack spans
|
37
|
+
|
38
|
+
We surface a hook to easily retrieve the rack span within the context of a request so that you can add information to or rename your server span.
|
39
|
+
|
40
|
+
This is how the rails controller instrumentation is able to rename the span names to match the controller and action that process the request. See https://github.com/open-telemetry/opentelemetry-ruby/blob/f6fb025bef69f839078748f56516ce38c7d51eb8/instrumentation/action_pack/lib/opentelemetry/instrumentation/action_pack/patches/action_controller/metal.rb#L15-L16 for an example.
|
41
|
+
|
42
|
+
### High cardinality example
|
43
|
+
|
44
|
+
You can pass in an url quantization lambda that simply uses the URL path, the result is you will end up with high cardinality span names, however this may be acceptable in your deployment and is easy configurable using the following example.
|
45
|
+
|
46
|
+
```ruby
|
47
|
+
OpenTelemetry::SDK.configure do |c|
|
48
|
+
c.use 'OpenTelemetry::Instrumentation::Rack', { url_quantization: ->(path, _env) { path.to_s } }
|
49
|
+
end
|
50
|
+
```
|
32
51
|
|
33
52
|
## Examples
|
34
53
|
|
@@ -50,4 +69,4 @@ The `opentelemetry-instrumentation-rack` gem is distributed under the Apache 2.0
|
|
50
69
|
[license-github]: https://github.com/open-telemetry/opentelemetry-ruby/blob/main/LICENSE
|
51
70
|
[ruby-sig]: https://github.com/open-telemetry/community#ruby-sig
|
52
71
|
[community-meetings]: https://github.com/open-telemetry/community#community-meetings
|
53
|
-
[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions
|
72
|
+
[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions
|
@@ -58,6 +58,7 @@ module OpenTelemetry
|
|
58
58
|
return @app.call(env)
|
59
59
|
end
|
60
60
|
end
|
61
|
+
|
61
62
|
original_env = env.dup
|
62
63
|
extracted_context = OpenTelemetry.propagation.extract(
|
63
64
|
env,
|
@@ -141,7 +142,7 @@ module OpenTelemetry
|
|
141
142
|
if (implementation = config[:url_quantization])
|
142
143
|
implementation.call(request_uri_or_path_info, env)
|
143
144
|
else
|
144
|
-
|
145
|
+
"HTTP #{env['REQUEST_METHOD']}"
|
145
146
|
end
|
146
147
|
end
|
147
148
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opentelemetry-instrumentation-rack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.20.0
|
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-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opentelemetry-api
|
@@ -228,10 +228,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
|
|
228
228
|
licenses:
|
229
229
|
- Apache-2.0
|
230
230
|
metadata:
|
231
|
-
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-rack/v0.
|
231
|
+
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-rack/v0.20.0/file.CHANGELOG.html
|
232
232
|
source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/rack
|
233
233
|
bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
|
234
|
-
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-rack/v0.
|
234
|
+
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-rack/v0.20.0
|
235
235
|
post_install_message:
|
236
236
|
rdoc_options: []
|
237
237
|
require_paths:
|