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 +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/exis_ray/http_middleware.rb +1 -3
- data/lib/exis_ray/json_formatter.rb +2 -0
- data/lib/exis_ray/sidekiq/server_middleware.rb +1 -1
- data/lib/exis_ray/task_monitor.rb +1 -1
- data/lib/exis_ray/tracer.rb +5 -5
- data/lib/exis_ray/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: abb2008b31a7c76eea82b5f2375f973be40e038e3cc5276233aff2691ca315d3
|
|
4
|
+
data.tar.gz: e5821f58363bc7c6c312bfe391e4f93ff7a50097eff8b62430dc60544eeaa4ed
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
data/lib/exis_ray/tracer.rb
CHANGED
|
@@ -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, :
|
|
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
|
|
16
|
-
#
|
|
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]
|
|
18
|
+
# @return [String]
|
|
19
19
|
def self.service_name
|
|
20
|
-
|
|
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.
|
data/lib/exis_ray/version.rb
CHANGED