Class: OpenTelemetry::Sampler::XRay::AWSXRaySamplingClient
- Inherits:
-
Object
- Object
- OpenTelemetry::Sampler::XRay::AWSXRaySamplingClient
- Defined in:
- lib/opentelemetry/sampler/xray/aws_xray_sampling_client.rb
Overview
AWSXRaySamplingClient is responsible for making '/GetSamplingRules' and '/SamplingTargets' calls to AWS X-Ray to retrieve Sampling Rules and Sampling Targets respectively
Instance Method Summary collapse
- #fetch_sampling_rules ⇒ Object
- #fetch_sampling_targets(request_body) ⇒ Object
-
#initialize(endpoint) ⇒ AWSXRaySamplingClient
constructor
A new instance of AWSXRaySamplingClient.
Constructor Details
#initialize(endpoint) ⇒ AWSXRaySamplingClient
Returns a new instance of AWSXRaySamplingClient.
17 18 19 20 21 22 23 24 |
# File 'lib/opentelemetry/sampler/xray/aws_xray_sampling_client.rb', line 17 def initialize(endpoint) @endpoint = endpoint @host, @port = parse_endpoint(@endpoint) @sampling_rules_url = URI::HTTP.build(host: @host, path: '/GetSamplingRules', port: @port) @sampling_targets_url = URI::HTTP.build(host: @host, path: '/SamplingTargets', port: @port) @request_headers = { 'content-type': 'application/json' } end |
Instance Method Details
#fetch_sampling_rules ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/opentelemetry/sampler/xray/aws_xray_sampling_client.rb', line 26 def fetch_sampling_rules begin OpenTelemetry::Common::Utilities.untraced do return Net::HTTP.post(@sampling_rules_url, '{}', @request_headers) end rescue StandardError => e OpenTelemetry.logger.debug("Error occurred when fetching Sampling Rules: #{e}") end nil end |
#fetch_sampling_targets(request_body) ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/opentelemetry/sampler/xray/aws_xray_sampling_client.rb', line 37 def fetch_sampling_targets(request_body) begin OpenTelemetry::Common::Utilities.untraced do return Net::HTTP.post(@sampling_targets_url, request_body.to_json, @request_headers) end rescue StandardError => e OpenTelemetry.logger.debug("Error occurred when fetching Sampling Targets: #{e}") end nil end |