public async stt::Task GetMetricsResourceNamesAsync() { moq::Mock <RecaptchaEnterpriseService.RecaptchaEnterpriseServiceClient> mockGrpcClient = new moq::Mock <RecaptchaEnterpriseService.RecaptchaEnterpriseServiceClient>(moq::MockBehavior.Strict); GetMetricsRequest request = new GetMetricsRequest { MetricsName = MetricsName.FromProjectKey("[PROJECT]", "[KEY]"), }; Metrics expectedResponse = new Metrics { StartTime = new wkt::Timestamp(), ScoreMetrics = { new ScoreMetrics(), }, ChallengeMetrics = { new ChallengeMetrics(), }, MetricsName = MetricsName.FromProjectKey("[PROJECT]", "[KEY]"), }; mockGrpcClient.Setup(x => x.GetMetricsAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <Metrics>(stt::Task.FromResult(expectedResponse), null, null, null, null)); RecaptchaEnterpriseServiceClient client = new RecaptchaEnterpriseServiceClientImpl(mockGrpcClient.Object, null); Metrics responseCallSettings = await client.GetMetricsAsync(request.MetricsName, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None)); xunit::Assert.Same(expectedResponse, responseCallSettings); Metrics responseCancellationToken = await client.GetMetricsAsync(request.MetricsName, st::CancellationToken.None); xunit::Assert.Same(expectedResponse, responseCancellationToken); mockGrpcClient.VerifyAll(); }
public void GetMetricsResourceNames() { moq::Mock <RecaptchaEnterpriseService.RecaptchaEnterpriseServiceClient> mockGrpcClient = new moq::Mock <RecaptchaEnterpriseService.RecaptchaEnterpriseServiceClient>(moq::MockBehavior.Strict); GetMetricsRequest request = new GetMetricsRequest { MetricsName = MetricsName.FromProjectKey("[PROJECT]", "[KEY]"), }; Metrics expectedResponse = new Metrics { StartTime = new wkt::Timestamp(), ScoreMetrics = { new ScoreMetrics(), }, ChallengeMetrics = { new ChallengeMetrics(), }, MetricsName = MetricsName.FromProjectKey("[PROJECT]", "[KEY]"), }; mockGrpcClient.Setup(x => x.GetMetrics(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse); RecaptchaEnterpriseServiceClient client = new RecaptchaEnterpriseServiceClientImpl(mockGrpcClient.Object, null); Metrics response = client.GetMetrics(request.MetricsName); xunit::Assert.Same(expectedResponse, response); mockGrpcClient.VerifyAll(); }
// This method is invoked frequently from KEDA to retrieve the metric. The value we return here is from the 'state' variable // which is set by the Client_OnMessageReceived above. public override Task <GetMetricsResponse> GetMetrics(GetMetricsRequest request, ServerCallContext context) { _logger.LogInformation($"{DateTime.Now} GetMetrics Called: state: {state}"); var response = new GetMetricsResponse(); response.MetricValues.Add(new MetricValue { MetricName = "kaboom", MetricValue_ = state }); return(Task.FromResult <GetMetricsResponse>(response)); }
public override async Task <GetMetricsResponse> GetMetrics(GetMetricsRequest request, ServerCallContext context) { _logger.LogInformation($"Namespace: {request?.ScaledObjectRef?.Namespace} DeploymentName: {request?.ScaledObjectRef?.Name} GetMetrics() called."); int currentWorkerCount = await GetCurrentWorkerCountAsync(request.ScaledObjectRef.Namespace, request.ScaledObjectRef.Name); var heartbeat = await _performanceMonitorRepository.PulseAsync(currentWorkerCount); int targetSize = 0; switch (heartbeat.ScaleRecommendation.Action) { case ScaleAction.AddWorker: targetSize = currentWorkerCount + 1; targetSize = targetSize * MLTIPLICITY; _logger.LogDebug($"Namespace: {request?.ScaledObjectRef?.Namespace} DeploymentName: {request?.ScaledObjectRef?.Name} GetMetrics() : AddWorker : Target: {targetSize}"); break; case ScaleAction.RemoveWorker: targetSize = currentWorkerCount - 1; targetSize = targetSize * MLTIPLICITY - (MLTIPLICITY - 1); _logger.LogDebug($"Namespace: {request?.ScaledObjectRef?.Namespace} DeploymentName: {request?.ScaledObjectRef?.Name} GetMetrics() : RemoveWorker : Target: {targetSize}"); break; default: targetSize = currentWorkerCount; targetSize = targetSize * MLTIPLICITY; _logger.LogDebug($"Namespace: {request?.ScaledObjectRef?.Namespace} DeploymentName: {request?.ScaledObjectRef?.Name} GetMetrics() : None : Target: {targetSize}"); break; } var res = new GetMetricsResponse(); var metricValue = new MetricValue { MetricName = ScaleRecommendation, MetricValue_ = targetSize }; res.MetricValues.Add(metricValue); return(res); }
public override async Task <GetMetricsResponse> GetMetrics(GetMetricsRequest request, ServerCallContext context) { if (!request.ScaledObjectRef.ScalerMetadata.ContainsKey("latitude") || !request.ScaledObjectRef.ScalerMetadata.ContainsKey("longitude")) { throw new ArgumentException("longitude and latitude must be specified"); } var longitude = request.ScaledObjectRef.ScalerMetadata["longitude"]; var latitude = request.ScaledObjectRef.ScalerMetadata["latitude"]; var earthquakeCount = await GetEarthQuakeCount(longitude, latitude, 1.0); var resp = new GetMetricsResponse(); resp.MetricValues.Add(new MetricValue { MetricName = "earthquakeThreshold", MetricValue_ = earthquakeCount }); return(resp); }
public override async Task <GetMetricsResponse> GetMetrics(GetMetricsRequest request, ServerCallContext context) { _logger.LogInformation($"GetMetrics: about to call service: {_urlOfService}"); var httpRequest = new HttpRequestMessage(HttpMethod.Get, _urlOfService); var client = _httpClientFactory.CreateClient(); var response = await client.SendAsync(httpRequest); int result = 30; string responseContent = await response.Content.ReadAsStringAsync(); _logger.LogInformation($"GetMetrics: response was: {responseContent}"); int.TryParse(responseContent, out result); var metricResponse = new GetMetricsResponse(); metricResponse.MetricValues.Add(new MetricValue { MetricName = "mymetric", MetricValue_ = result }); return(metricResponse); }
private void EndGetMetrics(IAsyncResult async) { GetMetricsRequest request = async.AsyncState as GetMetricsRequest; try { HttpWebResponse response = request.HttpWebRequest.EndGetResponse(async) as HttpWebResponse; Stream stream = response.GetResponseStream(); DataContractSerializer serializer = new DataContractSerializer(typeof(List <Metric>)); this.metrics = (List <Metric>)serializer.ReadObject(stream); MetricsList.Invoke(() => { MetricsList.DisplayMember = "Name"; MetricsList.DataSource = this.metrics; }); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
public GetMetricsResponse GetMetrics(GetMetricsRequest request) { return(ExecuteAction <GetMetricsResponse>(request)); }
public override async Task <GetMetricsResponse> GetMetrics(GetMetricsRequest request, ServerCallContext context) { throw new NotImplementedException(); //return await _db.GetMetrics(request,context.CancellationToken); // var cpuPercent = UpdateCpuPercent(); }
public GetMetricsResponse GetMetrics(GetMetricsRequest request) { return(Execute(() => InternalService.GetMetrics(request))); }