highlight_io 0.3.0 → 0.4.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/.rubocop.yml +3 -0
- data/CHANGELOG.md +6 -0
- data/Gemfile.lock +8 -7
- data/highlight.gemspec +1 -1
- data/lib/highlight/version.rb +1 -1
- data/lib/highlight.rb +54 -2
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 92d68b8ab3821bca22f10aac336705ea4bb272f9a62572334715dbab501c5940
|
|
4
|
+
data.tar.gz: 9175f4a419f534ff297eb9ad907385a0dcf1b4e2366b738ceb438d947cef4876
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2c5032942516a6269fab88a89104cceba40b3279603a362142f12cd4340d080b5d484d3314f12076eb2e10c1e7fd8b9d24f7a6a21936665c827c0957139d5a2a
|
|
7
|
+
data.tar.gz: b89a5c22d6a8a9709c13831e535c38b68d3b10fdc48ca0577809978a57b65eccc374964632e7d0c3e8cf4feafe4f4c9676a6811b6d9ffdf2bedd5e2883023298
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
highlight_io (0.
|
|
5
|
-
grpc (~> 1.
|
|
4
|
+
highlight_io (0.4.0)
|
|
5
|
+
grpc (~> 1.65)
|
|
6
6
|
opentelemetry-exporter-otlp (~> 0.28.1)
|
|
7
7
|
opentelemetry-instrumentation-all (~> 0.62.1)
|
|
8
8
|
opentelemetry-sdk (~> 1.5.0)
|
|
@@ -48,17 +48,17 @@ GEM
|
|
|
48
48
|
opentelemetry-api (~> 1.0)
|
|
49
49
|
opentelemetry-instrumentation-base (~> 0.22.1)
|
|
50
50
|
opentelemetry-instrumentation-rack (~> 0.21)
|
|
51
|
-
opentelemetry-instrumentation-action_view (0.7.
|
|
51
|
+
opentelemetry-instrumentation-action_view (0.7.2)
|
|
52
52
|
opentelemetry-api (~> 1.0)
|
|
53
53
|
opentelemetry-instrumentation-active_support (~> 0.1)
|
|
54
54
|
opentelemetry-instrumentation-base (~> 0.22.1)
|
|
55
|
-
opentelemetry-instrumentation-active_job (0.7.
|
|
55
|
+
opentelemetry-instrumentation-active_job (0.7.7)
|
|
56
56
|
opentelemetry-api (~> 1.0)
|
|
57
57
|
opentelemetry-instrumentation-base (~> 0.22.1)
|
|
58
58
|
opentelemetry-instrumentation-active_model_serializers (0.20.2)
|
|
59
59
|
opentelemetry-api (~> 1.0)
|
|
60
60
|
opentelemetry-instrumentation-base (~> 0.22.1)
|
|
61
|
-
opentelemetry-instrumentation-active_record (0.7.
|
|
61
|
+
opentelemetry-instrumentation-active_record (0.7.4)
|
|
62
62
|
opentelemetry-api (~> 1.0)
|
|
63
63
|
opentelemetry-instrumentation-base (~> 0.22.1)
|
|
64
64
|
opentelemetry-instrumentation-active_support (0.6.0)
|
|
@@ -105,7 +105,7 @@ GEM
|
|
|
105
105
|
opentelemetry-instrumentation-aws_sdk (0.5.4)
|
|
106
106
|
opentelemetry-api (~> 1.0)
|
|
107
107
|
opentelemetry-instrumentation-base (~> 0.22.1)
|
|
108
|
-
opentelemetry-instrumentation-base (0.22.
|
|
108
|
+
opentelemetry-instrumentation-base (0.22.6)
|
|
109
109
|
opentelemetry-api (~> 1.0)
|
|
110
110
|
opentelemetry-common (~> 0.21)
|
|
111
111
|
opentelemetry-registry (~> 0.1)
|
|
@@ -176,7 +176,7 @@ GEM
|
|
|
176
176
|
opentelemetry-instrumentation-rack (0.24.6)
|
|
177
177
|
opentelemetry-api (~> 1.0)
|
|
178
178
|
opentelemetry-instrumentation-base (~> 0.22.1)
|
|
179
|
-
opentelemetry-instrumentation-rails (0.31.
|
|
179
|
+
opentelemetry-instrumentation-rails (0.31.2)
|
|
180
180
|
opentelemetry-api (~> 1.0)
|
|
181
181
|
opentelemetry-instrumentation-action_mailer (~> 0.1.0)
|
|
182
182
|
opentelemetry-instrumentation-action_pack (~> 0.9.0)
|
|
@@ -254,6 +254,7 @@ GEM
|
|
|
254
254
|
|
|
255
255
|
PLATFORMS
|
|
256
256
|
arm64-darwin-22
|
|
257
|
+
arm64-darwin-23
|
|
257
258
|
x86_64-linux
|
|
258
259
|
|
|
259
260
|
DEPENDENCIES
|
data/highlight.gemspec
CHANGED
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
23
23
|
spec.require_paths = ['lib']
|
|
24
24
|
|
|
25
|
-
spec.add_runtime_dependency 'grpc', '~> 1.
|
|
25
|
+
spec.add_runtime_dependency 'grpc', '~> 1.65'
|
|
26
26
|
spec.add_runtime_dependency 'opentelemetry-exporter-otlp', '~> 0.28.1'
|
|
27
27
|
spec.add_runtime_dependency 'opentelemetry-instrumentation-all', '~> 0.62.1'
|
|
28
28
|
spec.add_runtime_dependency 'opentelemetry-sdk', '~> 1.5.0'
|
data/lib/highlight/version.rb
CHANGED
data/lib/highlight.rb
CHANGED
|
@@ -18,6 +18,10 @@ module Highlight
|
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
+
def self.init(project_id, environment: '', otlp_endpoint: OTLP_HTTP, &block)
|
|
22
|
+
H.new(project_id, environment: environment, otlp_endpoint: otlp_endpoint, &block)
|
|
23
|
+
end
|
|
24
|
+
|
|
21
25
|
def self.start_span(name, attrs = {}, &block)
|
|
22
26
|
if block_given?
|
|
23
27
|
H.instance.start_span(name, attrs, &block)
|
|
@@ -26,6 +30,18 @@ module Highlight
|
|
|
26
30
|
end
|
|
27
31
|
end
|
|
28
32
|
|
|
33
|
+
def self.log(level, message, attrs = {})
|
|
34
|
+
H.instance.record_log(nil, nil, level, message, attrs)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def self.exception(error, attrs = {})
|
|
38
|
+
H.instance.record_exception(error, attrs)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def self.traceparent_meta
|
|
42
|
+
Helpers.traceparent_meta
|
|
43
|
+
end
|
|
44
|
+
|
|
29
45
|
class H
|
|
30
46
|
HIGHLIGHT_REQUEST_HEADER = 'X-Highlight-Request'.freeze
|
|
31
47
|
OTLP_HTTP = 'https://otel.highlight.io:4318'.freeze
|
|
@@ -130,6 +146,7 @@ module Highlight
|
|
|
130
146
|
function.delete_prefix!('in `')
|
|
131
147
|
function.delete_suffix!('"')
|
|
132
148
|
end
|
|
149
|
+
|
|
133
150
|
@tracer.in_span('highlight.log', attributes: {
|
|
134
151
|
HIGHLIGHT_SESSION_ATTRIBUTE => session_id,
|
|
135
152
|
HIGHLIGHT_TRACE_ATTRIBUTE => request_id
|
|
@@ -182,6 +199,8 @@ module Highlight
|
|
|
182
199
|
end
|
|
183
200
|
|
|
184
201
|
class Logger < ::Logger
|
|
202
|
+
include ActiveSupport::LoggerSilence if defined?(::ActiveSupport::LoggerSilence)
|
|
203
|
+
|
|
185
204
|
def initialize(*args)
|
|
186
205
|
super
|
|
187
206
|
@local_level = nil
|
|
@@ -210,12 +229,18 @@ module Highlight
|
|
|
210
229
|
def self.included(base)
|
|
211
230
|
base.extend(ClassMethods)
|
|
212
231
|
base.helper_method(:highlight_headers)
|
|
232
|
+
base.around_action(:with_highlight_context)
|
|
213
233
|
end
|
|
214
234
|
|
|
215
235
|
def with_highlight_context(&block)
|
|
216
236
|
set_highlight_headers
|
|
217
|
-
|
|
218
|
-
|
|
237
|
+
|
|
238
|
+
H.instance.trace(
|
|
239
|
+
highlight_headers.session_id,
|
|
240
|
+
highlight_headers.request_id,
|
|
241
|
+
name: "#{request.method.upcase} #{request.path}",
|
|
242
|
+
&block
|
|
243
|
+
)
|
|
219
244
|
end
|
|
220
245
|
|
|
221
246
|
private
|
|
@@ -255,4 +280,31 @@ module Highlight
|
|
|
255
280
|
end
|
|
256
281
|
end
|
|
257
282
|
end
|
|
283
|
+
|
|
284
|
+
module Helpers
|
|
285
|
+
if defined?(ActionView)
|
|
286
|
+
include ActionView::Helpers
|
|
287
|
+
extend ActionView::Helpers::TagHelper
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
def self.traceparent_meta
|
|
291
|
+
current_trace = OpenTelemetry::Trace.current_span
|
|
292
|
+
trace_id = current_trace&.context&.trace_id
|
|
293
|
+
span_id = current_trace&.context&.span_id
|
|
294
|
+
hex_trace_id = trace_id&.unpack1('H*') || '00000000000000000000000000000000'
|
|
295
|
+
hex_span_id = span_id&.unpack1('H*') || '0000000000000000'
|
|
296
|
+
|
|
297
|
+
tag(:meta, name: 'traceparent', content: "00-#{hex_trace_id}-#{hex_span_id}-01")
|
|
298
|
+
end
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
if defined?(::Rails::Railtie)
|
|
302
|
+
class Railtie < ::Rails::Railtie
|
|
303
|
+
config.after_initialize do
|
|
304
|
+
ActiveSupport.on_load(:action_controller) do
|
|
305
|
+
include ::Highlight::Integrations::Rails
|
|
306
|
+
end
|
|
307
|
+
end
|
|
308
|
+
end
|
|
309
|
+
end
|
|
258
310
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: highlight_io
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Highlight
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-08-
|
|
11
|
+
date: 2024-08-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: grpc
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.
|
|
19
|
+
version: '1.65'
|
|
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: '1.
|
|
26
|
+
version: '1.65'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: opentelemetry-exporter-otlp
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|