marginalia 1.7.1 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -1
- data/lib/marginalia.rb +11 -2
- data/lib/marginalia/comment.rb +1 -1
- data/marginalia.gemspec +1 -1
- data/test/query_comments_test.rb +9 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2bf4536bf33fce1b7c806d0b2fec3cbe221b166
|
4
|
+
data.tar.gz: ed2d7dfeac456ce8a9f63f5257e63e7d05526f6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 255f216a7e47faa1a4d5e36f38a922d6abca36ce2f3a9c3189f2849a50c543237c9be76c1bf8abe9064f1b97d0c9d78379883271405e3e3781359be22ec08ed3
|
7
|
+
data.tar.gz: 0983b7a057ecb4cf56cd031572d6f498c8906daf8b7f67b8a5d7a9e7944128d23d27f78b8020d93c52ef5f6670d127e1a1c47da4aee6d96df1a7b0104f65887f
|
data/README.md
CHANGED
@@ -56,6 +56,8 @@ Optionally, you can set the application name shown in the log like so in an init
|
|
56
56
|
For Rails 3 applications, the name will default to your Rails application name.
|
57
57
|
For Rails 2 applications, "rails" is used as the default application name.
|
58
58
|
|
59
|
+
#### Components
|
60
|
+
|
59
61
|
You can also configure the components of the comment that will be appended,
|
60
62
|
by setting `Marginalia::Comment.components`. By default, this is set to:
|
61
63
|
|
@@ -100,7 +102,17 @@ With ActiveRecord >= 3.2.19:
|
|
100
102
|
|
101
103
|
Pull requests for other included comment components are welcome.
|
102
104
|
|
103
|
-
|
105
|
+
#### Prepend comments
|
106
|
+
|
107
|
+
By default marginalia appends the comments at the end of the query. Certain databases, such as MySQL will truncate
|
108
|
+
the query text. This is the case for slow query logs and the results of querying some InnoDB internal tables where the
|
109
|
+
length of the query is more than 1024 bytes.
|
110
|
+
|
111
|
+
In order to not lose the marginalia comments from your logs, you can prepend the comments using this option:
|
112
|
+
|
113
|
+
Marginalia::Comment.prepend_comment = true
|
114
|
+
|
115
|
+
#### Inline query annotations
|
104
116
|
|
105
117
|
In addition to the request or job-level component-based annotations,
|
106
118
|
Marginalia may be used to add inline annotations to specific queries using a
|
data/lib/marginalia.rb
CHANGED
@@ -49,12 +49,21 @@ module Marginalia
|
|
49
49
|
Marginalia::Comment.update_adapter!(self)
|
50
50
|
comment = Marginalia::Comment.construct_comment
|
51
51
|
if comment.present? && !sql.include?(comment)
|
52
|
-
sql =
|
52
|
+
sql = if Marginalia::Comment.prepend_comment
|
53
|
+
"/*#{comment}*/ #{sql}"
|
54
|
+
else
|
55
|
+
"#{sql} /*#{comment}*/"
|
56
|
+
end
|
53
57
|
end
|
54
58
|
inline_comment = Marginalia::Comment.construct_inline_comment
|
55
59
|
if inline_comment.present? && !sql.include?(inline_comment)
|
56
|
-
sql =
|
60
|
+
sql = if Marginalia::Comment.prepend_comment
|
61
|
+
"/*#{inline_comment}*/ #{sql}"
|
62
|
+
else
|
63
|
+
"#{sql} /*#{inline_comment}*/"
|
64
|
+
end
|
57
65
|
end
|
66
|
+
|
58
67
|
sql
|
59
68
|
end
|
60
69
|
|
data/lib/marginalia/comment.rb
CHANGED
@@ -2,7 +2,7 @@ require 'socket'
|
|
2
2
|
|
3
3
|
module Marginalia
|
4
4
|
module Comment
|
5
|
-
mattr_accessor :components, :lines_to_ignore
|
5
|
+
mattr_accessor :components, :lines_to_ignore, :prepend_comment
|
6
6
|
Marginalia::Comment.components ||= [:application, :controller, :action]
|
7
7
|
|
8
8
|
def self.update!(controller = nil)
|
data/marginalia.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |gem|
|
|
8
8
|
gem.test_files = `git ls-files -- {test}/*`.split("\n")
|
9
9
|
gem.name = "marginalia"
|
10
10
|
gem.require_paths = ["lib"]
|
11
|
-
gem.version = "1.
|
11
|
+
gem.version = "1.8.0"
|
12
12
|
gem.license = "MIT"
|
13
13
|
|
14
14
|
gem.add_runtime_dependency "actionpack", ">= 2.3"
|
data/test/query_comments_test.rb
CHANGED
@@ -348,6 +348,15 @@ class MarginaliaTest < MiniTest::Test
|
|
348
348
|
assert_match %r{select id from posts /\*foo\*/ /\*application:rails\*/$}, @queries.first
|
349
349
|
end
|
350
350
|
|
351
|
+
def test_add_comments_to_beginning_of_query
|
352
|
+
Marginalia::Comment.prepend_comment = true
|
353
|
+
|
354
|
+
ActiveRecord::Base.connection.execute "select id from posts"
|
355
|
+
assert_match %r{/\*application:rails\*/ select id from posts$}, @queries.first
|
356
|
+
ensure
|
357
|
+
Marginalia::Comment.prepend_comment = nil
|
358
|
+
end
|
359
|
+
|
351
360
|
def teardown
|
352
361
|
Marginalia.application_name = nil
|
353
362
|
Marginalia::Comment.lines_to_ignore = nil
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marginalia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Noah Lorang
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-03-
|
13
|
+
date: 2019-03-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: actionpack
|