Esempio n. 1
0
        /// <summary>
        /// 获取监控数据
        /// </summary>
        /// <param name="requestParams">请求参数.</param>
        /// <returns>返回对象<see cref="UCloudSDK.Models.GetMetricResponse"/></returns>
        public GetMetricResponse GetMetric(GetMetricRequest requestParams)
        {
            var request = new RestRequest(Method.GET);

            request.AddUObject(requestParams);
            return(Execute <GetMetricResponse>(request));
        }
Esempio n. 2
0
        public async Task <Metric> GetMetricAsync(GetMetricRequest request, DateTime?deadline)
        {
            if (request is null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            PlcFrame response = await this.InvokeAsync(
                PlcFrame.Create(PlcMessageType.GetMetricRequest, ByteString.Empty),
                deadline)
                                .ConfigureAwait(false);

            if (response.FrameHeader.MessageType != PlcMessageType.GetMetricResponse)
            {
                throw new InvalidDataException(
                          "Response message type mismatch: " + response.FrameHeader.MessageType);
            }

            using var reader = new BinaryReader(new MemoryStream(response.FrameBody.ToByteArray()));
            return(new Metric
            {
                CreateTime = Timestamp.FromDateTimeOffset(DateTimeOffset.UtcNow),
                OutputWaterCelsiusDegree = reader.ReadSingle(),
                InputWaterCelsiusDegree = reader.ReadSingle(),
                HeaterOutputWaterCelsiusDegree = reader.ReadSingle(),
                EnvironmentCelsiusDegree = reader.ReadSingle(),
                OutputWaterPressureMeter = reader.ReadSingle(),
                InputWaterPressureMeter = reader.ReadSingle(),
                HeaterPowerKilowatt = reader.ReadSingle(),
                WaterPumpFlowRateCubicMeterPerHour = reader.ReadSingle(),
            });
        }
Esempio n. 3
0
 public override Task <GrpcMetric> GetMetric(GetMetricRequest request, ServerCallContext context)
 {
     return(this.Invoke(
                (client, request, deadline) => client.GetMetricAsync(request, deadline),
                request.DeviceId,
                request,
                context));
 }
Esempio n. 4
0
        public void GetMetricTest()
        {
            NList metricName = new NList();

            metricName.Add(UHostMetric.NetworkIn.ToString());
            //主机ID,替换为自己的
            string resourceId   = "uhost-oeuax1";
            string resourceType = MetricResourceType.uhost.ToString();
            var    entity       = new GetMetricRequest(Config.region, metricName, resourceId, resourceType);
            var    response     = umon.GetMetric(entity);

            Assert.AreEqual(response.RetCode, 0);
        }
        private static GetMetricResponse GetMonitorInfo(MetricAggregate metric)
        {
            try
            {
                if (_httpClient.IsRecentError() || !_httpClient.MatchedClientDeviceApp())
                {
                    return(null);
                }

                GetMetricRequest request = new GetMetricRequest();

                if (_httpClient.AppIdentity != null)
                {
                    request.DeviceAppID = _httpClient.AppIdentity.DeviceAppID;
                    request.DeviceID    = _httpClient.AppIdentity.DeviceID;
                    request.AppNameID   = _httpClient.AppIdentity.AppNameID;
                }
                request.MetricName   = metric.Name;
                request.MetricTypeID = (short)metric.MetricType;
                request.Category     = metric.Category;

                string jsonData = JsonConvert.SerializeObject(request);


                var response =
                    _httpClient.SendJsonAndGetResponse(
                        (_httpClient.BaseAPIUrl) +
                        "Metrics/GetMetricInfo",
                        jsonData);


                if (response.Exception == null && response.StatusCode == HttpStatusCode.OK)
                {
                    var metricResponse = JsonConvert.DeserializeObject <GetMetricResponse>(response.ResponseText);

                    return(metricResponse);
                }

                return(null);
            }
            catch (Exception e)
            {
                StackifyAPILogger.Log("Error getting monitor info " + e.Message);
                return(null);
            }
        }
Esempio n. 6
0
 public override AsyncUnaryCall <Metric> GetMetricAsync(GetMetricRequest request, Metadata headers = null, DateTime?deadline = null, CancellationToken cancellationToken = default)
 {
     return(TestCalls.AsyncUnaryCall(
                Task.FromResult(new Metric
     {
         InputWaterCelsiusDegree = RandomUtils.NextFloat(10, 20),
         OutputWaterCelsiusDegree = RandomUtils.NextFloat(10, 20),
         HeaterOutputWaterCelsiusDegree = RandomUtils.NextFloat(10, 20),
         EnvironmentCelsiusDegree = RandomUtils.NextFloat(10, 20),
         HeaterPowerKilowatt = RandomUtils.NextFloat(0, 12),
         WaterPumpFlowRateCubicMeterPerHour = RandomUtils.NextFloat(1, 3),
     }),
                Task.FromResult(new Metadata()),
                () => Status.DefaultSuccess,
                () => new Metadata(),
                () => { }));
 }
 public GetMetricResponse GetMetric(GetMetricRequest request)
 {
     return(ExecuteAction <GetMetricResponse>(request));
 }
Esempio n. 8
0
 public GetMetricResponse GetMetric(GetMetricRequest request)
 {
     return(Execute(() => InternalService.GetMetric(request)));
 }