Currently the active_job instrumentation is using the messaging domain however the functionality of active_job doesn't fit that of a messaging system. For instance I in the past attempted to have signalr, mqtt Brooker & nats defined but was told they are not messaging systems.
As such on further looking at it, the purpose of active job is a task/Workflow framework for which we have no conventions. I attempted to define on but did not progress due to lacking of a sig.
As such I would propose the following changes to this instrumentation which is in alignment with #2361
| old attribute |
new attribute |
comments |
code.namespace |
rails.active_job.task.name |
sourced from job.class.name |
messaging.system |
rails.component.name |
'active_job' |
messaging.destination |
rails.active_job.queue.name |
sourced from job.queue_name |
messaging.message.id |
rails.active_job.job.id |
sourced from job.job_id |
messaging.active_job.adapter.name |
rails.active_job.adapter.name |
sourced from job.class.queue_adapter_name |
messaging.active_job.message.provider_job_id |
rails.active_job.job.external_id |
sourced from job.provider_job_id |
messaging.active_job.message.priority |
rails.active_job.job.priority |
sourced from job.priority |
The span kinds should be also switched to internal or maybe client?
Currently the active_job instrumentation is using the messaging domain however the functionality of active_job doesn't fit that of a messaging system. For instance I in the past attempted to have signalr, mqtt Brooker & nats defined but was told they are not messaging systems.
As such on further looking at it, the purpose of active job is a task/Workflow framework for which we have no conventions. I attempted to define on but did not progress due to lacking of a sig.
As such I would propose the following changes to this instrumentation which is in alignment with #2361
code.namespacerails.active_job.task.namejob.class.namemessaging.systemrails.component.namemessaging.destinationrails.active_job.queue.namejob.queue_namemessaging.message.idrails.active_job.job.idjob.job_idmessaging.active_job.adapter.namerails.active_job.adapter.namejob.class.queue_adapter_namemessaging.active_job.message.provider_job_idrails.active_job.job.external_idjob.provider_job_idmessaging.active_job.message.priorityrails.active_job.job.priorityjob.priorityThe span kinds should be also switched to internal or maybe client?