monit_request_client 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8bd5f8ec96857f33a6a8701e831503ec2c5f01171b5f1dbb61f58c6b95e6e31d
4
- data.tar.gz: f0754a6efbf67dcd6d2de5396466c2de6f9f4c4ac745792f97830d7749a1f74a
3
+ metadata.gz: 9c66b5f55e131cba74496541c21a5c47ab94c4abdf42a6e0c9ff77f1cf9b413c
4
+ data.tar.gz: 74848262a8f8c661dea5bb552655037560d8e4b51b7380bc655bcc9b9a5d0069
5
5
  SHA512:
6
- metadata.gz: 3dfca5eb9babe17e769497e5782084a9aa5c9b15abb2ad84715f7311a52407a22b7345a18b603b63436dc8d34f07407ae2c419b01406ff6d5b26c0b5317aae19
7
- data.tar.gz: 9d24ccb8f159a1292d903a2be1c07caf0acebb458c87642a0f7f9de6375759349ca872c5c9d1b1ac317cd39452b439b424b56d24704240112c4460a77a57637b
6
+ metadata.gz: 4a19491314ceedbcff5636fcddd178678b51b8b3b79416fc00199d009c149dc8bf35bf1138b9ce28d119458b0c619ec2ff1d7644dfb48d34409e0cf345b22d4c
7
+ data.tar.gz: 1cb5fe1dcaff89087cca005ce18f135911f6d39a9ffe48c8dedea2f6607b562c8f14b1c9faad3acd92ce1bdea23aa0f9df19b6605b5bdab413ee4bcb3d86ca5c
@@ -1,3 +1,3 @@
1
1
  module MonitRequestClient
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -16,28 +16,30 @@ module MonitRequestClient
16
16
  conn = Bunny.new(@config["connect"])
17
17
  conn.start
18
18
  channel = conn.create_channel
19
- @queue = channel.queue(@config["queue_name"])
19
+ @queue = channel.queue(@config["queue_name"], durable: true)
20
+ @exchange = channel.default_exchange
20
21
  @app = app
21
22
  end
22
23
 
23
24
  def call(env)
24
- start = Time.now
25
- request = ::Rack::Request.new(env)
25
+ start = (Time.now.to_f * 1000).to_i
26
26
  trace = ""
27
27
  exception_message = ""
28
28
  code = ""
29
29
  begin
30
30
  status, headers, response = @app.call(env)
31
31
  rescue => e
32
- trace = e.backtrace
32
+ trace = e.backtrace.join(",")
33
33
  exception_message = e.message
34
34
  raise e
35
35
  ensure
36
+ request = ::Rack::Request.new(env)
36
37
  if @config["collect_data"] == true && request.path.start_with?(@config["path_prifex"])
37
38
 
38
39
  Thread.new do
39
40
  begin
40
41
  begin
42
+ # api code for record
41
43
  if response && request.format == "json"
42
44
  body = JSON.parse(response.body)["head"]["code"]
43
45
  if body && body["head"] && body["head"]["code"]
@@ -46,11 +48,18 @@ module MonitRequestClient
46
48
  end
47
49
  rescue => e
48
50
  end
49
- stop = Time.now
51
+ stop = (Time.now.to_f * 1000).to_i
50
52
  data = {"path" => request.path}
51
53
  data["method"] = request.request_method
52
54
  data["error_code"] = code
53
- data["params"] = request.params
55
+ params = request.params.dup
56
+ # add routes params
57
+ if env["action_dispatch.request.parameters"]
58
+ params = params.merge(env["action_dispatch.request.parameters"])
59
+ end
60
+ params.delete("_method")
61
+ params.delete("authenticity_token")
62
+ data["params"] = params.to_query
54
63
  data["start_time"] = start
55
64
  data["end_time"] = stop
56
65
  data["exception"] = exception_message
@@ -58,7 +67,7 @@ module MonitRequestClient
58
67
  data["ip"] = request.ip
59
68
  data["user_id"] = env["current_user_id"]
60
69
  data["user_agent"] = request.user_agent
61
- @queue.publish(data.to_json)
70
+ @exchange.publish(data.to_json, :routing_key => @queue.name,:persistent => true, :content_type => "text/plain")
62
71
  rescue => e
63
72
  end
64
73
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: monit_request_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - xuxh
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-02-19 00:00:00.000000000 Z
11
+ date: 2019-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler