simple_apm 0.1.9 → 1.0.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: 23e7fd45a7f7fc7edc4590c681e1eabac3a34adfe7ac1a3d17e8b16a97303502
4
- data.tar.gz: 3020c53720ad77a0414711531c590d7334eee6aab119bf3e1fb4d1b2c2b1c973
3
+ metadata.gz: ede67114e4bfb1b3d6f62f5b46a132e78c9bb7bd827c7ba8f41eb783993d3fce
4
+ data.tar.gz: f65dafd04fe955efe84167301f1f82751c57a6821f0d250d9ca439906b9804b8
5
5
  SHA512:
6
- metadata.gz: 1701cce03295e27d0d6cef228f86358c6653fbecfb616c6613b84c90c5eb0dd73e3e5f30fec9b34a8f6a174c3b7ce754a8c0de693f35f8f58d896a6f8bb97c25
7
- data.tar.gz: 21d7870003ba6dcf01383b65f657a3ee9a36d51943c5b76f5558191d609b17791fa6e688443394509aa86c8f99308993b01cb9200c7fb12fc00e85f0541c7c81
6
+ metadata.gz: 48aa29dbae464fdfb7f51c96d99b666fdfb1751c932ec990a500814e16a0d67362cd7319a102255d3bcffd9c15c51b37fd9019f28ff9b99c6846fbd92bc2bbdf
7
+ data.tar.gz: b55e72a1f844c6e70c3b3132749e5b17b4c423efdd12bf0da11f85b63aae5baf743a90a542746460eeb45a107f5a0fee8c665d6cbf9398147f62880d4826449e
data/README.md CHANGED
@@ -1,4 +1,3 @@
1
- # 开发中……
2
1
  # SimpleApm
3
2
  基于Redis的简单的Web请求性能监控/慢事务追踪工具
4
3
 
@@ -12,28 +12,4 @@
12
12
  //
13
13
  //= require_tree .
14
14
 
15
- // JqueryDataTable自定义排序方法
16
- jQuery.extend(jQuery.fn.dataTableExt.oSort, {
17
- "sec-pre": function (a) {
18
- var x = String(a).replace(/<[\s\S]*?>/g, ""); //去除html标记
19
- x = x.replace(/&amp;nbsp;/ig, ""); //去除空格
20
- x = x.replace(/%/, ""); //去除百分号
21
- if(x.indexOf('ms')>0){
22
- x = x.replace(/ms/, "");
23
- return parseFloat(x)/1000;
24
- }else if(x.indexOf('min')>0){
25
- x = x.replace(/min/, "");
26
- return parseFloat(x)*60;
27
- }else{
28
- x = x.replace(/min/, "");
29
- return parseFloat(x)
30
- }
31
- },
32
- "sec-asc": function (a, b) { //正序排序引用方法
33
- return ((a < b) ? -1 : ((a > b) ? 1 : 0));
34
- },
35
- "sec-desc": function (a, b) { //倒序排序引用方法
36
- return ((a < b) ? 1 : ((a > b) ? -1 : 0));
37
- }
38
- });
39
15
 
@@ -12,35 +12,4 @@
12
12
  *
13
13
  *= require_tree .
14
14
  *= require_self
15
- */
16
- footer{
17
- text-align: center;
18
- padding: 10px;
19
- border-top: 1px solid #999999;
20
- }
21
- a.navbar-brand.active{
22
- color: #00AEEF !important;
23
- }
24
- #page-container{
25
- min-height: 80vh;
26
- }
27
- .select-apm-date{
28
- width: auto;
29
- float: right;
30
- margin-top: 8px;
31
- }
32
- .select-apm-date>select{
33
- display: inline-block;
34
- width: auto;
35
- }
36
- .sql{
37
- max-width: 300px;
38
- white-space: nowrap;
39
- text-overflow:ellipsis;
40
- overflow: hidden;
41
- color: #00AEEF;
42
- cursor: pointer;
43
- }
44
- pre {
45
- white-space: pre-wrap;
46
- }
15
+ */
@@ -11,8 +11,72 @@
11
11
  <script src="//cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
12
12
  <script src="//cdn.bootcss.com/echarts/4.1.0/echarts.js"></script>
13
13
  <script src="//cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
