presto-metrics 0.3.11 → 0.4.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 +5 -5
- data/README.md +13 -6
- data/lib/presto/metrics/client.rb +24 -23
- data/lib/presto/metrics/query.rb +8 -7
- data/lib/presto/metrics/version.rb +1 -1
- data/presto-metrics.gemspec +2 -2
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: '09f100f447203d34c25804b21b62ee7b2a57e3c0b53060be86ddce4518d2ea8a'
|
4
|
+
data.tar.gz: 63d2fb97c402172228943758a7ec95eb0efb86fd9b3014625570afb744dc4edc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0beaa114d8a79d0f44539d5e2ceb8135056bcb74cd16ec4ba119e01f76f5563ad126c22d468aaf3308c064eedc9086db7024eb8cad7e116e7e942127e99a3aa3
|
7
|
+
data.tar.gz: a2eb30bf49793be327e984b205daf28d92b001157b2cc0a6071795eb3dc9ad517d7eeb894226de3ad8435867f121f15decdd1922f2cd07387e31b6f4e19a2773
|
data/README.md
CHANGED
@@ -61,12 +61,12 @@ client.os_metrics # java.lang:type=OperatingSystm
|
|
61
61
|
client.gc_cms_metrics # java.lang:type=GarbageCollector,name=ConcurrentMarkSweep
|
62
62
|
client.gc_parnew_metrics # java.lang:type=GarbageCollector,name=ParNew
|
63
63
|
client.gc_g1_metrics # java.lang:type=GarbageCollector,name=G1 Young Generation and G1 Old Genration
|
64
|
-
client.query_manager_metrics #
|
65
|
-
client.query_execution_metrics #
|
66
|
-
client.node_scheduler_metrics #
|
67
|
-
client.task_executor_metrics #
|
68
|
-
client.task_manager_metrics #
|
69
|
-
client.cluster_memory_manager_metrics #
|
64
|
+
client.query_manager_metrics # presto.execution:name=QueryManager
|
65
|
+
client.query_execution_metrics # presto.execution:name=QueryExecution
|
66
|
+
client.node_scheduler_metrics # presto.execution:name=NodeScheduler
|
67
|
+
client.task_executor_metrics # presto.execution:name=TaskExecutor
|
68
|
+
client.task_manager_metrics # presto.execution:name=TaskManager
|
69
|
+
client.cluster_memory_manager_metrics # presto.memory:name=ClusterMemoryManager
|
70
70
|
|
71
71
|
# Memory resource manager metrics (since Presto 0.103)
|
72
72
|
client.memory_pool_metrics
|
@@ -251,3 +251,10 @@ irb> load "presto/metrics/client.rb"
|
|
251
251
|
|
252
252
|
```
|
253
253
|
|
254
|
+
|
255
|
+
### Releasing a new version
|
256
|
+
```
|
257
|
+
# Update version in lib/presto/metrics/version.rb
|
258
|
+
# Publish to RubyGem
|
259
|
+
$ bundle exec rake release
|
260
|
+
```
|
@@ -16,6 +16,7 @@ module Presto
|
|
16
16
|
@query_path = opts[:query_path] || '/v1/query'
|
17
17
|
@node_path = opts[:node_path] || '/v1/node'
|
18
18
|
@caml_case = opts[:caml_case] || false
|
19
|
+
@headers = opts[:headers] || {}
|
19
20
|
end
|
20
21
|
|
21
22
|
@@MBEAN_ALIAS = {
|
@@ -23,18 +24,18 @@ module Presto
|
|
23
24
|
'gc_cms' => 'java.lang:type=GarbageCollector,name=ConcurrentMarkSweep',
|
24
25
|
'gc_parnew' => 'java.lang:type=GarbageCollector,name=ParNew',
|
25
26
|
'os' => 'java.lang:type=OperatingSystem',
|
26
|
-
'query_manager' => '
|
27
|
-
'query_execution' => '
|
28
|
-
'
|
29
|
-
'task_executor' => '
|
30
|
-
'task_manager' => '
|
31
|
-
'memory_pool_general' => '
|
32
|
-
'memory_pool_reserved' => '
|
33
|
-
'
|
34
|
-
'
|
35
|
-
'
|
36
|
-
'
|
37
|
-
'
|
27
|
+
'query_manager' => 'presto.execution:name=QueryManager',
|
28
|
+
'query_execution' => 'presto.execution:name=QueryExecution',
|
29
|
+
'split_scheduler_stats' => 'presto.execution.scheduler:name=SplitSchedulerStats',
|
30
|
+
'task_executor' => 'presto.execution.executor:name=TaskExecutor',
|
31
|
+
'task_manager' => 'presto.execution:name=TaskManager',
|
32
|
+
'memory_pool_general' => 'presto.memory:type=MemoryPool,name=general',
|
33
|
+
'memory_pool_reserved' => 'presto.memory:type=MemoryPool,name=reserved',
|
34
|
+
'cluster_memory_manager' => 'presto.memory:name=ClusterMemoryManager',
|
35
|
+
'cluster_memory_pool_general' => 'presto.memory:type=ClusterMemoryPool,name=general',
|
36
|
+
'cluster_memory_pool_reserved' => 'presto.memory:type=ClusterMemoryPool,name=reserved',
|
37
|
+
'discovery_node_manager' => 'presto.metadata:name=DiscoveryNodeManager',
|
38
|
+
'pause_meter' => 'io.airlift.stats:name=PauseMeter',
|
38
39
|
}
|
39
40
|
|
40
41
|
def path(path)
|
@@ -79,7 +80,7 @@ module Presto
|
|
79
80
|
end
|
80
81
|
|
81
82
|
def get(path, default='{}')
|
82
|
-
resp = HTTParty.get(URI.encode("#{@endpoint}#{path}"))
|
83
|
+
resp = HTTParty.get(URI.encode("#{@endpoint}#{path}"), headers: @headers)
|
83
84
|
if resp.code == 200
|
84
85
|
resp.body
|
85
86
|
else
|
@@ -197,39 +198,39 @@ module Presto
|
|
197
198
|
end
|
198
199
|
|
199
200
|
def query_manager_metrics(target_attr=[])
|
200
|
-
get_metrics('
|
201
|
+
get_metrics('presto.execution:name=QueryManager', target_attr)
|
201
202
|
end
|
202
203
|
|
203
204
|
def query_execution_metrics(target_attr=[])
|
204
|
-
get_metrics('
|
205
|
+
get_metrics('presto.execution:name=QueryExecution', target_attr)
|
205
206
|
end
|
206
207
|
|
207
208
|
def node_scheduler_metrics(target_attr=[])
|
208
|
-
get_metrics('
|
209
|
+
get_metrics('presto.execution:name=NodeScheduler', target_attr)
|
209
210
|
end
|
210
211
|
|
211
212
|
def task_executor_metrics(target_attr=[])
|
212
|
-
get_metrics('
|
213
|
+
get_metrics('presto.execution:name=TaskExecutor', target_attr)
|
213
214
|
end
|
214
215
|
|
215
216
|
def task_manager_metrics(target_attr=[])
|
216
|
-
get_metrics('
|
217
|
+
get_metrics('presto.execution:name=TaskManager', target_attr)
|
217
218
|
end
|
218
219
|
|
219
220
|
def memory_pool_metrics(target_attr=[])
|
220
|
-
['general', 'reserved'
|
221
|
-
hash[type] = get_metrics("
|
221
|
+
['general', 'reserved'].each_with_object({}) {|type, hash|
|
222
|
+
hash[type] = get_metrics("presto.memory:type=MemoryPool,name=#{type}", target_attr)
|
222
223
|
}
|
223
224
|
end
|
224
225
|
|
225
226
|
def cluster_memory_pool_metrics(target_attr=[])
|
226
|
-
['general', 'reserved'
|
227
|
-
hash[type] = get_metrics("
|
227
|
+
['general', 'reserved'].each_with_object({}) {|type, hash|
|
228
|
+
hash[type] = get_metrics("presto.memory:type=ClusterMemoryPool,name=#{type}", target_attr)
|
228
229
|
}
|
229
230
|
end
|
230
231
|
|
231
232
|
def cluster_memory_manager_metrics(target_attr=[])
|
232
|
-
get_metrics("
|
233
|
+
get_metrics("presto.memory:name=ClusterMemoryManager", target_attr)
|
233
234
|
end
|
234
235
|
|
235
236
|
|
data/lib/presto/metrics/query.rb
CHANGED
@@ -144,15 +144,16 @@ module Presto
|
|
144
144
|
h['query_id'] = qi['queryId'] || ''
|
145
145
|
h['state'] = qi['state'] || ''
|
146
146
|
session = qi['session'] || {}
|
147
|
+
stats = qi['queryStats'] || {}
|
147
148
|
h['source'] = session['source'] || ''
|
148
149
|
h['user'] = session['user'] || h['source'].gsub(/[^a-zA-Z0-9]/, '')
|
149
|
-
h['running_drivers'] =
|
150
|
-
h['queued_drivers'] =
|
151
|
-
h['completed_drivers'] =
|
152
|
-
h['total_drivers'] =
|
153
|
-
h['elapsed_time'] =
|
154
|
-
h['create_time'] =
|
155
|
-
h['running_time'] =
|
150
|
+
h['running_drivers'] = stats['runningDrivers'] || 0
|
151
|
+
h['queued_drivers'] = stats['queuedDrivers'] || 0
|
152
|
+
h['completed_drivers'] = stats['completedDrivers'] || 0
|
153
|
+
h['total_drivers'] = stats['totalDrivers'] || 0
|
154
|
+
h['elapsed_time'] = stats['elapsedTime'] || '0.0m'
|
155
|
+
h['create_time'] = stats['createTime']
|
156
|
+
h['running_time'] = stats['endTime'] || Time.now.utc.iso8601(3) # end_time ?
|
156
157
|
#if(h['state'] == "FAILED")
|
157
158
|
# h['errorCode'] = find(h['query_id'])['errorCode'] || {}
|
158
159
|
#end
|
data/presto-metrics.gemspec
CHANGED
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency "bundler", "~>
|
21
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
22
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
23
|
spec.add_development_dependency "rspec"
|
24
|
-
spec.add_development_dependency "presto-client", '~> 0.
|
24
|
+
spec.add_development_dependency "presto-client", '~> 0.5.6'
|
25
25
|
spec.add_development_dependency "httpclient"
|
26
26
|
|
27
27
|
spec.add_runtime_dependency "httparty"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: presto-metrics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taro L. Saito
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :development
|
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: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.5.6
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.5.6
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: httpclient
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -135,8 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: '0'
|
137
137
|
requirements: []
|
138
|
-
|
139
|
-
rubygems_version: 2.4.5
|
138
|
+
rubygems_version: 3.2.25
|
140
139
|
signing_key:
|
141
140
|
specification_version: 4
|
142
141
|
summary: A library for collecting metrics of Presto, a distributed SQL engine
|