apminsight 1.8.8 → 1.9.0

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.
@@ -62,7 +62,7 @@ module APMInsight
62
62
 
63
63
  # Marks end of transaction
64
64
  if @rootTracker == tracker
65
- if @listenFlag < 1 || (@listenFlag >= 1 && @trackerCount > 1)
65
+ if @listenFlag < 1 || (@listenFlag >= 1 && @trackerCount > 0)
66
66
  # if some trackers are not closed, while processing the metrics, it may go into infinite loop
67
67
  if (@closedTrackerCount - @trackerCount) == 0
68
68
  sequenceBag = Hash.new
@@ -17,8 +17,10 @@ module ManageEngine
17
17
  @apdex_threshold = @obj.config.apdex_t * 1000
18
18
  #@obj.log.info "[FORMAT]"
19
19
  @transaction = Hash.new
20
+ @bgTransaction = Hash.new
20
21
  @db = Hash.new
21
22
  @instance = Hash.new
23
+ @bginstance = Hash.new
22
24
  @dbinstance = Hash.new
23
25
  @dboperations = Hash.new
24
26
  @keystoremove = Array.new
@@ -27,6 +29,7 @@ module ManageEngine
27
29
  updatetransaction value
28
30
  end
29
31
  updateinstance
32
+ updatebginstance
30
33
  updatedbinstance
31
34
 
32
35
  @transaction.each do |key,value|
@@ -39,6 +42,16 @@ module ManageEngine
39
42
  result.push(valArr)
40
43
  end
41
44
 
45
+ @bgTransaction.each do |key,value|
46
+ res = Hash.new
47
+ res[@obj.constants.mf_namespace] = key
48
+ res[@obj.constants.mf_name] = @obj.constants.mf_bckgrnd
49
+ valArr= Array.new
50
+ valArr[0] =res
51
+ valArr[1] =value
52
+ result.push(valArr)
53
+ end
54
+
42
55
  @db.each do |key,value|
43
56
  #puts "#{key} == #{value}"
44
57
  res = Hash.new
@@ -58,6 +71,15 @@ module ManageEngine
58
71
  valArr[1] =value
59
72
  result.push(valArr)
60
73
  end
74
+ @bginstance.each do |key,value|
75
+ res = Hash.new
76
+ res[@obj.constants.mf_namespace] = ""
77
+ res[@obj.constants.mf_name] = @obj.constants.mf_bckgrnd
78
+ valArr= Array.new
79
+ valArr[0] =res
80
+ valArr[1] =value
81
+ result.push(valArr)
82
+ end
61
83
  @dbinstance.each do |key,value|
62
84
  res = Hash.new
63
85
  res[@obj.constants.mf_namespace] = ""
@@ -95,8 +117,13 @@ module ManageEngine
95
117
  end
96
118
 
97
119
  def updateinstance
120
+ if (@transaction.size == 0)
121
+ return
122
+ end
123
+
98
124
  ins_apdx = [0,-1,-1,0,0,0,0,0,0]
99
125
  logmetric = Hash.new
126
+ error_rt = 0
100
127
  @transaction.each do |key,value|
101
128
  apdexValue = value[0]
102
129
  ins_apdx[0] += apdexValue[0]
@@ -117,7 +144,10 @@ module ManageEngine
117
144
  ins_apdx[6] += apdexValue[6]
118
145
  ins_apdx[7] += apdexValue[7]
119
146
  ins_apdx[8] += apdexValue[8]
120
-
147
+ ert = value[1][@obj.constants.error_rt]
148
+ if (ert != nil)
149
+ error_rt += ert
150
+ end
121
151
  exceptions = value[1][@obj.constants.mf_logmetric]
122
152
  if (exceptions != nil)
123
153
  exceptions.each do |name, count|
@@ -129,9 +159,48 @@ module ManageEngine
129
159
  ins_apdx[4] = (ins_apdx[5].to_f + (ins_apdx[6]/2).to_f).to_f/ins_apdx[3].to_f
130
160
  ins_apdx[0] = ins_apdx[0].round(2)
131
161
  end
132
- @instance[":apdex"]=[ins_apdx, {@obj.constants.mf_logmetric=>logmetric}]
162
+ @instance[":apdex"]=[ins_apdx, {@obj.constants.mf_logmetric=>logmetric, @obj.constants.error_rt=>error_rt}]
133
163
  end
134
164
 
