mmtop 1.1.0 → 1.2.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 +4 -4
- data/lib/mmtop/commands/basic.rb +28 -0
- data/lib/mmtop/filters/map_topology.rb +9 -4
- data/lib/mmtop/host.rb +2 -1
- data/lib/mmtop/term_printer.rb +1 -1
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e09aabaa1c7521869f8c71ebcdf377ccef19aafd
|
4
|
+
data.tar.gz: c22ad8441828e01e33666721b19f925329344926
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6ce83931dc20eeeec853c65eaba81af6454f9095eb5346947cf4316171e8d3766d8d1db7f843819ce11fc43eac60644ca19f4c8dbeb70f88d25712ad8be32a0
|
7
|
+
data.tar.gz: aa329db7374794f7e2f2d586da596728bd8324b072e340d6a0507d5ab3cd1ac663979e1776b3afe520925facef293b5f9a5441ee73b9a6195021ab5848d2adc3
|
data/lib/mmtop/commands/basic.rb
CHANGED
@@ -137,3 +137,31 @@ MMTop::Command.register do |c|
|
|
137
137
|
system("mysql --user='#{opt['user']}' --host='#{opt['host']}' --password='#{opt['password']}'")
|
138
138
|
end
|
139
139
|
end
|
140
|
+
|
141
|
+
MMTop::Command.register do |c|
|
142
|
+
c.regexp /^narrow (.*)/
|
143
|
+
c.usage "narrow HOST|off"
|
144
|
+
c.explain "only display queries on the cluster that contains HOST"
|
145
|
+
|
146
|
+
|
147
|
+
c.command do |cmd, config|
|
148
|
+
cmd =~ c.regexp
|
149
|
+
narrow_host = $1
|
150
|
+
|
151
|
+
MMTop::Topology.discover(config) # force discovery even if not configured
|
152
|
+
|
153
|
+
clusters = [[]]
|
154
|
+
config.hosts.each do |h|
|
155
|
+
if h.display_name =~ /^\s+\\/ # slave, starts with '\'. i know, i know.
|
156
|
+
clusters.last << h
|
157
|
+
else
|
158
|
+
clusters << [h]
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
clusters.each do |cluster|
|
163
|
+
matches = cluster.any? { |c| c.name == narrow_host || narrow_host.downcase == "off" }
|
164
|
+
cluster.each { |c| c.hide = !matches }
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
@@ -4,6 +4,14 @@ require 'socket'
|
|
4
4
|
|
5
5
|
module MMTop
|
6
6
|
class Topology
|
7
|
+
def self.discover(config)
|
8
|
+
if !config.options['topology.discovered']
|
9
|
+
config.options['topology.discovered'] = true
|
10
|
+
config.hosts = MMTop::Topology.new(config).new_hostlist
|
11
|
+
end
|
12
|
+
config
|
13
|
+
end
|
14
|
+
|
7
15
|
def initialize(config)
|
8
16
|
@config = config
|
9
17
|
end
|
@@ -113,10 +121,7 @@ module MMTop
|
|
113
121
|
end
|
114
122
|
|
115
123
|
Filter.add_filter("discover_topology") do |queries, hostinfo, config|
|
116
|
-
if config.options['discover_topology']
|
117
|
-
config.options['topology.discovered'] = true
|
118
|
-
config.hosts = MMTop::Topology.new(config).new_hostlist
|
119
|
-
end
|
124
|
+
MMTop::Topology.discover(config) if config.options['discover_topology']
|
120
125
|
end
|
121
126
|
|
122
127
|
MMTop::Command.register do |c|
|
data/lib/mmtop/host.rb
CHANGED
@@ -17,6 +17,7 @@ module MMTop
|
|
17
17
|
@last_queries = nil
|
18
18
|
@port = options['port'] || 3306
|
19
19
|
@hide_if_empty = options['hide_if_empty']
|
20
|
+
@hide = false
|
20
21
|
|
21
22
|
initialize_mysql2_cx(m2opts)
|
22
23
|
end
|
@@ -35,7 +36,7 @@ module MMTop
|
|
35
36
|
end
|
36
37
|
end
|
37
38
|
|
38
|
-
attr_accessor :display_name, :name, :comment, :options, :ip
|
39
|
+
attr_accessor :display_name, :name, :comment, :options, :ip, :hide
|
39
40
|
attr_reader :port
|
40
41
|
|
41
42
|
def hide_if_empty?
|
data/lib/mmtop/term_printer.rb
CHANGED
@@ -143,7 +143,7 @@ module MMTop
|
|
143
143
|
end
|
144
144
|
|
145
145
|
def print_host(info)
|
146
|
-
return if info.processlist.empty? && info.host.hide_if_empty?
|
146
|
+
return if (info.processlist.empty? && info.host.hide_if_empty?) || info.host.hide
|
147
147
|
|
148
148
|
display_name = info.host.display_name
|
149
149
|
if info.host.dead?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mmtop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Osheroff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mysql2
|
@@ -38,20 +38,6 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: debugger
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rake
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -139,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
125
|
version: '0'
|
140
126
|
requirements: []
|
141
127
|
rubyforge_project:
|
142
|
-
rubygems_version: 2.2.
|
128
|
+
rubygems_version: 2.2.3
|
143
129
|
signing_key:
|
144
130
|
specification_version: 4
|
145
131
|
summary: A mytop-ish variant that can watch many mysql servers
|