Module: Traceable
- Extended by:
- ActiveSupport::Concern
- Included in:
- ApplicationController, SignIn::ApplicationController, SignIn::ServiceAccountApplicationController
- Defined in:
- app/controllers/concerns/traceable.rb
Overview
Provides functionality to controllers for tagging them with specific services. This tagging allows monitoring and tracing systems (like Datadog) to identify and group the activities of specific controllers based on the service tags they are associated with.
Instance Method Summary collapse
-
#set_trace_tags ⇒ Object
Sets trace tags for the current action.
Instance Method Details
#set_trace_tags ⇒ Object
Note:
After all current controllers implement service tagging, this could raise an error instead.
Sets trace tags for the current action. If no service tag is set, do nothing.
34 35 36 37 38 39 40 41 42 43 |
# File 'app/controllers/concerns/traceable.rb', line 34 def service = self.class.trace_service_tag # Not warning for now, re-introduce once we are at 100% of controllers tagged # return Rails.logger.warn('Service tag missing', class: self.class.name) if service.blank? Datadog::Tracing.active_span&.service = service if service.present? rescue => e Rails.logger.error('Error setting service tag', class: self.class.name, message: e.) end |