14
- <%= stylesheet_link_tag "simple_apm/application", media: "all" %>
15
- <%= javascript_include_tag "simple_apm/application" %>
14
+ <style>
15
+ footer {
16
+ text-align: center;
17
+ padding: 10px;
18
+ border-top: 1px solid #999999;
19
+ }
20
+
21
+ a.navbar-brand.active {
22
+ color: #00AEEF !important;
23
+ }
24
+
25
+ #page-container {
26
+ min-height: 80vh;
27
+ }
28
+
29
+ .select-apm-date {
30
+ width: auto;
31
+ float: right;
32
+ margin-top: 8px;
33
+ }
34
+
35
+ .select-apm-date > select {
36
+ display: inline-block;
37
+ width: auto;
38
+ }
39
+
40
+ .sql {
41
+ max-width: 300px;
42
+ white-space: nowrap;
43
+ text-overflow: ellipsis;
44
+ overflow: hidden;
45
+ color: #00AEEF;
46
+ cursor: pointer;
47
+ }
48
+
49
+ pre {
50
+ white-space: pre-wrap;
51
+ }
52
+ </style>
53
+ <script type="text/javascript">
54
+ // JqueryDataTable自定义排序方法
55
+ jQuery.extend(jQuery.fn.dataTableExt.oSort, {
56
+ "sec-pre": function (a) {
57
+ var x = String(a).replace(/<[\s\S]*?>/g, ""); //去除html标记
58
+ x = x.replace(/&amp;nbsp;/ig, ""); //去除空格
59
+ x = x.replace(/%/, ""); //去除百分号
60
+ if (x.indexOf('ms') > 0) {
61
+ x = x.replace(/ms/, "");
62
+ return parseFloat(x) / 1000;
63
+ } else if (x.indexOf('min') > 0) {
64
+ x = x.replace(/min/, "");
65
+ return parseFloat(x) * 60;
66
+ } else {
67
+ x = x.replace(/min/, "");
68
+ return parseFloat(x)
69
+ }
70
+ },
71
+ "sec-asc": function (a, b) { //正序排序引用方法
72
+ return ((a < b) ? -1 : ((a > b) ? 1 : 0));
73
+ },
74
+ "sec-desc": function (a, b) { //倒序排序引用方法
75
+ return ((a < b) ? 1 : ((a > b) ? -1 : 0));
76
+ }
77
+ });
78
+ </script>
79
+
16
80
  <%= csrf_meta_tags %>
17
81
  </head>
18
82
  <body>
@@ -1,7 +1,7 @@
1
1
  <p class="pull-right">
2
2
  <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': '确定删除所有一个月以前的数据?' %>
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'=> '确定删除所有一个月以前的数据?' %>
5
5
  </p>
6
6
 
7
7
  <table class="table table-bordered">
@@ -20,7 +20,7 @@
20
20
  <td><%= d[:day]%></td>
21
21
  <td><%= d[:hits]%></td>
22
22
  <td><%= sec_str d[:avg_time]%></td>
23
- <td><%= link_to '删除', data_delete_path(date: d[:day]), 'data-confirm': '确定删除?' %></td>
23
+ <td><%= link_to '删除', data_delete_path(date: d[:day]), 'data-confirm'=> '确定删除?' %></td>
24
24
  </tr>
25
25
  <% end %>
26
26
  </tbody>
@@ -22,7 +22,7 @@ module SimpleApm
22
22
  controller: payload[:controller],
23
23
  action: payload[:action],
24
24
  host: Socket.gethostname,
25
- remote_addr: payload[:headers]['HTTP_X_REAL_IP'],
25
+ remote_addr: (payload[:headers]['HTTP_X_REAL_IP'] rescue nil),
26
26
  method: payload[:method],
27
27
  format: payload[:format],
28
28
  exception: payload[:exception].presence.to_json
@@ -40,7 +40,7 @@ module SimpleApm
40
40
  end
41
41
  end
42
42
  rescue => e
43
- Logger.new("#{Rails.root}/log/simple_apm.log").info e.backtrace
43
+ Logger.new("#{Rails.root}/log/simple_apm.log").info e.backtrace.join("\n")
44
44
  end
45
45
  end
46
46
 
@@ -54,7 +54,7 @@ module SimpleApm
54
54
  payload.merge!(:line => c.line, :filename => c.filename.to_s.gsub(Rails.root.to_s, ''), :method => c.method)
55
55
  end
56
56
  # ActiveRecord::Relation::QueryAttribute
57
- sql_value = payload[:binds].map {|q| [q.name, q.value]}
57
+ sql_value = payload[:binds].map {|q| [q.name, q.value]} rescue nil
58
58
  info = {
59
59
  request_id: request_id,
60
60
  name: payload[:name],
@@ -68,7 +68,7 @@ module SimpleApm
68
68
  SimpleApm::Sql.create request_id, info
69
69
  end
70
70
  rescue => e
71
- Logger.new("#{Rails.root}/log/simple_apm.log").info e.backtrace
71
+ Logger.new("#{Rails.root}/log/simple_apm.log").info e.backtrace.join("\n")
72
72
  end
73
73
  end
74
74
  end
@@ -1,3 +1,3 @@
1
1
  module SimpleApm
2
- VERSION = '0.1.9'
2
+ VERSION = '1.0.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - yuanyin.xia
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.0'
19
+ version: '4.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '5.0'
26
+ version: '4.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: redis-namespace
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0.0'
55
55
  description: 'xyy: Simple Apm View for rails using redis.'
56
56
  email:
57
- - 454536909@qq.com
57
+ - xiayuanyin@qq.com
58
58
  executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []