Class: OpenTracing::Instrumentation::Sidekiq::ServerMiddleware
- Inherits:
-
Object
- Object
- OpenTracing::Instrumentation::Sidekiq::ServerMiddleware
- Extended by:
- Forwardable
- Defined in:
- lib/opentracing/instrumentation/sidekiq/server_middleware.rb
Overview
Sidekiq server middleware
Constant Summary collapse
- DEFAULT_SPAN_KIND =
'consumer'
- DEFAULT_OPERATION_NAME_TEMPLATE =
'sidekiq_perform(%<sidekiq.class>s)'
- DEFAULT_OPERATION_NAME_BUILDER =
Common::OperationNameBuilder.new( operation_name_template: DEFAULT_OPERATION_NAME_TEMPLATE, )
Instance Attribute Summary collapse
-
#error_writter ⇒ Object
readonly
Returns the value of attribute error_writter.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#operation_name_builder ⇒ Object
readonly
Returns the value of attribute operation_name_builder.
-
#span_kind ⇒ Object
readonly
Returns the value of attribute span_kind.
-
#tagger ⇒ Object
readonly
Returns the value of attribute tagger.
-
#tracer ⇒ Object
readonly
Returns the value of attribute tracer.
Instance Method Summary collapse
-
#call(_worker, job, _queue, &block) ⇒ Object
rubocop:enable Metrics/ParameterLists.
-
#initialize(tracer: OpenTracing.global_tracer, tagger: JobTagger.new, error_writter: Common::ErrorWriter.new, logger: nil, span_kind: DEFAULT_SPAN_KIND, operation_name_builder: DEFAULT_OPERATION_NAME_BUILDER) ⇒ ServerMiddleware
constructor
rubocop:disable Metrics/ParameterLists.
Constructor Details
#initialize(tracer: OpenTracing.global_tracer, tagger: JobTagger.new, error_writter: Common::ErrorWriter.new, logger: nil, span_kind: DEFAULT_SPAN_KIND, operation_name_builder: DEFAULT_OPERATION_NAME_BUILDER) ⇒ ServerMiddleware
rubocop:disable Metrics/ParameterLists
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/opentracing/instrumentation/sidekiq/server_middleware.rb', line 29 def initialize( tracer: OpenTracing.global_tracer, tagger: JobTagger.new, error_writter: Common::ErrorWriter.new, logger: nil, span_kind: DEFAULT_SPAN_KIND, operation_name_builder: DEFAULT_OPERATION_NAME_BUILDER ) @tracer = tracer @tagger = tagger @error_writter = error_writter @logger = logger @span_kind = span_kind @operation_name_builder = operation_name_builder end |
Instance Attribute Details
#error_writter ⇒ Object (readonly)
Returns the value of attribute error_writter.
21 22 23 |
# File 'lib/opentracing/instrumentation/sidekiq/server_middleware.rb', line 21 def error_writter @error_writter end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
21 22 23 |
# File 'lib/opentracing/instrumentation/sidekiq/server_middleware.rb', line 21 def logger @logger end |
#operation_name_builder ⇒ Object (readonly)
Returns the value of attribute operation_name_builder.
21 22 23 |
# File 'lib/opentracing/instrumentation/sidekiq/server_middleware.rb', line 21 def operation_name_builder @operation_name_builder end |
#span_kind ⇒ Object (readonly)
Returns the value of attribute span_kind.
21 22 23 |
# File 'lib/opentracing/instrumentation/sidekiq/server_middleware.rb', line 21 def span_kind @span_kind end |
#tagger ⇒ Object (readonly)
Returns the value of attribute tagger.
21 22 23 |
# File 'lib/opentracing/instrumentation/sidekiq/server_middleware.rb', line 21 def tagger @tagger end |
#tracer ⇒ Object (readonly)
Returns the value of attribute tracer.
21 22 23 |
# File 'lib/opentracing/instrumentation/sidekiq/server_middleware.rb', line 21 def tracer @tracer end |
Instance Method Details
#call(_worker, job, _queue, &block) ⇒ Object
rubocop:enable Metrics/ParameterLists
46 47 48 49 50 51 52 |
# File 'lib/opentracing/instrumentation/sidekiq/server_middleware.rb', line 46 def call(_worker, job, _queue, &block) scope = safe_start_scope(job) log(scope.span, job, &block) ensure scope&.close end |