norikra-client-jruby 0.0.4.jruby1-java → 0.0.5-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 383de04bc8eb474267a7bd76ba92a584fc5315a2
4
+ data.tar.gz: 01a37951189c7c91b27869d7f7162ee623af8e59
5
+ SHA512:
6
+ metadata.gz: 4c9dfd5e5fbde542a1ae4baf975727ed340aad2e3a1fd1a47968495aa5068515a9276050e07fa2a79f3e8b6b61a41b70a5cecbb9c9b216e5da706b3e0515a90f
7
+ data.tar.gz: 979531d399715d03a34616c4c409b95e90c809266dc9926bcc35fee67fcd7dbfd3708e6f93e2f0179412164338afd969f7112d329b4408bde33d6208eb05504e
@@ -9,6 +9,16 @@ class Norikra::Client
9
9
  def client(options)
10
10
  Norikra::Client.new(options[:host], options[:port])
11
11
  end
12
+ def wrap
13
+ begin
14
+ yield
15
+ rescue Norikra::RPC::ClientError => e
16
+ puts "Failed: " + e.message
17
+ rescue Norikra::RPC::ServerError => e
18
+ puts "ERROR on norikra server: " + e.message
19
+ puts " For more details, see norikra server's logs"
20
+ end
21
+ end
12
22
  end
13
23
 
14
24
  class Target < Thor
@@ -17,30 +27,36 @@ class Norikra::Client
17
27
  desc "list", "show list of targets"
18
28
  option :simple, :type => :boolean, :default => false, :desc => "suppress header/footer", :aliases => "-s"
19
29
  def list
20
- puts "TARGET" unless options[:simple]
21
- targets = client(parent_options).targets
22
- targets.each do |t|
23
- puts t
30
+ wrap do
31
+ puts "TARGET" unless options[:simple]
32
+ targets = client(parent_options).targets
33
+ targets.each do |t|
34
+ puts t
35
+ end
36
+ puts "#{targets.size} targets found." unless options[:simple]
24
37
  end
25
- puts "#{targets.size} targets found." unless options[:simple]
26
38
  end
27
39
 
28
40
  desc "open TARGET [fieldname1:type1 [fieldname2:type2 [fieldname3:type3] ...]]", "create new target (and define its fields)"
29
41
  def open(target, *field_defs)
30
- fields = nil
31
- if field_defs.size > 0
32
- fields = {}
33
- field_defs.each do |str|
34
- fname,ftype = str.split(':')
35
- fields[fname] = ftype
42
+ wrap do
43
+ fields = nil
44
+ if field_defs.size > 0
45
+ fields = {}
46
+ field_defs.each do |str|
47
+ fname,ftype = str.split(':')
48
+ fields[fname] = ftype
49
+ end
36
50
  end
51
+ client(parent_options).open(target, fields)
37
52
  end
38
- client(parent_options).open(target, fields)
39
53
  end
40
54
 
41
55
  desc "close TARGET", "close existing target and all its queries"
42
56
  def close(target)
43
- client(parent_options).close(target)
57
+ wrap do
58
+ client(parent_options).close(target)
59
+ end
44
60
  end
45
61
  end
46
62
 
@@ -50,22 +66,28 @@ class Norikra::Client
50
66
  desc "list", "show list of queries"
51
67
  option :simple, :type => :boolean, :default => false, :desc => "suppress header/footer", :aliases => "-s"
52
68
  def list
53
- puts "QUERY_NAME\tTARGETS\tQUERY" unless options[:simple]
54
- queries = client(parent_options).queries
55
- queries.sort{|a,b| (a['targets'].first <=> b['targets'].first).nonzero? || a['name'] <=> b['name']}.each do |q|
56
- puts "#{q['name']}\t#{q['targets'].join(',')}\t#{q['expression']}"
69
+ wrap do
70
+ puts "QUERY_NAME\tTARGETS\tQUERY" unless options[:simple]
71
+ queries = client(parent_options).queries
72
+ queries.sort{|a,b| (a['targets'].first <=> b['targets'].first).nonzero? || a['name'] <=> b['name']}.each do |q|
73
+ puts "#{q['name']}\t#{q['targets'].join(',')}\t#{q['expression']}"
74
+ end
75
+ puts "#{queries.size} queries found." unless options[:simple]
57
76
  end
58
- puts "#{queries.size} queries found." unless options[:simple]
59
77
  end
60
78
 
61
79
  desc "add QUERY_NAME QUERY_EXPRESSION", "register a query"
62
80
  def add(query_name, expression)
63
- client(parent_options).register(query_name, expression)
81
+ wrap do
82
+ client(parent_options).register(query_name, expression)
83
+ end
64
84
  end
65
85
 
66
86
  desc "remove QUERY_NAME", "deregister a query"
67
87
  def remove(query_name)
68
- client(parent_options).deregister(query_name)
88
+ wrap do
89
+ client(parent_options).deregister(query_name)
90
+ end
69
91
  end
70
92
  end
71
93
 
@@ -75,17 +97,21 @@ class Norikra::Client
75
97
  desc "list TARGET", "show list of field definitions of specified target"
