exis_ray 0.3.0 → 0.3.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37c492f253a0a6899c05e68bb34b2d3f2f2bb90a4ee94a205e602fd821aa7a65
4
- data.tar.gz: dac186ccd577e7171655656029db9ab1d3dfe52bc6b5b005f61821f50a99259d
3
+ metadata.gz: abb2008b31a7c76eea82b5f2375f973be40e038e3cc5276233aff2691ca315d3
4
+ data.tar.gz: e5821f58363bc7c6c312bfe391e4f93ff7a50097eff8b62430dc60544eeaa4ed
5
5
  SHA512:
6
- metadata.gz: 54fcb9e9ffe4172373089e229942d960bf60d9a64b36c34ed5080acac7458fb6013f8d647eac6de4f2c702eca45491e905cf8728bd6982483ecb419a62745df7
7
- data.tar.gz: d2921731f064a4d1216a402de59bc915cfec98eeea8671d17a4ce39340b1f1180d2795d75e165827072cc16b2d363f9437826626a2f14e4b79316bd7ea202c12
6
+ metadata.gz: f4629e46a37d5796585131503d80a60fbcfe227ef0d6f4b1b9cafc0e34c139d7cd3dcce526c68812c579759ac042f0cb32bde13c7ae382f7539fd6e50c78dc42
7
+ data.tar.gz: e6d71b9c66df65e7a8e77fb6da4353e3e363fb2a6b1aaac47e265b9a22b818516b0c12163e1939433d603f8ea91ec941a8b7669e120b29cae91182b5357f62f1
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.3.1] - 2026-03-23
2
+
3
+ ### Changed
4
+ - **Standardized Service Name:** The `service` field in logs now always returns the Rails application name in `snake_case` (e.g., `cold_storage_service`).
5
+ - Removed dynamic service name overrides in `HttpMiddleware`, `Sidekiq::ServerMiddleware`, and `TaskMonitor`.
6
+ - **Enhanced Job/Task Visibility:** Added `sidekiq_job` and `task` fields to the JSON logs, providing specific context without overloading the `service` field.
7
+
1
8
  ## [0.3.0] - 2026-03-23
2
9
 
3
10
  ### Added
@@ -4,13 +4,11 @@ module ExisRay
4
4
  class HttpMiddleware
5
5
  def initialize(app)
6
6
  @app = app
7
- @base_service_name = defined?(Rails) ? Rails.application.class.module_parent_name : 'App'
8
7
  end
9
8
 
10
9
  def call(env)
11
10
  # 1. Hidratar Infraestructura
12
- ExisRay::Tracer.created_at = Time.now.utc.to_f
13
- ExisRay::Tracer.service_name = "#{@base_service_name}-HTTP"
11
+ ExisRay::Tracer.created_at = Time.now.utc.to_f
14
12
 
15
13
  trace_header_key = ExisRay.configuration.trace_header
16
14
 
@@ -53,6 +53,8 @@ module ExisRay
53
53
 
54
54
  payload[:root_id] = ExisRay::Tracer.root_id
55
55
  payload[:trace_id] = ExisRay::Tracer.trace_id if ExisRay::Tracer.trace_id
56
+ payload[:sidekiq_job] = ExisRay::Tracer.sidekiq_job if ExisRay::Tracer.sidekiq_job
57
+ payload[:task] = ExisRay::Tracer.task if ExisRay::Tracer.task
56
58
  end
57
59
 
58
60
  # Inyecta el contexto de negocio (ID de usuario, ISP, ID de correlación) en el payload.
@@ -45,7 +45,7 @@ module ExisRay
45
45
  # @return [void]
46
46
  def hydrate_tracer(worker, job)
47
47
  ExisRay::Tracer.created_at = Time.now.utc.to_f
48
- ExisRay::Tracer.service_name = "Sidekiq-#{worker.class.name}"
48
+ ExisRay::Tracer.sidekiq_job = worker.class.name
49
49
 
50
50
  if job["exis_ray_trace"]
51
51
  # Continuidad: Usamos la traza propagada desde el cliente (Web/Cron)
@@ -52,7 +52,7 @@ module ExisRay
52
52
  # @param task_name [String, Symbol] El nombre de la tarea en ejecución.
53
53
  # @return [void]
54
54
  def self.setup_tracer(task_name)
55
- ExisRay::Tracer.service_name = task_name.to_s.tr(":", "-").camelize
55
+ ExisRay::Tracer.task = task_name.to_s
56
56
  ExisRay::Tracer.request_id = SecureRandom.uuid
57
57
  ExisRay::Tracer.created_at = Time.now.utc.to_f
58
58
 
@@ -10,14 +10,14 @@ module ExisRay
10
10
  #
11
11
  # @see https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html Documentación de AWS X-Ray
12
12
  class Tracer < ActiveSupport::CurrentAttributes
13
- attribute :trace_id, :request_id, :root_id, :self_id, :called_from, :total_time_so_far, :created_at, :service_name
13
+ attribute :trace_id, :request_id, :root_id, :self_id, :called_from, :total_time_so_far, :created_at, :sidekiq_job, :task
14
14
 
15
- # Devuelve el nombre del servicio actual.
16
- # Si no se ha definido manualmente, hace fallback al nombre de la aplicación Rails.
15
+ # Devuelve el nombre de la aplicación en snake_case (ej: "cold_storage_service").
16
+ # Se utiliza como identificador global del servicio en logs y trazabilidad.
17
17
  #
18
- # @return [String] El nombre del servicio (ej: "Wispro", "Wispro-Worker", "App").
18
+ # @return [String]
19
19
  def self.service_name
20
- super || (defined?(Rails) ? Rails.application.class.module_parent_name : 'App')
20
+ @service_name ||= (defined?(Rails) ? Rails.application.class.module_parent_name.underscore : "app")
21
21
  end
22
22
 
23
23
  # Genera un ID de correlación compuesto, útil para logs y auditoría.
@@ -2,5 +2,5 @@
2
2
 
3
3
  module ExisRay
4
4
  # Versión actual de la gema.
5
- VERSION = "0.3.0"
5
+ VERSION = "0.3.1"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exis_ray
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Edera