simple_apm 1.0.1 → 1.0.2
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 +4 -4
- data/app/controllers/simple_apm/apm_controller.rb +6 -0
- data/app/views/layouts/simple_apm/application.html.erb +7 -0
- data/app/views/simple_apm/apm/data.html.erb +12 -6
- data/lib/simple_apm.rb +1 -0
- data/lib/simple_apm/engine.rb +3 -1
- data/lib/simple_apm/redis.rb +13 -0
- data/lib/simple_apm/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fef3d86f5fe835b90243b01bc335aabbc20bbfd1d581eab08e71b851790be92a
|
4
|
+
data.tar.gz: 353ee2dab5eba98f1e3bbbb4bcc5c01f17bd0a049484c5dcc9c5aece426c83dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a5110cfae48bf65c15cbe89ed8906c67d6ca3452f1a97ebf567b72087555626dac2d8c4d643fcdb4be4c22e44ad63e357378258f9efe98a1ed1f6c4931ada36
|
7
|
+
data.tar.gz: 8b6b5ac0420c57abb6e557dd1fb02690e4f4f947445fe76ad9e903df6da0b0694e09e9547e4594a8b8c0010372ec8eea84c0043f71710cda3dd54b73f0470fa1
|
@@ -65,6 +65,12 @@ module SimpleApm
|
|
65
65
|
elsif params[:type]=='week'
|
66
66
|
del_count = SimpleApm::Redis.clear_data_before_time(Time.now.at_beginning_of_day - 1.week)
|
67
67
|
flash[:notice] = "成功删除#{del_count}条数据"
|
68
|
+
elsif params[:type]=='stop_data'
|
69
|
+
SimpleApm::Redis.stop!
|
70
|
+
flash[:notice] = '设置成功!'
|
71
|
+
elsif params[:type]=='rerun_data'
|
72
|
+
SimpleApm::Redis.rerun!
|
73
|
+
flash[:notice] = '设置成功!'
|
68
74
|
else
|
69
75
|
flash[:notice] = '未知操作!'
|
70
76
|
# r = params[:date].map{|d|SimpleApm::Redis.clear_data(d)}
|
@@ -113,6 +113,13 @@
|
|
113
113
|
<% SimpleApm::Redis.simple_info.each do |k, v| %>
|
114
114
|
<label><%= k %>:</label><span><%= v %></span>
|
115
115
|
<% end %>
|
116
|
+
<p>
|
117
|
+
<% if SimpleApm::Redis.running? %>
|
118
|
+
<span style="color: greenyellow">数据收集中……</span>
|
119
|
+
<% else %>
|
120
|
+
<span style="color: red">已暂停</span>
|
121
|
+
<% end %>
|
122
|
+
</p>
|
116
123
|
</footer>
|
117
124
|
<div id="sql-modal" class="modal" aria-hidden="true" role="dialog" style="display: none;" tabindex="-1">
|
118
125
|
<div class="modal-dialog modal-lg modal-dialog-popout">
|
@@ -1,7 +1,13 @@
|
|
1
|
+
<% if SimpleApm::Redis.running? %>
|
2
|
+
<%= link_to '暂停收集数据', data_delete_path(type: 'stop_data'), class: 'btn btn-warning btn-sm', 'data-confirm'=>'确定暂停吗?' %>
|
3
|
+
<% else %>
|
4
|
+
<%= link_to '继续收集数据', data_delete_path(type: 'rerun_data'), class: 'btn btn-primary btn-sm' %>
|
5
|
+
<% end %>
|
6
|
+
<%= link_to '', data_delete_path(type: ''), class: 'btn' %>
|
1
7
|
<p class="pull-right">
|
2
8
|
<span class="text-danger">删除数据:</span>
|
3
|
-
<%= link_to '保留进一周数据', data_delete_path(type: 'week'), class: 'btn btn-danger', 'data-confirm'=> '确定删除所有一周以前的数据?'%>
|
4
|
-
<%= link_to '保留进一个月数据', data_delete_path(type: 'month'), class: 'btn btn-danger', 'data-confirm'=> '确定删除所有一个月以前的数据?' %>
|
9
|
+
<%= link_to '保留进一周数据', data_delete_path(type: 'week'), class: 'btn btn-danger', 'data-confirm' => '确定删除所有一周以前的数据?' %>
|
10
|
+
<%= link_to '保留进一个月数据', data_delete_path(type: 'month'), class: 'btn btn-danger', 'data-confirm' => '确定删除所有一个月以前的数据?' %>
|
5
11
|
</p>
|
6
12
|
|
7
13
|
<table class="table table-bordered">
|
@@ -17,10 +23,10 @@
|
|
17
23
|
<!-- {day: date_str, hits: hits, time: time, avg_time: avg_time}-->
|
18
24
|
<% @data.each do |d| %>
|
19
25
|
<tr>
|
20
|
-
<td><%= d[:day]%></td>
|
21
|
-
<td><%= d[:hits]%></td>
|
22
|
-
<td><%= sec_str d[:avg_time]%></td>
|
23
|
-
<td><%= link_to '删除', data_delete_path(date: d[:day]), 'data-confirm'=> '确定删除?' %></td>
|
26
|
+
<td><%= d[:day] %></td>
|
27
|
+
<td><%= d[:hits] %></td>
|
28
|
+
<td><%= sec_str d[:avg_time] %></td>
|
29
|
+
<td><%= link_to '删除', data_delete_path(date: d[:day]), 'data-confirm' => '确定删除?' %></td>
|
24
30
|
</tr>
|
25
31
|
<% end %>
|
26
32
|
</tbody>
|
data/lib/simple_apm.rb
CHANGED
@@ -7,6 +7,7 @@ module SimpleApm
|
|
7
7
|
begin
|
8
8
|
request_id = Thread.current['action_dispatch.request_id']
|
9
9
|
need_skip = payload[:controller] == 'SimpleApm::ApmController'
|
10
|
+
need_skip = true if payload[:status].to_s=='302' && payload[:path].to_s=~/login/ && payload[:method].to_s.downcase=='get'
|
10
11
|
if request_id.present?
|
11
12
|
if need_skip
|
12
13
|
SimpleApm::Sql.delete_by_request_id(request_id)
|
data/lib/simple_apm/engine.rb
CHANGED
@@ -5,7 +5,9 @@ module SimpleApm
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def call(env)
|
8
|
-
|
8
|
+
if SimpleApm::Redis.running?
|
9
|
+
Thread.current['action_dispatch.request_id'] = env['action_dispatch.request_id']
|
10
|
+
end
|
9
11
|
@app.call(env)
|
10
12
|
end
|
11
13
|
end
|
data/lib/simple_apm/redis.rb
CHANGED
@@ -55,6 +55,19 @@ module SimpleApm
|
|
55
55
|
{success: true, msg: SimpleApm::Redis.del(keys)}
|
56
56
|
end
|
57
57
|
|
58
|
+
def running?
|
59
|
+
hget('status','running').to_s != 'false'
|
60
|
+
end
|
61
|
+
|
62
|
+
def rerun!
|
63
|
+
hset('status', 'running', true)
|
64
|
+
end
|
65
|
+
|
66
|
+
# 停止收集数据
|
67
|
+
def stop!
|
68
|
+
hset('status', 'running', false)
|
69
|
+
end
|
70
|
+
|
58
71
|
def method_missing(method, *args)
|
59
72
|
instance.send(method, *args)
|
60
73
|
rescue NoMethodError
|
data/lib/simple_apm/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_apm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- yuanyin.xia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -28,28 +28,28 @@ dependencies:
|
|
28
28
|
name: redis-namespace
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.5'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.5'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: callsite
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.0'
|
55
55
|
description: 'xyy: Simple Apm View for rails using redis.'
|