opentelemetry-resource_detectors 0.18.1 → 0.20.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: 0e0943e21d2c701b004d918783ac3f263333fe80737e8baf2c64b9f5078ce889
4
- data.tar.gz: eafbe723b4b7562cbb8dc268fa22c92afd33e4de89ef9fb0fc322d7959c266dd
3
+ metadata.gz: 9ed054945636f4234b1064072cda6f9de6d109df3a8a77e82a39041761a65be0
4
+ data.tar.gz: cf7b92dd1015c30491d7f6b24eb6d88bb3baaaf4bd5f68728270923b85804d64
5
5
  SHA512:
6
- metadata.gz: 79b6cfa71c3cb5d3b65e5050a65fb6836347f2f0aaa93bce76bcfd0391bf9080a9aa43849181b19e812bfb5a52c12035d23e6397bdb7dc6fab0c4fea540c8f53
7
- data.tar.gz: f847fafbcee2b38cf65d27e80d00a8106e30a87f7be1965f3c614e3717eea7355e1c30d13dc3dfb05c399cbeb1a0a54b8d08a799d58579641fd59009f23bc28c
6
+ metadata.gz: e5e4213170d6449c7c7f05a3cee9bdcdbabdeb50ab48dbe14806a47bf2b9fc3e05546714f992303c0f2cba3c2a71140e89137fb0fde40eb272c60dec1ba65322
7
+ data.tar.gz: dd7e9133f474b0a3f41d52e5553a8c8731c8b7e64abdb12be3a9716e0d9b4d95c308b24bdfa26ab8f352bf8e7c54f8874be5efc7e3951c42521786af48dee804
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Release History: opentelemetry-resource_detectors
2
2
 
3
+ ### v0.20.0 / 2022-05-02
4
+
5
+ * ADDED: Added Google Cloud Function Resource Detection
6
+
7
+ ### v0.19.1 / 2021-09-29
8
+
9
+ * (No significant changes)
10
+
11
+ ### v0.19.0 / 2021-08-12
12
+
13
+ * BREAKING CHANGE: Use auto-generated resource constants in sdk and resource_detectors
14
+
15
+ * ADDED: Use auto-generated resource constants in sdk and resource_detectors
16
+
3
17
  ### v0.18.1 / 2021-06-23
4
18
 
5
19
  * (No significant changes)
@@ -13,30 +13,39 @@ module OpenTelemetry
13
13
  module GoogleCloudPlatform
14
14
  extend self
15
15
 
16
- def detect # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
16
+ def detect # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
17
17
  gcp_env = Google::Cloud::Env.new
18
18
  resource_attributes = {}
19
- resource_constants = OpenTelemetry::SDK::Resources::Constants
20
19
 
21
20
  if gcp_env.compute_engine?
22
- resource_attributes[resource_constants::CLOUD_RESOURCE[:provider]] = 'gcp'
23
- resource_attributes[resource_constants::CLOUD_RESOURCE[:account_id]] = gcp_env.project_id
24
- resource_attributes[resource_constants::CLOUD_RESOURCE[:region]] = gcp_env.instance_attribute('cluster-location')
25
- resource_attributes[resource_constants::CLOUD_RESOURCE[:availability_zone]] = gcp_env.instance_zone
26
-
27
- resource_attributes[resource_constants::HOST_RESOURCE[:id]] = gcp_env.lookup_metadata('instance', 'id')
28
- resource_attributes[resource_constants::HOST_RESOURCE[:name]] = ENV['HOSTNAME'] ||
29
- gcp_env.lookup_metadata('instance', 'hostname') ||
30
- safe_gethostname
21
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_PROVIDER] = 'gcp'
22
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_ACCOUNT_ID] = gcp_env.project_id
23
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_REGION] = gcp_env.instance_attribute('cluster-location')
24
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_AVAILABILITY_ZONE] = gcp_env.instance_zone
25
+
26
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_ID] = gcp_env.lookup_metadata('instance', 'id')
27
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_NAME] = ENV['HOSTNAME'] ||
28
+ gcp_env.lookup_metadata('instance', 'hostname') ||
29
+ safe_gethostname
31
30
  end
32
31
 
33
32
  if gcp_env.kubernetes_engine?
34
- resource_attributes[resource_constants::K8S_RESOURCE[:cluster_name]] = gcp_env.instance_attribute('cluster-name')
35
- resource_attributes[resource_constants::K8S_RESOURCE[:namespace_name]] = gcp_env.kubernetes_engine_namespace_id
36
- resource_attributes[resource_constants::K8S_RESOURCE[:pod_name]] = ENV['HOSTNAME'] || safe_gethostname
37
- resource_attributes[resource_constants::K8S_RESOURCE[:node_name]] = gcp_env.lookup_metadata('instance', 'hostname')
33
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::K8S_CLUSTER_NAME] = gcp_env.instance_attribute('cluster-name')
34
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::K8S_NAMESPACE_NAME] = gcp_env.kubernetes_engine_namespace_id
35
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::K8S_POD_NAME] = ENV['HOSTNAME'] || safe_gethostname
36
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::K8S_NODE_NAME] = gcp_env.lookup_metadata('instance', 'hostname')
37
+
38
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CONTAINER_NAME] = ENV['CONTAINER_NAME']
39
+ end
38
40
 
39
- resource_attributes[resource_constants::CONTAINER_RESOURCE[:name]] = ENV['CONTAINER_NAME']
41
+ if gcp_env.knative?
42
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_PROVIDER] = 'gcp'
43
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_ACCOUNT_ID] = gcp_env.project_id
44
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::FAAS_NAME] = gcp_env.knative_service_id
45
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::FAAS_VERSION] = gcp_env.knative_service_revision
46
+ zone = gcp_env.instance_zone
47
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_REGION] = get_region zone
48
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_AVAILABILITY_ZONE] = zone
40
49
  end
41
50
 
42
51
  resource_attributes.delete_if { |_key, value| value.nil? || value.empty? }
@@ -45,6 +54,13 @@ module OpenTelemetry
45
54
 
46
55
  private
47
56
 
57
+ def get_region(zone)
58
+ return if zone.nil? || zone.empty?
59
+
60
+ split_arr = zone.split('-', 3)
61
+ split_arr[0].concat('-', split_arr[1])
62
+ end
63
+
48
64
  def safe_gethostname
49
65
  Socket.gethostname
50
66
  rescue StandardError
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Resource
9
9
  module Detectors
10
- VERSION = '0.18.1'
10
+ VERSION = '0.20.0'
11
11
  end
12
12
  end
13
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-resource_detectors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.1
4
+ version: 0.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-24 00:00:00.000000000 Z
11
+ date: 2022-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-cloud-env
@@ -156,10 +156,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
156
156
  licenses:
157
157
  - Apache-2.0
158
158
  metadata:
159
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-resource_detectors/v0.18.1/file.CHANGELOG.html
159
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-resource_detectors/v0.20.0/file.CHANGELOG.html
160
160
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/resource_detectors
161
161
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
162
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-resource_detectors/v0.18.1
162
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-resource_detectors/v0.20.0
163
163
  post_install_message:
164
164
  rdoc_options: []
165
165
  require_paths: