Module: ExisRay
- Defined in:
- lib/exis_ray.rb,
lib/exis_ray/tracer.rb,
lib/exis_ray/current.rb,
lib/exis_ray/railtie.rb,
lib/exis_ray/version.rb,
lib/exis_ray/reporter.rb,
lib/exis_ray/task_monitor.rb,
lib/exis_ray/configuration.rb,
lib/exis_ray/json_formatter.rb,
lib/exis_ray/log_subscriber.rb,
lib/exis_ray/http_middleware.rb,
lib/exis_ray/faraday_middleware.rb,
lib/exis_ray/sidekiq/client_middleware.rb,
lib/exis_ray/sidekiq/server_middleware.rb,
lib/exis_ray/bug_bunny/publisher_tracing.rb,
lib/exis_ray/active_resource_instrumentation.rb,
lib/exis_ray/bug_bunny/consumer_tracing_middleware.rb
Overview
Namespace principal de la gema ExisRay. Contiene la configuración global y los helpers de resolución de clases dinámicas.
Defined Under Namespace
Modules: ActiveResourceInstrumentation, BugBunny, Sidekiq, TaskMonitor Classes: Configuration, Current, Error, FaradayMiddleware, HttpMiddleware, JsonFormatter, LogSubscriber, Railtie, Reporter, Tracer
Constant Summary collapse
- VERSION =
Versión actual de la gema.
"0.7.2"
Class Attribute Summary collapse
-
.configuration ⇒ ExisRay::Configuration
Accesor para la configuración global de la gema.
Class Method Summary collapse
-
.configure {|config| ... } ⇒ Object
Bloque de configuración para inicializar la gema.
-
.current_class ⇒ Class?
Resuelve y retorna la clase configurada para manejar el contexto de negocio (Current).
-
.reporter_class ⇒ Class?
Resuelve y retorna la clase configurada para el reporte de errores (Reporter).
-
.sync_correlation_id ⇒ void
Sincroniza el correlation_id del Tracer en la clase Current configurada.
Class Attribute Details
.configuration ⇒ ExisRay::Configuration
Accesor para la configuración global de la gema. Inicializa una nueva instancia de Configuration si no existe.
46 47 48 |
# File 'lib/exis_ray.rb', line 46 def configuration @configuration ||= Configuration.new end |
Class Method Details
.configure {|config| ... } ⇒ Object
Bloque de configuración para inicializar la gema.
60 61 62 |
# File 'lib/exis_ray.rb', line 60 def configure yield(configuration) end |
.current_class ⇒ Class?
Resuelve y retorna la clase configurada para manejar el contexto de negocio (Current). En producción (cache_classes=true) memoiza el resultado para evitar safe_constantize en cada request. En desarrollo siempre resuelve para soportar el reloading de Zeitwerk.
71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/exis_ray.rb', line 71 def current_class return nil unless configuration klass_name = configuration.current_class return nil unless klass_name.present? if cache_classes? @current_class_cache ||= resolve_class(klass_name) else resolve_class(klass_name) end end |
.reporter_class ⇒ Class?
Resuelve y retorna la clase configurada para el reporte de errores (Reporter). En producción memoiza el resultado. En desarrollo siempre resuelve.
88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/exis_ray.rb', line 88 def reporter_class return nil unless configuration klass_name = configuration.reporter_class return nil unless klass_name.present? if cache_classes? @reporter_class_cache ||= resolve_class(klass_name) else resolve_class(klass_name) end end |
.sync_correlation_id ⇒ void
This method returns an undefined value.
Sincroniza el correlation_id del Tracer en la clase Current configurada. Debe llamarse después de hidratar el Tracer (post ‘hydrate` o `parse_trace_id`).
105 106 107 108 109 110 |
# File 'lib/exis_ray.rb', line 105 def sync_correlation_id curr = current_class return unless curr.respond_to?(:correlation_id=) && Tracer.root_id.present? curr.correlation_id = Tracer.correlation_id end |