/// <summary> /// Retrieves all sampling rules. /// </summary> /// <param name="request">Container for the necessary parameters to execute the GetSamplingRules service method.</param> /// /// <returns>The response from the GetSamplingRules service method, as returned by XRay.</returns> /// <exception cref="Amazon.XRay.Model.InvalidRequestException"> /// The request is missing required parameters or has invalid parameters. /// </exception> /// <exception cref="Amazon.XRay.Model.ThrottledException"> /// The request exceeds the maximum number of requests per second. /// </exception> public virtual GetSamplingRulesResponse GetSamplingRules(GetSamplingRulesRequest request) { var marshaller = GetSamplingRulesRequestMarshaller.Instance; var unmarshaller = GetSamplingRulesResponseUnmarshaller.Instance; return(Invoke <GetSamplingRulesRequest, GetSamplingRulesResponse>(request, marshaller, unmarshaller)); }
public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonXRayConfig config = new AmazonXRayConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonXRayClient client = new AmazonXRayClient(creds, config); GetSamplingRulesResponse resp = new GetSamplingRulesResponse(); do { GetSamplingRulesRequest req = new GetSamplingRulesRequest { NextToken = resp.NextToken }; resp = client.GetSamplingRules(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.SamplingRuleRecords) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
/// <summary> /// Use X-Ray client to get the sampling rules /// from X-Ray service.The call is proxied and signed by X-Ray Daemon. /// </summary> /// <returns></returns> public async Task <GetSamplingRulesResponse> GetSamplingRules() { List <SamplingRule> newRules = new List <SamplingRule>(); GetSamplingRulesRequest request = new GetSamplingRulesRequest(); Task <Model.GetSamplingRulesResponse> responseTask; lock (_xrayClientLock) { RefreshEndPoint(); responseTask = _xrayClient.GetSamplingRulesAsync(request); } var response = await responseTask; foreach (var record in response.SamplingRuleRecords) { var rule = record.SamplingRule; if (rule.Version == Version && SamplingRule.IsValid(rule)) // We currently only handle v1 sampling rules. { var sampleRule = new SamplingRule(rule.RuleName, rule.Priority, rule.FixedRate, rule.ReservoirSize, rule.Host, rule.ServiceName, rule.HTTPMethod, rule.URLPath, rule.ServiceType, rule.ResourceARN, rule.Attributes); newRules.Add(sampleRule); } } GetSamplingRulesResponse result = new GetSamplingRulesResponse(newRules); return(result); }
/// <summary> /// Initiates the asynchronous execution of the GetSamplingRules operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the GetSamplingRules operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public virtual Task <GetSamplingRulesResponse> GetSamplingRulesAsync(GetSamplingRulesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = GetSamplingRulesRequestMarshaller.Instance; var unmarshaller = GetSamplingRulesResponseUnmarshaller.Instance; return(InvokeAsync <GetSamplingRulesRequest, GetSamplingRulesResponse>(request, marshaller, unmarshaller, cancellationToken)); }
/// <summary> /// Initiates the asynchronous execution of the GetSamplingRules operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the GetSamplingRules operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public virtual Task <GetSamplingRulesResponse> GetSamplingRulesAsync(GetSamplingRulesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetSamplingRulesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSamplingRulesResponseUnmarshaller.Instance; return(InvokeAsync <GetSamplingRulesResponse>(request, options, cancellationToken)); }
internal virtual GetSamplingRulesResponse GetSamplingRules(GetSamplingRulesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetSamplingRulesRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSamplingRulesResponseUnmarshaller.Instance; return(Invoke <GetSamplingRulesResponse>(request, options)); }