165
+ def updatebginstance
166
+ if (@bgTransaction.size == 0)
167
+ return
168
+ end
169
+
170
+ stats = [0,-1,-1,0,0]
171
+ logmetric = Hash.new
172
+ error_rt = 0
173
+ @bgTransaction.each do |key,value|
174
+ txnValue = value[0]
175
+ stats[0] += txnValue[0]
176
+ if stats[1] == -1
177
+ stats[1] = txnValue[1]
178
+ stats[2] = txnValue[2]
179
+ else
180
+ if(txnValue[1]<stats[1])
181
+ stats[1] = txnValue[1]
182
+ end
183
+ if (txnValue[2]>stats[2])
184
+ stats[2] = txnValue[2]
185
+ end
186
+ end
187
+ stats[3] += txnValue[3]
188
+ stats[4] += txnValue[4]
189
+
190
+ ert = value[1][@obj.constants.error_rt]
191
+ if (ert != nil)
192
+ error_rt += ert
193
+ end
194
+ exceptions = value[1][@obj.constants.mf_logmetric]
195
+ if (exceptions != nil)
196
+ exceptions.each do |name, count|
197
+ logmetric[name] = logmetric[name].to_i + count
198
+ end
199
+ end
200
+ end
201
+ @bginstance[":bckgrnd"]=[stats, {@obj.constants.mf_logmetric=>logmetric, @obj.constants.error_rt=>error_rt}]
202
+ end
203
+
135
204
  def updatedbinstance
136
205
  cnt = 0;
137
206
  rt = 0;
@@ -166,42 +235,91 @@ module ManageEngine
166
235
  exc = d["exception"]
167
236
 
168
237
  rt = pl["rt"].round(2)
169
- path = @obj.constants.mf_transaction + @obj.constants.mf_separator + pl["path"]
170
-
171
-
172
- apx_stat = nil
173
- additionalInfo = nil
174
- if(@transaction.has_key?(path))
175
- apx_stat = @transaction[path][0]
176
- additionalInfo = @transaction[path][1]
177
- else
178
- if @transaction.length == @obj.config.metric_overflow_t
179
- @obj.log.debug "Metricstore overflow. Current Size: #{@obj.config.metric_overflow_t} #{path}"
180
- return
181
- end
182
- apx_stat = Array.new
183
- apx_stat = [0,0,0,0,0,0,0,0,0]
184
- additionalInfo = Hash.new
185
- end
238
+ # path = @obj.constants.mf_transaction + @obj.constants.mf_separator + pl["path"]
239
+ path = pl["path"]
186
240
 
187
- if (pl.has_key?("error"))
188
- apx_stat[8] += 1
189
- else
190
- apx_stat = apxarray apx_stat,rt
191
- end
241
+ if (pl["type"] == @obj.constants.mf_http)
242
+ apx_stat = nil
243
+ additionalInfo = nil
244
+ if(@transaction.has_key?(path))
245
+ apx_stat = @transaction[path][0]
246
+ additionalInfo = @transaction[path][1]
247
+ else
248
+ if @transaction.length == @obj.config.metric_overflow_t
249
+ @obj.log.debug "Metricstore overflow. Current Size: #{@obj.config.metric_overflow_t} #{path}"
250
+ return
251
+ end
252
+
253
+ apx_stat = Array.new
254
+ apx_stat = [0,0,0,0,0,0,0,0,0]
255
+ additionalInfo = Hash.new
256
+ end
257
+
258
+ if (pl.has_key?("error"))
259
+ apx_stat[8] += 1
260
+ if (additionalInfo[@obj.constants.error_rt] == nil)
261
+ additionalInfo[@obj.constants.error_rt] = rt
262
+ else
263
+ additionalInfo[@obj.constants.error_rt] += rt
264
+ end
265
+ else
266
+ apx_stat = apxarray apx_stat,rt
267
+ end
192
268
 
193
- if (exc != nil)
194
- logmetric = additionalInfo[@obj.constants.mf_logmetric]
195
- if (logmetric == nil)
196
- additionalInfo[@obj.constants.mf_logmetric] = exc
197
- else
198
- exc.each do |name, count|
199
- logmetric[name] = logmetric[name].to_i + count
269
+ if (exc != nil)
270
+ logmetric = additionalInfo[@obj.constants.mf_logmetric]
271
+ if (logmetric == nil)
272
+ additionalInfo[@obj.constants.mf_logmetric] = exc
273
+ else
274
+ exc.each do |name, count|
275
+ logmetric[name] = logmetric[name].to_i + count
276
+ end
277
+ end
278
+ end
279
+
280
+ @transaction[path] = [apx_stat, additionalInfo]
281
+ else
282
+ stat = nil
283
+ additionalInfo = nil
284
+ if(@bgTransaction.has_key?(path))
285
+ stat = @bgTransaction[path][0]
286
+ additionalInfo = @bgTransaction[path][1]
287
+ else
288
+ if @bgTransaction.length == @obj.config.metric_overflow_t
289
+ @obj.log.debug "Metricstore overflow. Current Size: #{@obj.config.metric_overflow_t} #{path}"
290
+ return
200
291
  end
