jekyll-l10n 1.6.0 → 1.6.2
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/jekyll-l10n/instrumentation.rb +22 -4
- 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: a4179df36327cd3a6fe0358b76a0cb5c28ad1dd5ee125f21cd9f4f76828595da
|
|
4
|
+
data.tar.gz: fe68489182fa03670d02e537366dfb25f4c85d12f233cf1f785d5cf2a8b36dac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6b515e127e15f959b74cc35cd12dbdd1960c0e3054fb7c31ac3a5046cffdabbf9db9c1ffe8bd50f17d8006e1c5ed797d53061d4dd368b60d5705cf8fb7aa9499
|
|
7
|
+
data.tar.gz: 002d73f80ff7bb1ca6f2133f3d39cbc3f6ed82d2a7997b300261f1514c99aea05d30a18f9cdfa1ebe748a57f2d932cafbf2e9a79f466dbb92d18007b801e11c4
|
|
@@ -231,20 +231,38 @@ module Jekyll
|
|
|
231
231
|
# 5-second schedule; outer spans that close last (post_write, generate) are
|
|
232
232
|
# silently dropped when the process exits before the next flush. Simple exports
|
|
233
233
|
# each span synchronously the moment it closes, guaranteeing no span loss.
|
|
234
|
+
#
|
|
235
|
+
# jekyll-theme-centos loads several instrumented plugins in one process,
|
|
236
|
+
# and OpenTelemetry::SDK.configure unconditionally overwrites the global
|
|
237
|
+
# tracer_provider on every call — so only the first plugin to reach this
|
|
238
|
+
# method (see sdk_already_configured?) actually configures the SDK; every
|
|
239
|
+
# later plugin's call becomes a no-op and reuses that provider. The
|
|
240
|
+
# at_exit and post_write hooks below are therefore registered once, by
|
|
241
|
+
# whichever plugin wins, and cover every plugin's spans, not just this one's.
|
|
234
242
|
def self.setup_sdk!
|
|
243
|
+
return if sdk_already_configured?
|
|
244
|
+
|
|
235
245
|
# :nocov:
|
|
236
246
|
require 'opentelemetry/sdk'
|
|
237
247
|
require 'opentelemetry/exporter/otlp'
|
|
238
248
|
exporter = OpenTelemetry::Exporter::OTLP::Exporter.new
|
|
239
249
|
processor = OpenTelemetry::SDK::Trace::Export::SimpleSpanProcessor.new(exporter)
|
|
240
|
-
OpenTelemetry::SDK.configure
|
|
241
|
-
|
|
242
|
-
|
|
250
|
+
OpenTelemetry::SDK.configure { |c| c.add_span_processor(processor) }
|
|
251
|
+
|
|
252
|
+
at_exit { OpenTelemetry.tracer_provider&.shutdown }
|
|
253
|
+
Jekyll::Hooks.register(:site, :post_write, priority: 0) { OpenTelemetry.tracer_provider&.force_flush }
|
|
243
254
|
rescue LoadError
|
|
244
255
|
nil
|
|
245
256
|
# :nocov:
|
|
246
257
|
end
|
|
247
258
|
|
|
259
|
+
# True when some plugin (this one or another) already installed a real
|
|
260
|
+
# SDK-backed tracer_provider, in which case setup_sdk! must not run again.
|
|
261
|
+
def self.sdk_already_configured?
|
|
262
|
+
defined?(OpenTelemetry::SDK::Trace::TracerProvider) &&
|
|
263
|
+
OpenTelemetry.tracer_provider.is_a?(OpenTelemetry::SDK::Trace::TracerProvider)
|
|
264
|
+
end
|
|
265
|
+
|
|
248
266
|
# Resolves a dot-separated class name to a constant; returns nil on NameError.
|
|
249
267
|
def self.resolve_class(name)
|
|
250
268
|
name.split('::').reduce(Object) { |m, c| m.const_get(c) }
|
|
@@ -280,7 +298,7 @@ module Jekyll
|
|
|
280
298
|
end
|
|
281
299
|
end
|
|
282
300
|
|
|
283
|
-
private_class_method :build_wrapper_module, :prepend_wrappers, :setup_sdk
|
|
301
|
+
private_class_method :build_wrapper_module, :prepend_wrappers, :setup_sdk!, :sdk_already_configured?
|
|
284
302
|
|
|
285
303
|
# No-op tracer used when opentelemetry-api is not loaded.
|
|
286
304
|
class NoopTracer
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jekyll-l10n
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.6.
|
|
4
|
+
version: 1.6.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alain Reguera Delgado
|
|
@@ -304,7 +304,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
304
304
|
- !ruby/object:Gem::Version
|
|
305
305
|
version: '0'
|
|
306
306
|
requirements: []
|
|
307
|
-
rubygems_version:
|
|
307
|
+
rubygems_version: 3.6.9
|
|
308
308
|
specification_version: 4
|
|
309
309
|
summary: Jekyll plugin for jekyll site localization.
|
|
310
310
|
test_files: []
|