monit_request_client 0.5.0 → 0.6.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.
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