opentrace 0.17.3 → 0.17.4
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/lib/opentrace/audit_tracker.rb +3 -0
- data/lib/opentrace/log_forwarder.rb +22 -3
- data/lib/opentrace/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 44491d3cd15946101c8b248ba6133342a6ee0ec39a697ff53f4f1e6d33e3d118
|
|
4
|
+
data.tar.gz: 63a9f698ac107d0e4bd1f15aa278e630efdd625d43cb72715b1481ef66b7eb3d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aa70ee7b053f63a7c26e7b11a9cabeceaef99827a017492cd84c5d5f73df04bc40e4bba8d3a37f67c69656b31d1caf1052a0d224398c22b8b483e28dacce6504
|
|
7
|
+
data.tar.gz: 461193306891f4cbca64c5899be6be640b77e570cda412149ab083ad94aa27466de3ab16922b406006f81ab1a0f7eaea377456bf2196bdba74d625af7f05ea85
|
|
@@ -5,6 +5,9 @@ module OpenTrace
|
|
|
5
5
|
# Captures before/after diffs on create, update, and destroy using saved_changes.
|
|
6
6
|
module AuditTracker
|
|
7
7
|
def self.included(base)
|
|
8
|
+
return if base.instance_variable_get(:@opentrace_audit_tracker_installed)
|
|
9
|
+
|
|
10
|
+
base.instance_variable_set(:@opentrace_audit_tracker_installed, true)
|
|
8
11
|
base.after_create { |record| OpenTrace::AuditTracker.track(record, :create) }
|
|
9
12
|
base.after_update { |record| OpenTrace::AuditTracker.track(record, :update) }
|
|
10
13
|
base.after_destroy { |record| OpenTrace::AuditTracker.track(record, :destroy) }
|
|
@@ -60,9 +60,28 @@ module OpenTrace
|
|
|
60
60
|
""
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
# DO NOT implement `tagged` here.
|
|
64
|
+
#
|
|
65
|
+
# Rails' ActiveSupport::BroadcastLogger routes `tagged` through
|
|
66
|
+
# `method_missing` (it's not in LOGGER_METHODS), which calls
|
|
67
|
+
# `logger.send(:tagged, *tags, &block)` on EVERY sink that responds to
|
|
68
|
+
# `:tagged` — without the block-cache guard that `dispatch` uses for
|
|
69
|
+
# info/debug/warn/etc. So if LogForwarder implements `tagged(*tags) { yield self }`,
|
|
70
|
+
# the block passed to the BroadcastLogger's tagged call runs ONCE PER
|
|
71
|
+
# SINK. For ActiveJob — which wraps both `around_enqueue` and
|
|
72
|
+
# `around_perform` in `logger.tagged(...) { ... }` — that means:
|
|
73
|
+
# * enqueue flow runs twice → adapter.enqueue fires twice
|
|
74
|
+
# * each dispatched perform runs twice
|
|
75
|
+
# * net effect: 4 performs (and 4 add_assistant_message rows) per
|
|
76
|
+
# single perform_later call on a BroadcastLogger with 2 sinks.
|
|
77
|
+
#
|
|
78
|
+
# By simply NOT responding to `:tagged`, BroadcastLogger's
|
|
79
|
+
# method_missing does `@broadcasts.select { |l| l.respond_to?(name) }`
|
|
80
|
+
# and filters us out — only the real TaggedLogging sink receives the
|
|
81
|
+
# call, its block yields exactly once, and dispatch is single.
|
|
82
|
+
# `push_tags` / `pop_tags` / `clear_tags!` DO stay defined as no-ops
|
|
83
|
+
# because they never take blocks, so calling them on every sink is
|
|
84
|
+
# harmless.
|
|
66
85
|
|
|
67
86
|
def flush; end
|
|
68
87
|
|
data/lib/opentrace/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: opentrace
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.17.
|
|
4
|
+
version: 0.17.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenTrace
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-04-19 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: logger
|
|
@@ -86,6 +87,7 @@ homepage: https://github.com/adham90/opentrace-ruby
|
|
|
86
87
|
licenses:
|
|
87
88
|
- MIT
|
|
88
89
|
metadata: {}
|
|
90
|
+
post_install_message:
|
|
89
91
|
rdoc_options: []
|
|
90
92
|
require_paths:
|
|
91
93
|
- lib
|
|
@@ -100,7 +102,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
100
102
|
- !ruby/object:Gem::Version
|
|
101
103
|
version: '0'
|
|
102
104
|
requirements: []
|
|
103
|
-
rubygems_version:
|
|
105
|
+
rubygems_version: 3.5.11
|
|
106
|
+
signing_key:
|
|
104
107
|
specification_version: 4
|
|
105
108
|
summary: Thin, safe Ruby client for OpenTrace log ingestion
|
|
106
109
|
test_files: []
|