Sha256: 27a59a4ec83fc3b14a1a774f984aef1a9760c8af61ade2d6e94f781df0e618af

Contents?: true

Size: 1.57 KB

Versions: 2

Compression:

Stored size: 1.57 KB

Contents

require 'agent/handler/sequence_book'

module ManageEngine
  module Agent
    class TrackerHandler
      
      def self.invokeTracker tracker
        begin
          @obj = ManageEngine::APMObjectHolder.instance
          
          if !@obj.config.agent_enabled || tracker == nil
            return nil
          end
          
          seqBook = Thread.current[:apminsight]
          if seqBook != nil
            if seqBook.listenFlag == 1
              return nil
            end
          else
            seqBook = ::APMInsight::Agent::SequenceBook.new
            Thread.current[:apminsight] = seqBook
          end
          
          tracker = seqBook.attachTracker(tracker)
          
          return tracker
        rescue Exception=>ex
          # Logging to be done here, Not sure whether its safe to do
          if (@obj != nil)
            @obj.log.logException "[TrackerHandler] Exception occurred at invoketracker.", ex
          end
          return nil
        end
      end
      
      
      # Closes tracker properly and set everything ready to process next tracker
      # If roottracker closes, sequence book is cleaned and data are push to store
      def self.exitTracker tracker
        begin
          if tracker != nil
            seqBook = Thread.current[:apminsight]
            seqBook.closeTracker tracker
          end
        rescue Exception=>ex
          if (@obj != nil)
            @obj.log.logException "[TrackerHandler] Exception occurred at exittracker.", ex
          end
        end
      end
      
    end # Class TrackerHandler
    
  end # module Agent
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
site24x7_apminsight-1.6.1 lib/agent/handler/tracker_handler.rb
site24x7_apminsight-1.6.0 lib/agent/handler/tracker_handler.rb