292
+
293
+ stat = Array.new
294
+ stat = [0,0,0,0,0]
295
+ additionalInfo = Hash.new
201
296
  end
202
- end
203
-
204
- @transaction[path] = [apx_stat, additionalInfo]
297
+
298
+ if (pl.has_key?("error"))
299
+ stat[4] += 1
300
+ if (additionalInfo[@obj.constants.error_rt] == nil)
301
+ additionalInfo[@obj.constants.error_rt] = rt
302
+ else
303
+ additionalInfo[@obj.constants.error_rt] += rt
304
+ end
305
+ else
306
+ stat = updatert stat,rt
307
+ end
308
+
309
+ if (exc != nil)
310
+ logmetric = additionalInfo[@obj.constants.mf_logmetric]
311
+ if (logmetric == nil)
312
+ additionalInfo[@obj.constants.mf_logmetric] = exc
313
+ else
314
+ exc.each do |name, count|
315
+ logmetric[name] = logmetric[name].to_i + count
316
+ end
317
+ end
318
+ end
319
+
320
+ @bgTransaction[path] = [stat, additionalInfo]
321
+ end
322
+
205
323
  if(dbl!=nil)
206
324
  if @db.length < @obj.config.dbmetric_overflow_t
207
325
  updatedb dbl,path
@@ -95,7 +95,7 @@ module ManageEngine
95
95
  end
96
96
  begin
97
97
  trdata = getTrace(rootTracker)
98
- trac = updateTrace(rootTracker.url, trdata, exceptionInfo)
98
+ trac = updateTrace(rootTracker, trdata, exceptionInfo)
99
99
  if(parseddata.has_key?("trace-data"))
100
100
  traceData = parseddata["trace-data"];
101
101
  traceData.push(trac);
@@ -136,7 +136,7 @@ module ManageEngine
136
136
  ret = tdata["td"]
137
137
  ret["rt"] = ret["rt"] + rootTracker.duration
138
138
  else
139
- ret = {"rt"=> rootTracker.duration, "path"=>rootTracker.url}
139
+ ret = {"rt"=> rootTracker.duration, "path"=>rootTracker.getTxnName, "type"=>rootTracker.getTxnType}
140
140
  if (rootTracker.error?)
141
141
  ret["error"] = true
142
142
  end
@@ -193,10 +193,10 @@ module ManageEngine
193
193
  excData[@obj.constants.mf_logmetric_warning] = excData[@obj.constants.mf_logmetric_warning].to_i + 1
194
194
  end
195
195
 
196
- def updateTrace(url, trans, exceptionInfo)
196
+ def updateTrace(roottracker, trans, exceptionInfo)
197
197
  # {"thread_name":"http-8080-6","s_time":1326276180289,"t_name":"transaction\/http\/Test-App\/login","r_time":18,"thread_id":141}
198
198
  top = Array.new
199
- path = @obj.constants.mf_transaction + @obj.constants.mf_separator + url
199
+ path = roottracker.getTxnName
200
200
  det = {"thread_name"=>"rorthread","s_time"=>trans[0],"t_name"=>path,"r_time"=>trans[3],"thread_id"=>141}
201
201
 
202
202
  exception = trans[5] != nil ? trans[5][@obj.constants.mf_exception_st] : nil
@@ -2,6 +2,7 @@ require 'agent/server/instrument/rails'
2
2
  require 'agent/server/instrument/sinatra'
3
3
  require 'agent/server/instrument/active_record'
4
4
  require 'agent/server/instrument/action_view'
5
+ require 'agent/server/instrument/sidekiq_server'
5
6
 
6
7
  module ManageEngine
7
8
  class Environment
@@ -16,7 +17,8 @@ module ManageEngine
16
17
  ]
17
18
 
