embulk-input-prometheus 0.2.1 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 829671f96ca1f4489f990e3a2dba5cf539bdd888fbcffad8cff93b5744788913
4
- data.tar.gz: 2af65d084be7cecca2729f6874102685a66f6ada20b1b85b89b23a77f8cb811b
3
+ metadata.gz: 5c4678abf5e2d81464d84ecd69c9250008289de371552ceb60b77f80a3662464
4
+ data.tar.gz: 27ac784e4779847d3da7ed459b5a0e3d97dc989d4bbbe681ed2cbf4d76636966
5
5
  SHA512:
6
- metadata.gz: fe2ca162d24ead8705aaa9f099bf165b825dbd2e75f29987434bf2056e7227fb37ad32453dd7796592dc58f62a26c83662dca90bc17bc684004309bc2d7d5ad8
7
- data.tar.gz: bec7718ed6ca45d8a7310e85c49fb9fd088fe6f628cde84dc3215969ebecf4fbcace6c49364405c4a0df9446aaae96fe8017cc866ec4332ec17ea5a08b2a4428
6
+ metadata.gz: 653b7b277ae38786e041fc423605f210d9abc1e2e054f199e41d3c36616939e5ad2934bc789d79de942e7c34a0033bdc21116eae6360b3d3eeda745814d4c74a
7
+ data.tar.gz: '082d0ab71d03d8264588ae98d3389dceecae6e92aed6f760380f25f194fad64bdaebd4c8216d7c090c17580b90e3e843b00199abc8f6144830ed881f07ce7bf5'
@@ -1,7 +1,7 @@
1
1
 
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = "embulk-input-prometheus"
4
- spec.version = "0.2.1"
4
+ spec.version = "0.3.0"
5
5
  spec.authors = ["pyama86"]
6
6
  spec.summary = "Prometheus input plugin for Embulk"
7
7
  spec.description = "Loads records from Prometheus."
@@ -2,6 +2,7 @@ require 'prometheus/api_client'
2
2
  require 'openssl'
3
3
  require 'json'
4
4
  require 'pp'
5
+ require 'time'
5
6
 
6
7
  module Embulk
7
8
  module Input
@@ -12,7 +13,9 @@ module Embulk
12
13
  task = {
13
14
  "url" => config.param("url", :string, default: 'http://localhost:9090/api/v1/'),
14
15
  "query" => config.param("query", :string),
15
- "since" => config.param("since", :integer),
16
+ "since" => config.param("since", :integer, default: 0),
17
+ "start_at" => config.param("start_at", :string, default: nil),
18
+ "end_at" => config.param("end_at", :string, default: nil),
16
19
  "step" => config.param("step", :integer),
17
20
  "element_key" => config.param("element_key", :string, default: 'instance'),
18
21
  "tls" => config.param("tls", :hash, default: nil),
@@ -59,11 +62,22 @@ module Embulk
59
62
  params[:options][n.to_sym] = task[n] if task[n]
60
63
  end
61
64
 
65
+ start_at = if task['start_at'] && !task['start_at'].empty?
66
+ Time.parse(task['start_at'])
67
+ else
68
+ Time.now - task['since']
69
+ end
70
+ end_at = if task['end_at'] && !task['end_at'].empty?
71
+ Time.parse(task['end_at'])
72
+ else
73
+ Time.now
74
+ end
75
+
62
76
  result = JSON.parse(::Prometheus::ApiClient.client(params).get(
63
77
  'query_range',
64
78
  query: task['query'],
65
- start: (Time.now - task['since']).strftime("%Y-%m-%dT%H:%M:%S.%LZ"),
66
- end: Time.now.strftime("%Y-%m-%dT%H:%M:%S.%LZ"),
79
+ start: start_at.strftime("%Y-%m-%dT%H:%M:%S.%LZ"),
80
+ end: end_at.strftime("%Y-%m-%dT%H:%M:%S.%LZ"),
67
81
  step: "#{task['step']}s",
68
82
  ).body)
69
83
 
metadata CHANGED
@@ -1,85 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-input-prometheus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - pyama86
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-28 00:00:00.000000000 Z
11
+ date: 2020-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: prometheus-api-client
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '0'
19
+ name: prometheus-api-client
20
+ prerelease: false
21
+ type: :runtime
20
22
  version_requirements: !ruby/object:Gem::Requirement
21
23
  requirements:
22
24
  - - ">="
23
25
  - !ruby/object:Gem::Version
24
26
  version: '0'
25
- prerelease: false
26
- type: :runtime
27
27
  - !ruby/object:Gem::Dependency
28
- name: faraday
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
32
  version: '0.9'
33
+ name: faraday
34
+ prerelease: false
35
+ type: :runtime
34
36
  version_requirements: !ruby/object:Gem::Requirement
35
37
  requirements:
36
38
  - - "~>"
37
39
  - !ruby/object:Gem::Version
38
40
  version: '0.9'
39
- prerelease: false
40
- type: :runtime
41
41
  - !ruby/object:Gem::Dependency
42
- name: embulk
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - ">="
46
45
  - !ruby/object:Gem::Version
47
46
  version: 0.8.39
47
+ name: embulk
48
+ prerelease: false
49
+ type: :development
48
50
  version_requirements: !ruby/object:Gem::Requirement
49
51
  requirements:
50
52
  - - ">="
51
53
  - !ruby/object:Gem::Version
52
54
  version: 0.8.39
53
- prerelease: false
54
- type: :development
55
55
  - !ruby/object:Gem::Dependency
56
- name: bundler
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - ">="
60
59
  - !ruby/object:Gem::Version
61
60
  version: 1.10.6
61
+ name: bundler
62
+ prerelease: false
63
+ type: :development
62
64
  version_requirements: !ruby/object:Gem::Requirement
63
65
  requirements:
64
66
  - - ">="
65
67
  - !ruby/object:Gem::Version
66
68
  version: 1.10.6
67
- prerelease: false
68
- type: :development
69
69
  - !ruby/object:Gem::Dependency
70
- name: rake
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
72
  - - ">="
74
73
  - !ruby/object:Gem::Version
75
74
  version: '10.0'
75
+ name: rake
76
+ prerelease: false
77
+ type: :development
76
78
  version_requirements: !ruby/object:Gem::Requirement
77
79
  requirements:
78
80
  - - ">="
79
81
  - !ruby/object:Gem::Version
80
82
  version: '10.0'
81
- prerelease: false
82
- type: :development
83
83
  description: Loads records from Prometheus.
84
84
  email:
85
85
  - pyama@pepabo.com