traces 0.14.0 → 0.15.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: 618c28f794dbd7fa30d3d211b50bb81a4bf785d8877f4512379d1f9bfc588032
4
- data.tar.gz: 0e7dcc6c4e0f88a1721a06cf4225093d9375a15cfc2bf09ec3aa67e16448453b
3
+ metadata.gz: b5540f65335aab146d74616bfb46fe0119e93134ad8b3c241bfa97c31319d274
4
+ data.tar.gz: f4a13424f6035a3a11d1a3b5129123c391a3e3738a6a1594af83c17572d2410b
5
5
  SHA512:
6
- metadata.gz: 8cf0fe5b427eca45083760ea6e5428f6b9a36ec00019ca55e4b505cd0edddd72c10c5d52fdca990a8e7676652cd72529f2f25a29298351625210702a9eb6111d
7
- data.tar.gz: fe0a03d14440673a637843065cb48ff9a54be1c315e5c08b0117875e0b42642e268b6b087d2cb4d5f541abc6085aaf589fb23650eacffdd5f137abd90cf9c321
6
+ metadata.gz: 79f27a7a1e2fff3bfba6c17d933f957ae981778b9696c030f86cd12d08a0709ebc40a31b9812f2042d7bb3115bee52405f8eb27ec4a11e94032fa83d8302c39a
7
+ data.tar.gz: 277a0b1427ee998fb017d8043d550aabde68371481395ff0b1b1a6733f6a80136889d9e3e934897059fa69bd32b11c1f30fa3598be4443933f9563f746dfc9cb
checksums.yaml.gz.sig CHANGED
Binary file
@@ -84,6 +84,11 @@ module Traces
84
84
  def trace_context
85
85
  Fiber.current.traces_backend_context
86
86
  end
87
+
88
+ # @returns [Boolean] Whether there is an active trace.
89
+ def active?
90
+ !!Fiber.current.traces_backend_context
91
+ end
87
92
  end
88
93
  end
89
94
 
@@ -62,6 +62,11 @@ module Traces
62
62
  def trace_context
63
63
  Fiber.current.traces_backend_context
64
64
  end
65
+
66
+ # @returns [Boolean] Whether there is an active trace.
67
+ def active?
68
+ !!Fiber.current.traces_backend_context
69
+ end
65
70
  end
66
71
  end
67
72
 
@@ -85,6 +85,11 @@ module Traces
85
85
  def trace_context
86
86
  Fiber.current.traces_backend_context
87
87
  end
88
+
89
+ # @returns [Boolean] Whether there is an active trace.
90
+ def active?
91
+ !!Fiber.current.traces_backend_context
92
+ end
88
93
  end
89
94
  end
90
95
 
@@ -10,5 +10,11 @@ module Traces
10
10
  module Backend
11
11
  end
12
12
 
13
+ # This is a default implementation, which can be replaced by the backend.
14
+ # @returns [Boolean] Whether there is an active trace.
15
+ def self.active?
16
+ !!self.trace_context
17
+ end
18
+
13
19
  Config::DEFAULT.require_backend
14
20
  end
data/lib/traces/config.rb CHANGED
@@ -38,12 +38,10 @@ module Traces
38
38
  if require(backend)
39
39
  Traces.extend(Backend::Interface)
40
40
 
41
- self.prepare
42
-
43
41
  return true
44
42
  end
45
43
  rescue LoadError => error
46
- ::Console::Event::Failure.for(error).emit(self, "Unable to load traces backend!", backend: backend, severity: :warn)
44
+ warn "Unable to load traces backend: #{backend.inspect}!"
47
45
  end
48
46
  end
49
47
 
@@ -36,6 +36,8 @@ module Traces
36
36
 
37
37
  return provider
38
38
  end
39
+
40
+ Config::DEFAULT.prepare
39
41
  else
40
42
  def self.Provider(klass, &block)
41
43
  # Tracing disabled.
@@ -4,5 +4,5 @@
4
4
  # Copyright, 2021-2023, by Samuel Williams.
5
5
 
6
6
  module Traces
7
- VERSION = "0.14.0"
7
+ VERSION = "0.15.0"
8
8
  end
data/readme.md CHANGED
@@ -25,7 +25,7 @@ Please see the [project releases](https://socketry.github.io/traces/releases/ind
25
25
 
26
26
  ### v0.14.0
27
27
 
28
- - [Introduce `Traces::Config` to control tracing behavior](https://socketry.github.io/traces/releases/index#introduce-traces::config-to-control-tracing-behavior)
28
+ - [Introduce `Traces::Config` to Expose `prepare` Hook](https://socketry.github.io/traces/releases/index#introduce-traces::config-to-expose-prepare-hook)
29
29
 
30
30
  ## Contributing
31
31
 
data/releases.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  ## v0.14.0
4
4
 
5
- ### Introduce `Traces::Config` to control tracing behavior
5
+ ### Introduce `Traces::Config` to Expose `prepare` Hook
6
6
 
7
- There are some reasonable defaults for tracing, but sometimes you want to change them. Adding a `config/traces.rb` file to your project will allow you to do that.
7
+ The `traces` gem uses aspect-oriented programming to wrap existing methods to emit traces. However, while there are some reasonable defaults for emitting traces, it can be useful to customize the behavior and level of detail. To that end, the `traces` gem now optionally loads a `config/traces.rb` which includes a `prepare` hook that can be used to load additional providers.
8
8
 
9
9
  ``` ruby
10
10
  # config/traces.rb
@@ -15,4 +15,4 @@ def prepare
15
15
  end
16
16
  ```
17
17
 
18
- The `prepare` method is called before the tracing is started but after the backend is required. You can require any provider you want in this file, or even add your own custom providers.
18
+ The `prepare` method is called immediately after the traces backend is loaded. You can require any provider you want in this file, or even add your own custom providers.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,12 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traces
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  - Felix Yan
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain:
12
11
  - |
@@ -38,10 +37,8 @@ cert_chain:
38
37
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
39
38
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
40
39
  -----END CERTIFICATE-----
41
- date: 2024-11-05 00:00:00.000000000 Z
40
+ date: 2025-01-31 00:00:00.000000000 Z
42
41
  dependencies: []
43
- description:
44
- email:
45
42
  executables: []
46
43
  extensions: []
47
44
  extra_rdoc_files: []
@@ -64,7 +61,6 @@ licenses:
64
61
  metadata:
65
62
  documentation_uri: https://socketry.github.io/traces/
66
63
  source_code_uri: https://github.com/socketry/traces.git
67
- post_install_message:
68
64
  rdoc_options: []
69
65
  require_paths:
70
66
  - lib
@@ -79,8 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
75
  - !ruby/object:Gem::Version
80
76
  version: '0'
81
77
  requirements: []
82
- rubygems_version: 3.5.11
83
- signing_key:
78
+ rubygems_version: 3.6.2
84
79
  specification_version: 4
85
80
  summary: Application instrumentation and tracing.
86
81
  test_files: []
metadata.gz.sig CHANGED
Binary file