18
19
  OTHER_INTERCEPTORS = [
19
- ManageEngine::Instrumentation::ActionView.new
20
+ ManageEngine::Instrumentation::ActionView.new,
21
+ ManageEngine::Instrumentation::SidekiqServer.new
20
22
  ]
21
23
 
22
24
  def detect_and_instrument
@@ -0,0 +1,38 @@
1
+ require 'agent/am_objectholder'
2
+ require 'agent/trackers/default_tracker'
3
+
4
+ module ManageEngine
5
+ module Instrumentation
6
+ class SidekiqClient
7
+ include Sidekiq::ClientMiddleware if defined?(Sidekiq::ClientMiddleware)
8
+
9
+ def call(worker, msg, queue, *_)
10
+ tracker = nil
11
+ result = nil
12
+ begin
13
+ # https://github.com/sidekiq/sidekiq/blob/main/lib/sidekiq/middleware/chain.rb
14
+ # Check comment section
15
+ jobName = msg["class"]
16
+ tracker = ManageEngine::Tracker::DefaultTracker.new("Sidekiq - " + msg["class"] + " - Job Id: " + msg["jid"])
17
+ tracker = ManageEngine::Agent::TrackerHandler.invokeTracker(tracker)
18
+ rescue Exception=>e
19
+ ManageEngine::APMObjectHolder.instance.log.info "Exception while creating tracker for sidekiq_client #{e}"
20
+ end
21
+ begin
22
+ result = yield
23
+ rescue Exception=>e
24
+ if (tracker != nil)
25
+ tracker.setError(e)
26
+ end
27
+ raise e
28
+ ensure
29
+ if tracker != nil
30
+ tracker.finish
31
+ ManageEngine::Agent::TrackerHandler.exitTracker(tracker)
32
+ end
33
+ end
34
+ result
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,66 @@
1
+ require 'agent/am_objectholder'
2
+ require 'agent/trackers/root_tracker'
3
+ require 'agent/server/instrument/sidekiq_client'
4
+
5
+ module ManageEngine
6
+ module Instrumentation
7
+ class SidekiqServer
8
+ include Sidekiq::ServerMiddleware if defined?(Sidekiq::ServerMiddleware)
9
+
10
+ def present?
11
+ defined?(::Sidekiq::ServerMiddleware)
12
+ end
13
+
14
+ def version
15
+ Sidekiq::VERSION
16
+ end
17
+
18
+ def name
19
+ 'Sidekiq'
20
+ end
21
+
22
+ def instrument
23
+ ::Sidekiq.configure_server do |config|
24
+ config.server_middleware do |chain|
25
+ chain.add(ManageEngine::Instrumentation::SidekiqServer)
26
+ end
27
+ end
28
+ ::Sidekiq.configure_client do |config|
29
+ config.client_middleware do |chain|
30
+ chain.add(ManageEngine::Instrumentation::SidekiqClient)
31
+ end
32
+ end
33
+ ManageEngine::APMObjectHolder.instance.log.info "Instrumenting #{name} Version: #{version}"
34
+ end
35
+
36
+ def call(worker, msg, queue, *_)
37
+ tracker = nil
38
+ begin
39
+ # https://github.com/sidekiq/sidekiq/blob/main/lib/sidekiq/middleware/chain.rb
40
+ # Check comment section
41
+ jobName = msg["class"]+".perform"
42
+ tracker = ManageEngine::Tracker::RootTracker.new(jobName + " jid: " + msg["jid"])
43
+ tracker.url = jobName
44
+ tracker.setTxnType(ManageEngine::APMObjectHolder.instance.constants.mf_bckgrnd)
45
+ #tracker.addAdditionalInfo(msg)
46
+ tracker = ManageEngine::Agent::TrackerHandler.invokeTracker(tracker)
47
+ rescue Exception=>e
48
+ ManageEngine::APMObjectHolder.instance.log.info "Exception while creating tracker for sidekiq_server #{e}"
49
+ end
50
+ begin
51
+ yield
52
+ rescue Exception=>e
53
+ if (tracker != nil)
54
+ tracker.setError(e)
55
+ end
56
+ raise e
57
+ ensure
58
+ if tracker != nil
59
+ tracker.finish
60
+ ManageEngine::Agent::TrackerHandler.exitTracker(tracker)
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -231,6 +231,8 @@ class APMWorker
231
231
  if tdata.has_key?(name)
232
232
  if (sd[0]["name"]=="apdex")
233
233
  tdata[name][1] = mapdx(tdata[name][1],sd[1])