76
98
  option :simple, :type => :boolean, :default => false, :desc => "suppress header/footer", :aliases => "-s"
77
99
  def list(target)
78
- puts "FIELD\tTYPE\tOPTIONAL" unless options[:simple]
79
- fields = client(parent_options).fields(target)
80
- fields.each do |f|
81
- puts "#{f['name']}\t#{f['type']}\t#{f['optional']}"
100
+ wrap do
101
+ puts "FIELD\tTYPE\tOPTIONAL" unless options[:simple]
102
+ fields = client(parent_options).fields(target)
103
+ fields.each do |f|
104
+ puts "#{f['name']}\t#{f['type']}\t#{f['optional']}"
105
+ end
106
+ puts "#{fields.size} fields found." unless options[:simple]
82
107
  end
83
- puts "#{fields.size} fields found." unless options[:simple]
84
108
  end
85
109
 
86
110
  desc "add TARGET FIELDNAME TYPE", "reserve fieldname and its type of target"
87
111
  def add(target, field, type)
88
- client(parent_options).reserve(target, field, type)
112
+ wrap do
113
+ client(parent_options).reserve(target, field, type)
114
+ end
89
115
  end
90
116
  end
91
117
 
@@ -96,17 +122,19 @@ class Norikra::Client
96
122
  option :format, :type => :string, :default => 'json', :desc => "format of input data per line of stdin [json(default), ltsv]"
97
123
  option :batch_size, :type => :numeric, :default => 10000, :desc => "records sent in once transferring (default: 10000)"
98
124
  def send(target)
99
- client = client(parent_options)
100
- parser = parser(options[:format])
101
- buffer = []
102
- $stdin.each_line do |line|
103
- buffer.push(parser.parse(line))
104
- if buffer.size >= options[:batch_size]
105
- client.send(target, buffer)
106
- buffer = []
125
+ wrap do
126
+ client = client(parent_options)
127
+ parser = parser(options[:format])
128
+ buffer = []
129
+ $stdin.each_line do |line|
130
+ buffer.push(parser.parse(line))
131
+ if buffer.size >= options[:batch_size]
132
+ client.send(target, buffer)
133
+ buffer = []
134
+ end
107
135
  end
136
+ client.send(target, buffer) if buffer.size > 0
108
137
  end
109
- client.send(target, buffer) if buffer.size > 0
110
138
  end
111
139
 
112
140
  desc "fetch QUERY_NAME", "fetch events from specified query"
@@ -114,12 +142,14 @@ class Norikra::Client
114
142
  option :time_key, :type => :string, :default => 'time', :desc => "output key name for event time (default: time)"
115
143
  option :time_format, :type => :string, :default => '%Y/%m/%d %H:%M:%S', :desc => "output time format (default: '2013/05/14 17:57:59')"
116
144
  def fetch(query_name)
117
- formatter = formatter(options[:format])
118
- time_formatter = lambda{|t| Time.at(t).strftime(options[:time_format])}
145
+ wrap do
146
+ formatter = formatter(options[:format])
147
+ time_formatter = lambda{|t| Time.at(t).strftime(options[:time_format])}
119
148
 
120
- client(parent_options).event(query_name).each do |time,event|
121
- event = {options[:time_key] => Time.at(time).strftime(options[:time_format])}.merge(event)
122
- puts formatter.format(event)
149
+ client(parent_options).event(query_name).each do |time,event|
150
+ event = {options[:time_key] => Time.at(time).strftime(options[:time_format])}.merge(event)
151
+ puts formatter.format(event)
152
+ end
123
153
  end
124
154
  end
125
155
 
@@ -129,19 +159,21 @@ class Norikra::Client
129
159
  option :time_key, :type => :string, :default => 'time', :desc => "output key name for event time (default: time)"
130
160
  option :time_format, :type => :string, :default => '%Y/%m/%d %H:%M:%S', :desc => "output time format (default: '2013/05/14 17:57:59')"
131
161
  def sweep
132
- formatter = formatter(options[:format])
133
- time_formatter = lambda{|t| Time.at(t).strftime(options[:time_format])}
134
-
135
- data = client(parent_options).sweep
136
-
137
- data.keys.sort.each do |queryname|
138
- events = data[queryname]
139
- events.each do |time,event|
140
- event = {
141
- options[:time_key] => Time.at(time).strftime(options[:time_format]),
142
- options[:query_name_key] => queryname,
143
- }.merge(event)
144
- puts formatter.format(event)
162
+ wrap do
163
+ formatter = formatter(options[:format])
164
+ time_formatter = lambda{|t| Time.at(t).strftime(options[:time_format])}
165
+
166
+ data = client(parent_options).sweep
167
+
168
+ data.keys.sort.each do |queryname|
169
+ events = data[queryname]
170
+ events.each do |time,event|
171
+ event = {
172
+ options[:time_key] => Time.at(time).strftime(options[:time_format]),
173
+ options[:query_name_key] => queryname,
174
+ }.merge(event)
175
+ puts formatter.format(event)
176
+ end
145
177
  end
