telemetria 0.1.0 → 0.1.1
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/.rspec +1 -0
- data/README.md +49 -4
- data/lib/telemetria.rb +10 -2
- data/lib/telemetria/adapter.rb +23 -0
- data/lib/telemetria/adapters/influxdb.rb +26 -0
- data/lib/telemetria/client.rb +22 -0
- data/lib/telemetria/config.rb +28 -0
- data/lib/telemetria/version.rb +1 -1
- data/telemetria.gemspec +5 -0
- metadata +62 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac420037f6c46963db3637b85e50639956b68d2b
|
4
|
+
data.tar.gz: 7810ed3cae0088edf592591ce205645603af3ebb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a788994f95f9480d65d0217772b3e350bece8032e6c417674dd9bb459db7ebe728960e09cdb7b48c33aafdd76a5c5172d472c37ffb81c817c38a3ad0434face
|
7
|
+
data.tar.gz: 326e37a34adeecd6fa7b593d8fca9e4d0f21e71780a187f82045ce8e989fe1826ebdd9406c0dd13ce4370467b614274f84e54fab265c2bb5c69eac82db2b7579
|
data/.rspec
CHANGED
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# Telemetria
|
2
2
|
|
3
|
-
|
3
|
+
[](https://travis-ci.org/gabrielpedepera/telemetria)
|
4
4
|
|
5
|
-
|
5
|
+
Ruby agent to track and send data to Telemetria
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
@@ -22,7 +22,52 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
|
25
|
+
```ruby
|
26
|
+
adapter = Telemetria::InfluxDB.new(host: 'localhost', port: '8086', database: 'my_data')
|
27
|
+
telemetria = Telemetria::Client.new(adapter)
|
28
|
+
|
29
|
+
telemetria.create
|
30
|
+
telemetria.delete
|
31
|
+
```
|
32
|
+
|
33
|
+
or
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
Telemetria.configure do |config|
|
37
|
+
config.adapter = InfluxDB
|
38
|
+
config.database = 'database'
|
39
|
+
config.host = '127.0.0.1'
|
40
|
+
config.port = '8087'
|
41
|
+
end
|
42
|
+
|
43
|
+
telemetria = Telemetria::Client.new
|
44
|
+
|
45
|
+
telemetria.create
|
46
|
+
telemetria.delete
|
47
|
+
```
|
48
|
+
|
49
|
+
### write_data
|
50
|
+
|
51
|
+
```ruby
|
52
|
+
data = {
|
53
|
+
series: 'simple_message',
|
54
|
+
values: {
|
55
|
+
identifier: 'da807d4622a8e37d6fdd1a62',
|
56
|
+
url: 'http://google.com.br',
|
57
|
+
method: 'GET',
|
58
|
+
seller_id: '131231',
|
59
|
+
source: '11312',
|
60
|
+
queue: '31'
|
61
|
+
},
|
62
|
+
tags: {
|
63
|
+
queue: 'teste',
|
64
|
+
seller_id: 3123
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
telemetria.write_data(data)
|
69
|
+
```
|
70
|
+
|
26
71
|
|
27
72
|
## Development
|
28
73
|
|
@@ -32,5 +77,5 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
32
77
|
|
33
78
|
## Contributing
|
34
79
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
80
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/gabrielpedepera/telemetria.
|
36
81
|
|
data/lib/telemetria.rb
CHANGED
@@ -1,5 +1,13 @@
|
|
1
|
-
require
|
1
|
+
require 'telemetria/version'
|
2
|
+
require 'telemetria/client'
|
3
|
+
require 'telemetria/config'
|
4
|
+
require 'telemetria/adapter'
|
5
|
+
|
6
|
+
require 'telemetria/adapters/influxdb'
|
7
|
+
|
8
|
+
require 'log-me'
|
2
9
|
|
3
10
|
module Telemetria
|
4
|
-
|
11
|
+
extend Config
|
12
|
+
extend LogMe
|
5
13
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Telemetria
|
2
|
+
class Adapter
|
3
|
+
attr_accessor :client, :database, :host, :port
|
4
|
+
|
5
|
+
def initialize(attrs = {})
|
6
|
+
self.database = attrs[:database]
|
7
|
+
self.host = attrs[:host]
|
8
|
+
self.port = attrs[:port]
|
9
|
+
end
|
10
|
+
|
11
|
+
def write_data
|
12
|
+
raise NotImplementedError
|
13
|
+
end
|
14
|
+
|
15
|
+
def create
|
16
|
+
raise NotImplementedError
|
17
|
+
end
|
18
|
+
|
19
|
+
def delete
|
20
|
+
raise NotImplementedError
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'influxdb'
|
2
|
+
|
3
|
+
module Telemetria
|
4
|
+
class InfluxDB < Adapter
|
5
|
+
def initialize(args = {})
|
6
|
+
super(
|
7
|
+
database: args[:database],
|
8
|
+
host: args[:host],
|
9
|
+
port: args[:port]
|
10
|
+
)
|
11
|
+
self.client ||= ::InfluxDB::Client.new(database, args)
|
12
|
+
end
|
13
|
+
|
14
|
+
def create
|
15
|
+
client.create_database(database)
|
16
|
+
end
|
17
|
+
|
18
|
+
def delete
|
19
|
+
client.delete_database(database)
|
20
|
+
end
|
21
|
+
|
22
|
+
def write_data(points = {})
|
23
|
+
client.write_points(points)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Telemetria
|
2
|
+
class Client
|
3
|
+
|
4
|
+
attr_accessor :adapter
|
5
|
+
|
6
|
+
def initialize(adapter = Telemetria.default_adapter)
|
7
|
+
self.adapter = adapter
|
8
|
+
end
|
9
|
+
|
10
|
+
def write_data(points = {})
|
11
|
+
adapter.write_data(points)
|
12
|
+
end
|
13
|
+
|
14
|
+
def create
|
15
|
+
adapter.create
|
16
|
+
end
|
17
|
+
|
18
|
+
def delete
|
19
|
+
adapter.delete
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Telemetria
|
2
|
+
module Config
|
3
|
+
attr_accessor :adapter
|
4
|
+
attr_writer :database
|
5
|
+
attr_writer :host
|
6
|
+
attr_writer :port
|
7
|
+
|
8
|
+
def adapter
|
9
|
+
@adapter ||= InfluxDB
|
10
|
+
end
|
11
|
+
|
12
|
+
def database
|
13
|
+
@database ||= 'telemetria'
|
14
|
+
end
|
15
|
+
|
16
|
+
def host
|
17
|
+
@host ||= 'localhost'
|
18
|
+
end
|
19
|
+
|
20
|
+
def port
|
21
|
+
@port ||= '8086'
|
22
|
+
end
|
23
|
+
|
24
|
+
def default_adapter
|
25
|
+
Telemetria::InfluxDB.new(host: host, port: port, database: database)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/telemetria/version.rb
CHANGED
data/telemetria.gemspec
CHANGED
@@ -19,7 +19,12 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
+
spec.add_dependency 'influxdb'
|
23
|
+
spec.add_dependency 'log-me'
|
24
|
+
|
22
25
|
spec.add_development_dependency 'bundler', '~> 1.14'
|
23
26
|
spec.add_development_dependency 'rake', '~> 10.0'
|
24
27
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
28
|
+
spec.add_development_dependency 'webmock'
|
29
|
+
spec.add_development_dependency 'pry'
|
25
30
|
end
|
metadata
CHANGED
@@ -1,15 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: telemetria
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gabriel Pereira
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: influxdb
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: log-me
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
13
41
|
- !ruby/object:Gem::Dependency
|
14
42
|
name: bundler
|
15
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +80,34 @@ dependencies:
|
|
52
80
|
- - "~>"
|
53
81
|
- !ruby/object:Gem::Version
|
54
82
|
version: '3.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: webmock
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
55
111
|
description: Ruby Agent to collect and send data for Telemetria
|
56
112
|
email:
|
57
113
|
- gabrielpedepera@gmail.com
|
@@ -68,6 +124,10 @@ files:
|
|
68
124
|
- bin/console
|
69
125
|
- bin/setup
|
70
126
|
- lib/telemetria.rb
|
127
|
+
- lib/telemetria/adapter.rb
|
128
|
+
- lib/telemetria/adapters/influxdb.rb
|
129
|
+
- lib/telemetria/client.rb
|
130
|
+
- lib/telemetria/config.rb
|
71
131
|
- lib/telemetria/version.rb
|
72
132
|
- telemetria.gemspec
|
73
133
|
homepage:
|