philbot-scheduler 1.4.1 → 1.4.3
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 +25 -17
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e674d7add924bdb7978ee4403e9f8ca2c000b9bc78c8e927248ff54241146fa5
|
4
|
+
data.tar.gz: b627ad19f9641b6221a5dfb8260e74aaf568e2a8f0869219d67b56e5a996afe7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9714a65d4eb96f656c102839248b2f55aed614fa599e7122e9409ee650e6dc47e1c52836ae150102856f399a037a199f5e7b2ef7209ab0e646015e9af70b6d5e
|
7
|
+
data.tar.gz: a311e201411c88bb48f7583ee62804ca034e8ae38669fda1f54f8772fa91e0026773c4427abf24bede5c23d63520cf5f53938f5be5920c160a007c8f5a834e1b
|
data/lib/scheduler.rb
CHANGED
@@ -25,28 +25,36 @@ module ServiceResourceDetector
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
req = Net::HTTP::Put.new(path, initheader = { 'Content-Type' => 'text/plain'})
|
29
|
+
req.body = "whatever"
|
30
|
+
response = Net::HTTP.new(host, port).start {|http| http.request(req) }
|
31
|
+
puts response.code
|
32
|
+
|
33
|
+
|
28
34
|
module AwsEC2ResourceDetector
|
29
35
|
extend self
|
30
36
|
|
31
37
|
def detect
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
38
|
+
begin
|
39
|
+
token = Net::HTTP.new('169.254.169.254', 80).start { |http| http.request(Net::HTTP::Put.new('/latest/api/token', initheader = { 'X-aws-ec2-metadata-token-ttl-seconds' => '60'})) }
|
40
|
+
identity = JSON.parse(Net::HTTP.get(URI('http://169.254.169.254/latest/dynamic/instance-identity/document'), { 'X-aws-ec2-metadata-token' => token }).body)
|
41
|
+
hostname = Net::HTTP.get(URI('http://169.254.169.254/latest/meta-data/hostname'), { 'X-aws-ec2-metadata-token' => token }).body
|
42
|
+
resource_attributes = {}
|
43
|
+
unless identity.nil?
|
44
|
+
resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_PROVIDER] = 'aws'
|
45
|
+
resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_PLATFORM] = 'aws_ec2'
|
46
|
+
resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_ACCOUNT_ID] = identity['accountId']
|
47
|
+
resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_REGION] = identity['region']
|
48
|
+
resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_AVAILABILITY_ZONE] = identity['availabilityZone']
|
49
|
+
resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_ID] = identity['instanceId']
|
50
|
+
resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_TYPE] = identity['instanceType']
|
51
|
+
resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_NAME] = hostname
|
52
|
+
end
|
53
|
+
resource_attributes.delete_if { |_key, value| value.nil? || value.empty? }
|
54
|
+
OpenTelemetry::SDK::Resources::Resource.create(resource_attributes)
|
55
|
+
rescue
|
56
|
+
OpenTelemetry::SDK::Resources::Resource.create({})
|
47
57
|
end
|
48
|
-
resource_attributes.delete_if { |_key, value| value.nil? || value.empty? }
|
49
|
-
OpenTelemetry::SDK::Resources::Resource.create(resource_attributes)
|
50
58
|
end
|
51
59
|
end
|
52
60
|
|