146
178
  end
147
179
  end
@@ -1,5 +1,5 @@
1
1
  module Norikra
2
2
  class Client
3
- VERSION = "0.0.4.jruby1" # maintenance release for only jruby
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
@@ -3,6 +3,11 @@ require "norikra/client/version"
3
3
  require 'msgpack-rpc-over-http-jruby'
4
4
 
5
5
  module Norikra
6
+ module RPC
7
+ class ClientError < MessagePack::RPCOverHTTP::RemoteError; end
8
+ class ServerError < MessagePack::RPCOverHTTP::RemoteError; end
9
+ end
10
+
6
11
  class Client
7
12
  RPC_DEFAULT_PORT = 26571
8
13
  TIMEOUT_OPTIONS = [:connect_timeout, :send_timeout, :receive_timeout]
metadata CHANGED
@@ -1,96 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: norikra-client-jruby
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: 6
5
- version: 0.0.4.jruby1
4
+ version: 0.0.5
6
5
  platform: java
7
6
  authors:
8
7
  - TAGOMORI Satoshi
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-17 00:00:00.000000000 Z
11
+ date: 2013-08-07 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: msgpack-rpc-over-http-jruby
16
- version_requirements: !ruby/object:Gem::Requirement
15
+ requirement: !ruby/object:Gem::Requirement
17
16
  requirements:
18
17
  - - '>='
19
18
  - !ruby/object:Gem::Version
20
19
  version: 0.0.4
21
- none: false
22
- requirement: !ruby/object:Gem::Requirement
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.0.4
27
- none: false
28
- prerelease: false
29
- type: :runtime
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: thor
32
- version_requirements: !ruby/object:Gem::Requirement
29
+ requirement: !ruby/object:Gem::Requirement
33
30
  requirements:
34
31
  - - '>='
35
32
  - !ruby/object:Gem::Version
36
33
  version: '0'
37
- none: false
38
- requirement: !ruby/object:Gem::Requirement
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
39
37
  requirements:
40
38
  - - '>='
41
39
  - !ruby/object:Gem::Version
42
40
  version: '0'
43
- none: false
44
- prerelease: false
45
- type: :runtime
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: ltsv
48
- version_requirements: !ruby/object:Gem::Requirement
43
+ requirement: !ruby/object:Gem::Requirement
49
44
  requirements:
50
45
  - - '>='
51
46
  - !ruby/object:Gem::Version
52
47
  version: '0'
53
- none: false
54
- requirement: !ruby/object:Gem::Requirement
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
55
51
  requirements:
56
52
  - - '>='
57
53
  - !ruby/object:Gem::Version
58
54
  version: '0'
59
- none: false
60
- prerelease: false
61
- type: :runtime
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: bundler
64
- version_requirements: !ruby/object:Gem::Requirement
57
+ requirement: !ruby/object:Gem::Requirement
65
58
  requirements:
66
59
  - - ~>
67
60
  - !ruby/object:Gem::Version
68
61
  version: '1.3'
69
- none: false
70
- requirement: !ruby/object:Gem::Requirement
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
66
  - - ~>
73
67
  - !ruby/object:Gem::Version
74
68
  version: '1.3'
75
- none: false
76
- prerelease: false
77
- type: :development
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rake
80
- version_requirements: !ruby/object:Gem::Requirement
71
+ requirement: !ruby/object:Gem::Requirement
81
72
  requirements:
82
73
  - - '>='
83
74
  - !ruby/object:Gem::Version
84
75
  version: '0'
85
- none: false
86
- requirement: !ruby/object:Gem::Requirement
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
87
79
  requirements:
88
80
  - - '>='
89
81
  - !ruby/object:Gem::Version
90
82
  version: '0'
91
- none: false
92
- prerelease: false
93
- type: :development
94
83
  description: Client commands and libraries for Norikra
95
84
  email:
96
85
  - tagomoris@gmail.com
@@ -115,7 +104,8 @@ files:
115
104
  homepage: https://github.com/tagomoris/norikra-client
116
105
  licenses:
117
106
  - APLv2
118
- post_install_message:
107
+ metadata: {}
108
+ post_install_message:
119
109
  rdoc_options: []
120
110
  require_paths:
121
111
  - lib
@@ -124,17 +114,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
114
  - - '>='
125
115
  - !ruby/object:Gem::Version
126
116
  version: '0'
127
- none: false
128
117
  required_rubygems_version: !ruby/object:Gem::Requirement
129
118
  requirements:
130
- - - '>'
119
+ - - '>='
131
120
  - !ruby/object:Gem::Version
132
- version: 1.3.1
133
- none: false
121
+ version: '0'
134
122
  requirements: []
135
- rubyforge_project:
136
- rubygems_version: 1.8.24
137
- signing_key:
138
- specification_version: 3
123
+ rubyforge_project:
124
+ rubygems_version: 2.0.2
125
+ signing_key:
126
+ specification_version: 4
139
127
  summary: Client commands and libraries for Norikra
140
128
  test_files: []
129
+ has_rdoc: