trifle-traces 1.1.1 → 1.2.0
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/Gemfile.lock +1 -1
- data/lib/trifle/traces/tracer/hash.rb +30 -13
- data/lib/trifle/traces/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae4774408bf8527ca2a92df5ebbab34011342c49f202031cdbee81181c910c96
|
4
|
+
data.tar.gz: fa030e8f5a4b11d6f170f7b9f87970c5bf2225209176d47fe517662c1836f016
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e8b13f015bbdda8b241170d789b2960e8d2917cb986dbb5e93518d6e660e58bee794cc8fce4b5c55cf1a63e1d7dbe01510d28eeeb386ccc7a182c2557880c52
|
7
|
+
data.tar.gz: cd9cb57d6351ad180c79da24a5922aee0de3a054099760c1d173533ac7cab6b0260def05cb396cbfe02176dbb463fe206ed2ce2a605ab42eb199f5da204c7587
|
data/Gemfile.lock
CHANGED
@@ -4,13 +4,12 @@ module Trifle
|
|
4
4
|
module Traces
|
5
5
|
module Tracer
|
6
6
|
class Hash # rubocop:disable Metrics/ClassLength
|
7
|
-
attr_accessor :key, :meta, :data, :tags, :artifacts, :state, :ignore, :reference
|
7
|
+
attr_accessor :key, :meta, :data, :tags, :artifacts, :state, :ignore, :reference, :level
|
8
8
|
|
9
9
|
def initialize(key:, reference: nil, meta: nil, config: nil)
|
10
10
|
@key = key
|
11
11
|
@meta = meta
|
12
12
|
@config = config
|
13
|
-
@result_serializer = config.serializer_class.new
|
14
13
|
set_defaults!
|
15
14
|
|
16
15
|
trace("Tracer has been initialized for #{key}")
|
@@ -23,7 +22,10 @@ module Trifle
|
|
23
22
|
@artifacts = []
|
24
23
|
@state = :running
|
25
24
|
@ignore = false
|
26
|
-
@result_prefix =
|
25
|
+
@result_prefix = "\u21B3 "
|
26
|
+
@block_begin_suffix = " \u21B4"
|
27
|
+
@block_end_suffix = " \u21B5"
|
28
|
+
@level = 0
|
27
29
|
end
|
28
30
|
|
29
31
|
def pop_all_data
|
@@ -38,43 +40,58 @@ module Trifle
|
|
38
40
|
@config || Trifle::Traces.default
|
39
41
|
end
|
40
42
|
|
43
|
+
def result_serializer
|
44
|
+
@result_serializer ||= config.serializer_class.new
|
45
|
+
end
|
46
|
+
|
41
47
|
def keys
|
42
48
|
parts = key.split('/')
|
43
49
|
parts.count.times.map { |i| parts[0..i].join('/') }
|
44
50
|
end
|
45
51
|
|
46
52
|
def trace(message, state: :success, head: false) # rubocop:disable Metrics/MethodLength
|
47
|
-
|
53
|
+
dump_message("#{message}#{@block_begin_suffix if block_given?}", type: head ? :head : :text, state: state)
|
54
|
+
if block_given?
|
55
|
+
increase
|
56
|
+
result = yield
|
57
|
+
end
|
48
58
|
rescue StandardError => e
|
49
59
|
raise e
|
50
60
|
ensure
|
51
|
-
|
52
|
-
|
53
|
-
type:
|
54
|
-
|
55
|
-
|
56
|
-
dump_result(result) if block_given?
|
61
|
+
if block_given?
|
62
|
+
decrease
|
63
|
+
dump_message("#{message}#{@block_end_suffix}", type: :text, state: e ? :error : state)
|
64
|
+
dump_result(result)
|
65
|
+
end
|
57
66
|
bump
|
58
67
|
result
|
59
68
|
end
|
60
69
|
|
61
70
|
def dump_message(message, type:, state:)
|
62
|
-
@data << { at: now, message: message, state: state, type: type }
|
71
|
+
@data << { at: now, message: message, state: state, type: type, level: level }
|
63
72
|
end
|
64
73
|
|
65
74
|
def dump_result(result)
|
66
75
|
@data << {
|
67
76
|
at: now, message: "#{@result_prefix}#{sanitize_result(result)}",
|
68
|
-
state: :success, type: :raw
|
77
|
+
state: :success, type: :raw, level: level
|
69
78
|
}
|
70
79
|
end
|
71
80
|
|
72
81
|
def sanitize_result(result)
|
73
|
-
|
82
|
+
result_serializer.sanitize(result)
|
74
83
|
rescue StandardError
|
75
84
|
Trifle::Traces::Serializer::Inspect.sanitize(result)
|
76
85
|
end
|
77
86
|
|
87
|
+
def increase
|
88
|
+
@level += 1
|
89
|
+
end
|
90
|
+
|
91
|
+
def decrease
|
92
|
+
@level -= 1
|
93
|
+
end
|
94
|
+
|
78
95
|
def now
|
79
96
|
Time.now.to_i
|
80
97
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trifle-traces
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jozef Vaclavik
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|