234
+ elsif (sd[0]["name"]=="bckgrnd")
235
+ tdata[name][1] = mapbg(tdata[name][1],sd[1])
234
236
  else
235
237
  tdata[name][1] = mapdb(tdata[name][1],sd[1])
236
238
  end
@@ -263,7 +265,7 @@ class APMWorker
263
265
  rtData[7] = rtData[7]+dat[0][7]
264
266
  rtData[4] = rtData[3] != 0 ? (rtData[5].to_f + (rtData[6].to_f/2).to_f).to_f/rtData[3].to_f : 0
265
267
  res[0] = rtData
266
-
268
+ res[1][@obj.constants.error_rt] += dat[1][@obj.constants.error_rt]
267
269
  resExcepData = res[1][@obj.constants.mf_logmetric]
268
270
  excepData = dat[1][@obj.constants.mf_logmetric]
269
271
  if (resExcepData == nil)
@@ -281,6 +283,36 @@ class APMWorker
281
283
  res
282
284
  end
283
285
 
286
+ def mapbg res,dat
287
+ begin
288
+ rtData = res[0];
289
+ rtData[0] = rtData[0]+dat[0][0];
290
+ if dat[0][1]<rtData[1]
291
+ rtData[1]=dat[0][1]
292
+ end
293
+ if dat[0][2]>rtData[2]
294
+ rtData[2]=dat[0][2]
295
+ end
296
+ rtData[3] = rtData[3]+dat[0][3]
297
+ rtData[4] = rtData[4]+dat[0][4]
298
+ res[0] = rtData
299
+ res[1][@obj.constants.error_rt] += dat[1][@obj.constants.error_rt]
300
+ resExcepData = res[1][@obj.constants.mf_logmetric]
301
+ excepData = dat[1][@obj.constants.mf_logmetric]
302
+ if (resExcepData == nil)
303
+ resExcepData = excepData
304
+ else
305
+ if (excepData != nil)
306
+ resExcepData = resExcepData.merge(excepData){|key, oldval, newval| newval + oldval}
307
+ end
308
+ end
309
+
310
+ res[1][@obj.constants.mf_logmetric] = resExcepData != nil ? resExcepData : Hash.new
311
+ rescue Exception=>e
312
+ @obj.log.logException "Exception while merging bg data",e
313
+ end
314
+ res
315
+ end
284
316
  def mapdb res,dat
285
317
  res[0] = res[0]+dat[0];
286
318
  if dat[1]<res[1]
@@ -63,7 +63,7 @@ module ManageEngine
63
63
  return [sqlArr[0], tableName]
64
64
 
65
65
  rescue Exception=>e
66
- @logger.logException "#{e.message}",e
66
+ @logger.logException "Error processing query #{sql} Exception: #{e.message}",e
67
67
  return [sqlArr[0], '-']
68
68
  end
69
69
  end
@@ -4,12 +4,27 @@ module ManageEngine
4
4
  module Tracker
5
5
  class RootTracker < DefaultTracker
6
6
 
7
- attr_accessor :status, :url
7
+ attr_accessor :status, :url, :txnType
8
8
 
9
9
  def url=(url = "unknown")
10
10
  @url = ManageEngine::APMObjectHolder.instance.txn_util.normalizeName(url)
11
11
  end
12
12
 
13
+ def getTxnName
14
+ ManageEngine::APMObjectHolder.instance.constants.mf_transaction + getTxnType() + ManageEngine::APMObjectHolder.instance.constants.mf_separator + @url
15
+ end
16
+
17
+ def setTxnType(type)
18
+ @txnType=type
19
+ end
20
+
21
+ def getTxnType
22
+ if (@txnType == nil)
23
+ @txnType = ManageEngine::APMObjectHolder.instance.constants.mf_http
24
+ end
25
+ @txnType
26
+ end
27
+
13
28
  def http_method(method)
14
29
  @http_method = method
15
30
  end
@@ -26,6 +41,17 @@ module ManageEngine
26
41
  @status = httpcode
27
42
  end
28
43
 
44
+ def addCustomParam key, value
45
+ if (@params == nil)
46
+ @params = Hash.new
47
+ end
48
+ @params[key] = value
49
+ end
50
+
51
+ def addAdditionalInfo param
52
+ @params = param
53
+ end
54
+
29
55
  def getAdditionalInfo
30
56
  info = super
31
57
  if (@http_method != nil && @queryString != nil && @status != nil)
@@ -36,6 +62,12 @@ module ManageEngine
36
62
  info["http_query_str"] = @queryString
37
63
  info["httpcode"] = @status
38
64
  end
65
+ if (@params != nil)
66
+ if (info == nil)
67
+ info = Hash.new
68
+ end
69
+ info["custom_params"] = @params
70
+ end
39
71
  info
40
72
  end
41
73
  end
@@ -5,8 +5,8 @@ module ManageEngine
5
5
  attr_reader :conf_location, :apm_gem,:s247_apm_gem,:apm_conf,:agent_conf,:connection_open_timeout,:connection_read_timeout,:connect_uri,:connect_data_uri,:connect_trace_uri,:connect_config_update_uri,:mergepattern_conf
6
6
  attr_reader :site24x7USurl, :site24x7EUurl, :site24x7CNurl, :site24x7INurl, :site24x7AUurl, :site24x7GDurl, :site24x7JPurl, :site24x7CAurl, :site24x7SAurl, :site24x7UKurl, :site24x7HDFCurl
7
7
  attr_reader :licence_exceeds,:licence_expired,:unmanage_agent,:manage_agent,:agent_config_updated,:error_notfound,:error_server,:delete_agent,:response_code,:custom_config_info, :agent_specific_info
8
- attr_reader :mf_transaction,:mf_separator,:mf_db,:mf_apdex,:mf_namespace,:mf_name,:mf_all,:agent_store,:agent_lock,:mf_overflow
9
- attr_reader :mf_logmetric, :mf_logmetric_warning, :mf_exception_st, :mf_err_st, :mf_loginfo, :mf_loginfo_time, :mf_loginfo_level, :mf_loginfo_str, :mf_loginfo_err_clz, :mf_loginfo_st, :mf_loginfo_level_warn
8
+ attr_reader :mf_transaction,:mf_separator,:mf_db,:mf_apdex,:mf_http,:mf_bckgrnd,:mf_namespace,:mf_name,:mf_all,:agent_store,:agent_lock,:mf_overflow
9
+ attr_reader :error_rt, :mf_logmetric, :mf_logmetric_warning, :mf_exception_st, :mf_err_st, :mf_loginfo, :mf_loginfo_time, :mf_loginfo_level, :mf_loginfo_str, :mf_loginfo_err_clz, :mf_loginfo_st, :mf_loginfo_level_warn
10
10
  attr_reader :en_alphabets, :en_numerals
11
11
 
12
12
  def initialize
@@ -82,10 +82,13 @@ module ManageEngine
82
82
  @mf_all = "all"
83
83
 
84
84
  @mf_separator = "/"
85
- @mf_transaction = "transaction" + @mf_separator + "http"
85
+ @mf_transaction = "transaction" + @mf_separator
86
86
  @mf_db = "db"
87
87
  @mf_overflow = "0verf10w"
88
+ @mf_http = "http"
89
+ @mf_bckgrnd = "bckgrnd"
88
90
 
91
+ @error_rt = "error_rt"
89
92
  @mf_logmetric = "logmetric"
90
93
  @mf_logmetric_warning = "warning"
91
94
  @mf_err_st = "err_st"
data/lib/agent/version.rb CHANGED
@@ -6,8 +6,8 @@
6
6
 
7
7
  module ManageEngine
8
8
  class APMInsight
9
- VERSION = '1.8.8'
10
- MAJOR_VERSION = '1.8'
11
- MINOR_VERSION = '8'
9
+ VERSION = '1.9.0'
10
+ MAJOR_VERSION = '1.9'
11
+ MINOR_VERSION = '0'
12
12
  end
13
13
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
- - 8
8
- - 8
9
- version: 1.8.8
7
+ - 9
8
+ - 0
9
+ version: 1.9.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Adithyan P
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2024-01-31 00:00:00 +05:30
17
+ date: 2024-03-22 00:00:00 +05:30
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -125,6 +125,8 @@ files:
125
125
  - lib/agent/server/instrument/am_instrumenter.rb
126
126
  - lib/agent/server/instrument/environment.rb
127
127
  - lib/agent/server/instrument/rails.rb
128
+ - lib/agent/server/instrument/sidekiq_client.rb
129
+ - lib/agent/server/instrument/sidekiq_server.rb
128
130
  - lib/agent/server/instrument/sinatra.rb
129
131
  - lib/agent/server/worker/am_worker.rb
130
132
  - lib/agent/trackers/database_tracker.rb