philbot-scheduler 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/scheduler.rb +41 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 619636640515c937f6d0f2464fffaae5500c03019a345a977805b61552e86c21
|
4
|
+
data.tar.gz: 02011301505aedec38fab8513d450945a31f46e3eaaa6c835b23509dfa2cc4b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9765f2437034db45d71730aa88882342f1337379e2cd1ecb623b0f72c8cb96b94eadf2e29f92c265c725cc19730652b91c810372f9f7306adc1f2c62c15b5888
|
7
|
+
data.tar.gz: f2660b12dde62790d8167d408ebf07725441079ca11e059a68d391d91aa3c9c6ef90f09130df44b61132011e9fc12762c0dd2d2576b2269a8f2ab8d7d22917c8
|
data/lib/scheduler.rb
CHANGED
@@ -65,12 +65,52 @@ module DynatraceResourceDetector
|
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
+
module OracleResourceDetector
|
69
|
+
extend self
|
70
|
+
|
71
|
+
def detect
|
72
|
+
begin
|
73
|
+
metadata = fetch_metadata
|
74
|
+
resource_attributes = {
|
75
|
+
OpenTelemetry::SemanticConventions::Resource::CLOUD_PROVIDER => 'oracle',
|
76
|
+
OpenTelemetry::SemanticConventions::Resource::CLOUD_AVAILABILITY_ZONE => metadata['availabilityDomain'],
|
77
|
+
OpenTelemetry::SemanticConventions::Resource::CLOUD_ACCOUNT_ID => metadata['tenantId'],
|
78
|
+
OpenTelemetry::SemanticConventions::Resource::CLOUD_REGION => metadata['region'],
|
79
|
+
OpenTelemetry::SemanticConventions::Resource::HOST_TYPE => metadata['shape'],
|
80
|
+
OpenTelemetry::SemanticConventions::Resource::HOST_NAME => metadata['hostname'],
|
81
|
+
OpenTelemetry::SemanticConventions::Resource::HOST_ID => metadata['id'],
|
82
|
+
OpenTelemetry::SemanticConventions::Resource::HOST_IMAGE_ID => metadata['image']
|
83
|
+
}
|
84
|
+
resource_attributes.delete_if { |_key, value| value.nil? || value.empty? }
|
85
|
+
return OpenTelemetry::SDK::Resources::Resource.create(resource_attributes)
|
86
|
+
rescue StandardError => e
|
87
|
+
puts "Error fetching metadata: #{e.message}"
|
88
|
+
return OpenTelemetry::SDK::Resources::Resource.create({})
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
private
|
93
|
+
|
94
|
+
def fetch_metadata
|
95
|
+
uri = URI('http://169.254.169.254/opc/v1/instance/')
|
96
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
97
|
+
request = Net::HTTP::Get.new(uri)
|
98
|
+
request['Authorization'] = 'Bearer Oracle'
|
99
|
+
|
100
|
+
response = http.request(request)
|
101
|
+
raise "Failed to fetch metadata: #{response.message}" unless response.code == '200'
|
102
|
+
|
103
|
+
JSON.parse(response.body)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
|
68
108
|
OpenTelemetry::SDK.configure do |c|
|
69
109
|
c.resource = DynatraceResourceDetector.detect
|
70
110
|
c.resource = AwsEC2ResourceDetector.detect
|
71
111
|
c.resource = ServiceResourceDetector.detect
|
72
112
|
c.resource = OpenTelemetry::Resource::Detectors::AutoDetector.detect
|
73
|
-
|
113
|
+
c.resource = OracleResourceDetector.detect
|
74
114
|
c.add_span_processor(
|
75
115
|
OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
|
76
116
|
OpenTelemetry::Exporter::OTLP::Exporter.new(
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: philbot-scheduler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Philipp Lengauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: ''
|
14
14
|
email: p.lengauer@gmail.com
|