builder_apm 0.5.7 → 0.5.9

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: 6bc271cf133a829ee3b3a2301f5630a86218b7e79f5021e621a2a181d246e578
4
- data.tar.gz: e15fa41c32dc17c81f7c0a510ae4566844fb0fc53bef41cc05d0a2b41b4a0f9d
3
+ metadata.gz: a41aeef90ca922d91509bf94f07ed29b4f555466d3dbfd31ad5e0ebd9c5b79ea
4
+ data.tar.gz: ac245d248c9892ab61dd7aece6bc7012c8f87302db6518ff7f07461e51092657
5
5
  SHA512:
6
- metadata.gz: 8932092c49dd34df98da53f96d5666b7048e7abefd57ac741fcbe514bfce3f972f990e51c20df55d245206014c77e66a2831c1718590d9b98b667e51adf11d83
7
- data.tar.gz: 67a3dfa59a83e4cdb691c4a12e344cd2ef168baf32e340265a7bce535145c3ed21cce7a765e3a5033b29df324028ef0e456551a898ab5c6a80813682f6e09027
6
+ metadata.gz: 888a3d7b61d071afc2883638769b7c746c512c540fc11df100640ec3fb968d2953d133e2dc2cda7d4aebf17216a9d261832f27dd7b2062e151d0947c11f67d99
7
+ data.tar.gz: 943163df25818ab0dfac2e8ad62b4609927c0ff484ec3e67e5a1e921a269479108334b15e2828b9b684df21994bfd4735176c5dff3fdc6cd4280c2a8707627d0
@@ -2,56 +2,60 @@
2
2
  <html>
3
3
  <head>
4
4
  <title>BuilderApm Dashboard</title>
5
- <meta name="csrf-token" content="<%= form_authenticity_token %>">
6
- <%= render 'builder_apm/css/main' %>
7
- <%= render 'builder_apm/css/dark' %>
8
- <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
9
- <script src="https://cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.min.js"></script>
10
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.min.css"/>
11
- <%= render 'builder_apm/js/data_fetcher' %>
12
- <script>
13
- $(document).ready(function () { // Check for saved 'darkMode' in localStorage
14
- if (localStorage.getItem('darkMode') === 'true') {
15
- $('body').addClass('dark');
16
- }
5
+ <% if protect_against_forgery? %>
6
+ <meta name="csrf-token" content="<%= form_authenticity_token%>">
7
+ <% end %>
8
+ <%= render 'builder_apm/css/main' %>
9
+ <%= render 'builder_apm/css/dark' %>
10
+ <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
11
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.min.js"></script>
12
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/dygraph/2.1.0/dygraph.min.css"/>
13
+ <%= render 'builder_apm/js/data_fetcher' %>
14
+ <script>
15
+ $(document).ready(function () { // Check for saved 'darkMode' in localStorage
16
+ if (localStorage.getItem('darkMode') === 'true') {
17
+ $('body').addClass('dark');
18
+ }
17
19
 
18
- $('#clearData').on('click', function () {
19
- localStorage.removeItem('builder_apm_requests');
20
- localStorage.removeItem('builder_apm_cursor');
21
- alert('Local Data Cleared');
22
- });
23
- $('#darkModeToggle').on('click', function () {
24
- $('body').toggleClass('dark');
20
+ $('#clearData').on('click', function () {
21
+ localStorage.removeItem('builder_apm_requests');
22
+ localStorage.removeItem('builder_apm_cursor');
23
+ alert('Local Data Cleared');
24
+ });
25
+ $('#darkModeToggle').on('click', function () {
26
+ $('body').toggleClass('dark');
25
27
 
26
- // Save the current mode in localStorage
27
- if ($('body').hasClass('dark')) {
28
- localStorage.setItem('darkMode', 'true');
29
- } else {
30
- localStorage.setItem('darkMode', 'false');
31
- }
32
- });
33
- $('body').show();
28
+ // Save the current mode in localStorage
29
+ if ($('body').hasClass('dark')) {
30
+ localStorage.setItem('darkMode', 'true');
31
+ } else {
32
+ localStorage.setItem('darkMode', 'false');
33
+ }
34
34
  });
35
- </script>
36
- </head>
37
- <body>
38
- <h1 id="header">BuilderApm Dashboard<span class="version">
39
- (<%= BuilderApm::VERSION %>)</span>
40
- </h1>
41
- <nav id="navbar">
42
- <ul>
43
- <li><%= link_to 'Dashboard', dashboard_path, class: ("active" if current_page?(dashboard_path)) %></li>
44
- <li><%= link_to 'Request Analysis', request_analysis_path, class: ("active" if current_page?(request_analysis_path)) %></li>
45
- <li><%= link_to '500 Errors', errors_500_path, class: ("active" if current_page?(errors_500_path)) %></li>
46
- <li><%= link_to 'Recent Requests', recent_requests_path, class: ("active" if current_page?(recent_requests_path)) %></li>
47
- <li><%= link_to 'Slow Requests', slow_requests_path, class: ("active" if current_page?(slow_requests_path)) %></li>
48
- <li><%= link_to 'N+1', n_plus_one_path, class: ("active" if current_page?(n_plus_one_path)) %></li>
49
- <li id="dark-mode-toggle">
50
- <button id="darkModeToggle" class="nav-button">Toggle Dark Mode</button>
51
- </li>
52
- </ul>
53
- </nav>
54
- <div id="options">
55
- <input type="checkbox" id="autoUpdate" name="autoUpdate">
56
- <label for="autoUpdate">Load Older data</label>
57
- </div>
35
+ $('body').show();
36
+ });
37
+ </script>
38
+ </head>
39
+ <body>
40
+ <h1 id="header">BuilderApm Dashboard<span class="version">
41
+ (<%= BuilderApm::VERSION %>)</span>
42
+ </h1>
43
+ <nav id="navbar">
44
+ <ul>
45
+ <li><%= link_to 'Dashboard', dashboard_path, class: ("active" if current_page?(dashboard_path)) %></li>
46
+ <li><%= link_to 'Request Analysis', request_analysis_path, class: ("active" if current_page?(request_analysis_path)) %></li>
47
+ <li><%= link_to '500 Errors', errors_500_path, class: ("active" if current_page?(errors_500_path)) %></li>
48
+ <li><%= link_to 'Recent Requests', recent_requests_path, class: ("active" if current_page?(recent_requests_path)) %></li>
49
+ <li><%= link_to 'Slow Requests', slow_requests_path, class: ("active" if current_page?(slow_requests_path)) %></li>
50
+ <li><%= link_to 'N+1', n_plus_one_path, class: ("active" if current_page?(n_plus_one_path)) %></li>
51
+ <li id="dark-mode-toggle">
52
+ <button id="darkModeToggle" class="nav-button">Toggle Dark Mode</button>
53
+ </li>
54
+ </ul>
55
+ </nav>
56
+ <div id="options">
57
+ <input type="checkbox" id="autoUpdate" name="autoUpdate">
58
+ <label for="autoUpdate">Load Older data</label>
59
+ </div>
60
+ </body>
61
+ </html>
@@ -58,11 +58,8 @@ module BuilderApm
58
58
  begin
59
59
  JSON.parse(response.body)["choices"].first["message"]["content"]
60
60
  rescue => e
61
- error = JSON.parse(response.body)["error"]
62
- output = error["message"]
63
- output += "\n\nThis file is too large and should be looked at breaking it down into smaller files / services" if error["code"] == "context_length_exceeded"
64
-
65
- output
61
+ puts e.message
62
+ response.body
66
63
  end
67
64
  end
68
65
 
@@ -3,9 +3,8 @@ module BuilderApm
3
3
  isolate_namespace BuilderApm
4
4
 
5
5
  initializer 'builder_apm.start' do |app|
6
- BuilderApm::Controllers::Instrumenter.new.start if BuilderApm.configuration.enable_controller_profiler
6
+ BuilderApm::Controllers::Instrumenter.new.start
7
7
  BuilderApm::Models::Instrumenter.start if BuilderApm.configuration.enable_active_record_profiler
8
- BuilderApm::Methods::Instrumenter.new.start if BuilderApm.configuration.enable_methods_profiler
9
8
  end
10
9
 
11
10
  config.after_initialize do
@@ -10,6 +10,7 @@ module BuilderApm
10
10
  def start
11
11
  @trace = setup_trace
12
12
  @trace.enable
13
+ self
13
14
  end
14
15
 
15
16
  def stop
@@ -32,7 +33,7 @@ module BuilderApm
32
33
  return false unless Thread.current[:request_id]
33
34
 
34
35
  start_controller = Thread.current[:stack]&.first
35
- start_controller && "#{tp.defined_class}##{tp.method_id}" == start_controller[:method]
36
+ start_controller && "#{tp.defined_class}##{tp.method_id}" != start_controller[:method]
36
37
 
37
38
  # gems_to_track = BuilderApm.configuration.gems_to_track
38
39
  # gems_to_track.any? { |gem| tp.path.include?(File::SEPARATOR + gem) }
@@ -15,11 +15,12 @@ module BuilderApm
15
15
  Thread.current[:db_runtime] = 0
16
16
  Thread.current[:method_tracing] = 0
17
17
  Thread.current[:db_tracing] = 0
18
-
18
+ @trace = BuilderApm::Methods::Instrumenter.new.start if BuilderApm.configuration.enable_methods_profiler
19
+
19
20
  @status, @headers, @response = @app.call(env)
20
21
 
21
22
  ensure
22
-
23
+ @trace.stop if BuilderApm.configuration.enable_methods_profiler
23
24
  end_time = Time.now.to_f * 1000
24
25
  handle_timing(start_time, end_time, request_id)
25
26
 
@@ -1,3 +1,3 @@
1
1
  module BuilderApm
2
- VERSION = "0.5.7"
2
+ VERSION = "0.5.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: builder_apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Ketelle
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-21 00:00:00.000000000 Z
11
+ date: 2023-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -130,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  requirements: []
133
- rubygems_version: 3.1.0
133
+ rubygems_version: 3.1.4
134
134
  signing_key:
135
135
  specification_version: 4
136
136
  summary: Write a short summary, because RubyGems requires one.