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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9617d545ab8d02a5d52eba1a50a2623f20ae4e55
4
- data.tar.gz: 7e5af26f44fd021a19b69e18cc3a8d3f1dad90c7
2
+ SHA256:
3
+ metadata.gz: '09f100f447203d34c25804b21b62ee7b2a57e3c0b53060be86ddce4518d2ea8a'
4
+ data.tar.gz: 63d2fb97c402172228943758a7ec95eb0efb86fd9b3014625570afb744dc4edc
5
5
  SHA512:
6
- metadata.gz: dc12934048e4a46f4c2f29611cbae251462b2db930e99993c454fd9edceb8ec111152ffcb73dc7cbfc508d1d15c7813eb2702780a95730e151c69a8385b142d8
7
- data.tar.gz: 1cdcf563633f9a6883f11f21dd97809face44c54adf6058ea052dc41a47ea5296e91a6962bfacd6a3f5e43fd3630c6ff37cbcfd537e6b6f74d985b69dd87d4de
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 # com.facebook.presto.execution:name=QueryManager
65
- client.query_execution_metrics # com.facebook.presto.execution:name=QueryExecution
66
- client.node_scheduler_metrics # com.facebook.presto.execution:name=NodeScheduler
67
- client.task_executor_metrics # com.facebook.presto.execution:name=TaskExecutor
68
- client.task_manager_metrics # com.facebook.presto.execution:name=TaskManager
69
- client.cluster_memory_manager_metrics # com.facebook.presto.memory:name=ClusterMemoryManager
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' => 'com.facebook.presto.execution:name=QueryManager',
27
- 'query_execution' => 'com.facebook.presto.execution:name=QueryExecution',
28
- 'node_scheduler' => 'com.facebook.presto.execution:name=NodeScheduler',
29
- 'task_executor' => 'com.facebook.presto.execution:name=TaskExecutor',
30
- 'task_manager' => 'com.facebook.presto.execution:name=TaskManager',
31
- 'memory_pool_general' => 'com.facebook.presto.memory:type=MemoryPool,name=general',
32
- 'memory_pool_reserved' => 'com.facebook.presto.memory:type=MemoryPool,name=reserved',
33
- 'memory_pool_system' => 'com.facebook.presto.memory:type=MemoryPool,name=system',
34
- 'cluster_memory_manager' => 'com.facebook.presto.memory:name=ClusterMemoryManager',
35
- 'cluster_memory_pool_general' => 'com.facebook.presto.memory:type=ClusterMemoryPool,name=general',
36
- 'cluster_memory_pool_reserved' => 'com.facebook.presto.memory:type=ClusterMemoryPool,name=reserved',
37
- 'cluster_memory_pool_system' => 'com.facebook.presto.memory:type=ClusterMemoryPool,name=system',
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('com.facebook.presto.execution:name=QueryManager', target_attr)
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('com.facebook.presto.execution:name=QueryExecution', target_attr)
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('com.facebook.presto.execution:name=NodeScheduler', target_attr)
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('com.facebook.presto.execution:name=TaskExecutor', target_attr)
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('com.facebook.presto.execution:name=TaskManager', target_attr)
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', 'system'].each_with_object({}) {|type, hash|
221
- hash[type] = get_metrics("com.facebook.presto.memory:type=MemoryPool,name=#{type}", target_attr)
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', 'system'].each_with_object({}) {|type, hash|
227
- hash[type] = get_metrics("com.facebook.presto.memory:type=ClusterMemoryPool,name=#{type}", target_attr)
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("com.facebook.presto.memory:name=ClusterMemoryManager", target_attr)
233
+ get_metrics("presto.memory:name=ClusterMemoryManager", target_attr)
233
234
  end
234
235
 
235
236
 
@@ -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'] = qi['runningDrivers'] || 0
150
- h['queued_drivers'] = qi['queuedDrivers'] || 0
151
- h['completed_drivers'] = qi['completedDrivers'] || 0
152
- h['total_drivers'] = qi['totalDrivers'] || 0
153
- h['elapsed_time'] = qi['elapsedTime'] || '0.0m'
154
- h['create_time'] = qi['createTime']
155
- h['running_time'] = qi['endTime'] || Time.now.utc.iso8601(3)
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
@@ -1,5 +1,5 @@
1
1
  module Presto
2
2
  module Metrics
3
- VERSION = '0.3.11'
3
+ VERSION = '0.4.2'
4
4
  end
5
5
  end
@@ -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", "~> 1.7"
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.4.4'
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.3.11
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: 2016-01-18 00:00:00.000000000 Z
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: '1.7'
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: '1.7'
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.4.4
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.4.4
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
- rubyforge_project:
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