fluent-plugin-jfrog-metrics 0.2.5 → 0.2.7
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc48b6c9f8a51df6c59f938a6283e17751649320e9e02ec811ad05f2dd58fc0e
|
4
|
+
data.tar.gz: 8996298f2223575ae661e115a9eedf695d5fb14732bedc29e4b634bc69c20fa4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eee23ebb31284a6a358f618f30a2e6a735e12fc6956c92a22b347db1f128d1b27b908f508a110b4ee93372032f017a4b397c04a98d83662643275ea0137d0915
|
7
|
+
data.tar.gz: 30837a031c859b1a3882b42e7ba20665d097531bb116ef63434315476a6141d338cc11c7d5f3373d03131d6062987ff219e73e3d7d6abe3b431fac15052ea087
|
@@ -3,8 +3,8 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |spec|
|
5
5
|
spec.name = 'fluent-plugin-jfrog-metrics'
|
6
|
-
spec.version = '0.2.
|
7
|
-
spec.authors = ['MahithaB,
|
6
|
+
spec.version = '0.2.7'
|
7
|
+
spec.authors = ['MahithaB, BenHarosh']
|
8
8
|
spec.email = ['cpe-support@jfrog.com']
|
9
9
|
|
10
10
|
spec.summary = %q{Fluentd Plugin for converting JFrog Artifactory, Xray generated metrics (Prometheus Exposition Format) to target observability platform format (Splunk HEC, New Relic, Elastic)}
|
@@ -20,23 +20,17 @@ class DatadogMetricsParser < BaseMetricsParser
|
|
20
20
|
points = []
|
21
21
|
if interim_data =~ /{/ && interim_data =~ /}/
|
22
22
|
metric_name, additional_dims, metric_val_and_time = interim_data.match(/(.*){(.*)}(.*)/i).captures
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
end
|
30
|
-
else
|
31
|
-
attribute_name, attribute_value = additional_dims.split('=')
|
32
|
-
attribute_value = attribute_value.delete_prefix('"').delete_suffix('"')
|
33
|
-
attribute_tag = attribute_name + ':' + attribute_value
|
34
|
-
tags << attribute_tag
|
23
|
+
additional_dims.split("\",").each do |interim_data|
|
24
|
+
pair_data = interim_data.gsub("\"", "").gsub("{", "").gsub("}", "")
|
25
|
+
interim_data_value = pair_data.split("=", 2)[1]
|
26
|
+
interim_data_key = pair_data.split("=", 2)[0]
|
27
|
+
interim_data_tag = interim_data_key + ':' + interim_data_value
|
28
|
+
tags << interim_data_tag
|
35
29
|
end
|
36
30
|
if metric_val_and_time =~ / /
|
37
31
|
metrics_hash['metric'] = prefix + separator + metric_name
|
38
32
|
metric_timestamp = metric_val_and_time.strip.split[1]
|
39
|
-
point['timestamp'] = metric_timestamp[0,10].to_i
|
33
|
+
point['timestamp'] = metric_timestamp[0,10].to_i if metric_timestamp != nil
|
40
34
|
point['value'] = metric_val_and_time.strip.split[0] =~ /^\S*\.\S*$/ ? metric_val_and_time.strip.split[0].to_f : metric_val_and_time.strip.split[0].to_i
|
41
35
|
points << point
|
42
36
|
metrics_hash['points'] = points
|
@@ -37,7 +37,8 @@ module Fluent
|
|
37
37
|
config_param :username, :string, default: ''
|
38
38
|
config_param :apikey, :string, default: '', :secret => true
|
39
39
|
config_param :token, :string, default: '', :secret => true
|
40
|
-
config_param :
|
40
|
+
config_param :execution_interval, :time, default: 10
|
41
|
+
config_param :timeout_interval, :time, default: 30
|
41
42
|
config_param :metric_prefix, :string, default: ''
|
42
43
|
config_param :target_platform, :string, default: 'SPLUNK'
|
43
44
|
config_param :common_jpd, :bool, default: false
|
@@ -55,8 +56,6 @@ module Fluent
|
|
55
56
|
|
56
57
|
raise Fluent::ConfigError, 'Must define the apikey or token for authentication.' if @token == '' && @apikey == ''
|
57
58
|
|
58
|
-
raise Fluent::ConfigError, 'Must define the interval to use for gathering the metrics.' if @interval == ''
|
59
|
-
|
60
59
|
raise Fluent::ConfigError, 'Must define the metric_prefix to use for getting the metrics.' if @metric_prefix == ''
|
61
60
|
|
62
61
|
raise Fluent::ConfigError, 'Must define the vendor to use for getting the metrics.' if @target_platform == ''
|
@@ -77,17 +76,19 @@ module Fluent
|
|
77
76
|
|
78
77
|
def run
|
79
78
|
puts('Preparing metrics collection, creating timer task')
|
80
|
-
timer_task = Concurrent::TimerTask.new(execution_interval: @
|
79
|
+
timer_task = Concurrent::TimerTask.new(execution_interval: @execution_interval, timeout_interval: @timeout_interval, run_now: true) do
|
81
80
|
puts('Timer task execution')
|
82
81
|
do_execute
|
83
82
|
end
|
84
83
|
timer_task.execute
|
84
|
+
sleep 100
|
85
85
|
end
|
86
86
|
|
87
87
|
def do_execute
|
88
88
|
puts('Executing metrics collection')
|
89
89
|
metrics_helper = MetricsHelper.new(@metric_prefix, @jpd_url, @username, @apikey, @token, @common_jpd)
|
90
90
|
platform_metrics = metrics_helper.get_metrics
|
91
|
+
|
91
92
|
additional_metrics = metrics_helper.get_additional_metrics
|
92
93
|
if !additional_metrics.nil? && additional_metrics != ''
|
93
94
|
platform_metrics += additional_metrics.to_s
|
@@ -13,18 +13,18 @@ class NewRelicMetricsParser < BaseMetricsParser
|
|
13
13
|
hash_data_array = []
|
14
14
|
data_hash = {}
|
15
15
|
data_array = []
|
16
|
+
puts cleaned_data
|
16
17
|
cleaned_data.each do |interim_data|
|
17
18
|
metrics_hash = {}
|
18
19
|
if interim_data =~ /{/ && interim_data =~ /}/
|
19
20
|
attributes = {}
|
20
21
|
metric_name, additional_dims, metric_val_and_time = interim_data.match(/(.*){(.*)}(.*)/i).captures
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
attributes[attribute_name] = attribute_value.delete_prefix('"').delete_suffix('"')
|
22
|
+
additional_dims.split("\",").each do |interim_data|
|
23
|
+
puts interim_data
|
24
|
+
pair_data = interim_data.gsub("\"", "").gsub("{", "").gsub("}", "")
|
25
|
+
interim_data_value = pair_data.split("=", 2)[1]
|
26
|
+
interim_data_key = pair_data.split("=", 2)[0]
|
27
|
+
attributes[interim_data_key] = interim_data_value
|
28
28
|
end
|
29
29
|
if metric_val_and_time =~ / /
|
30
30
|
metrics_hash['name'] = prefix + separator + metric_name
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-jfrog-metrics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- MahithaB,
|
7
|
+
- MahithaB, BenHarosh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -153,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
153
|
- !ruby/object:Gem::Version
|
154
154
|
version: '0'
|
155
155
|
requirements: []
|
156
|
-
rubygems_version: 3.
|
156
|
+
rubygems_version: 3.5.3
|
157
157
|
signing_key:
|
158
158
|
specification_version: 4
|
159
159
|
summary: Fluentd Plugin for converting JFrog Artifactory, Xray generated metrics (Prometheus
|