public NetworkMeasure Parse( ) { NetworkMeasure measure = new NetworkMeasure(); foreach (var task in tasks) { if (!task.IsCompleted) { task.Wait(); } Dictionary <NetworkMeasureProperty, string> values = task.Result; foreach (var value in values) { try { measure.SetProperty(value.Key, value.Value); } catch (Exception ex) { throw new BadRequestConfigException("Request config node had bad values !", ex); } } } tasks.Clear(); return(measure); }
public void addNetworkMonitor() { string httpUrl = "https://www.developer.huawei.com"; // 1. Create a networkMeasure for this special network request NetworkMeasure networkMeasure = APMS.getInstance().createNetworkMeasure(httpUrl, "GET"); NetworkPropertyTest(networkMeasure); // 2. Add custom property for this network measure networkMeasure.putProperty("activityName", "MainActivity"); // 3. start this network measure Debug.Log("networkMeasure start"); networkMeasure.start(); networkMeasure.setBytesSent(1024); networkMeasure.setContentType("UTF-8"); Debug.Log("start the fake url request process"); for (int i = 0; i < 1024; i++) { } int bodysize = 1024; // 4. Set response body size for this network measure networkMeasure.setBytesReceived(bodysize); // 5. Set network response code for this network measure int responseCode = 400; networkMeasure.setStatusCode(responseCode); // 6. Stop this network measure networkMeasure.stop(); Debug.Log("networkMeasure stop"); }
public void UpdateTextsData(NetworkMeasure data) { tbMainDisplay.Text = $"{data.TotalMonth.ToString(3)} / {data.TrafficMaxLimit}"; double percents = Math.Round(data.TotalMonth / data.TrafficMaxLimit * 100, 4); tbPercents.Text = $"{percents} %"; progressBar.Value = percents; if (data.DownloadRate > Octet.FromMega(1)) { tbNetUse.Text = "Un téléchargement est certainement en cours !"; } else { tbNetUse.Text = "Utilisation normale de la bande passante."; } }
public void NetworkPropertyTest(NetworkMeasure networkMeasure) { UnityEngine.Debug.Log("NetworkPropertyTest start"); networkMeasure.putProperty("Unity", "unity.com"); networkMeasure.putProperty("Group", "R&D"); string value = networkMeasure.getProperty("Unity"); Debug.Log("get prop name: Unity, value: " + value); networkMeasure.removeProperty("Unity"); Map propertyMap = networkMeasure.getProperties(); if (propertyMap != null) { UnityEngine.Debug.Log("NetworkPropertyTest success"); } }
public async void CustomNetworkEvent() { OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder() .Url(CUSTOMURL) .Post(RequestBody.Create(Square.OkHttp3.MediaType.Parse("text/x-markdown; charset=utf-8"), REQUESTBODY)) .Build(); // Define custom network event NetworkMeasure networkMeasure = APMS.Instance.CreateNetworkMeasure(CUSTOMURL, "POST"); networkMeasure.SetBytesSent(request.Headers().ByteCount()); long bytesReceive = 0L; networkMeasure.Start(); try { Response response = await okHttpClient.NewCall(request).ExecuteAsync(); networkMeasure.SetStatusCode(response.Code()); if (response.Body() != null) { networkMeasure.SetBytesReceived(response.Body().ContentLength()); networkMeasure.SetContentType(response.Body().ContentType().ToString()); bytesReceive = DealResponseBody(response.Body()); response.Body().Close(); } networkMeasure.PutProperty("Property", bytesReceive.ToString()); networkMeasure.Stop(); } catch (Exception ex) { networkMeasure.SetStatusCode(0); networkMeasure.PutProperty("Error Message", ex.Message); networkMeasure.PutProperty("Bytes", bytesReceive.ToString()); networkMeasure.Stop(); } }
public void UpdateTextsData(NetworkMeasure newData, NetworkMeasure oldData) { //text tbDownTotal.Text = newData.CurrentDownload; tbUpTotal.Text = newData.CurrentUpload; tbDownTraffic.Text = newData.DownloadRate; tbUpTraffic.Text = newData.UploadRate; tbDownEv.Text = newData.CurrentDownload - oldData.CurrentDownload; tbUpEv.Text = newData.CurrentUpload - oldData.CurrentUpload; tbHeaderEv.Text = "Evolution depuis " + oldData.DateTime.ToString("T"); //start day lblStartDay.Content = newData.StartDay; //Days int daysInMonth = GetDaysBetween(DateTime.Now, DateTime.Now.AddMonths(1)); int startDay = newData.StartDay; DateTime now = DateTime.Now; int remainingDays; if (now.Day < startDay) { remainingDays = startDay - now.Day; } else { remainingDays = DateTime.DaysInMonth(now.Year, now.Month) - now.Day + startDay; } //At the start, the newData per day we have Octet newDataPerDay = newData.TrafficMaxLimit / daysInMonth; //Now, the newData remaining per remaining day Octet newDataRemainPerDay = (newData.TrafficMaxLimit - newData.TotalMonth) / remainingDays; this.lblDataPerDayStart.Content = newDataPerDay.ToString(); this.lblDataPerDayRemain.Content = newDataRemainPerDay.ToString(); if (newDataPerDay > newDataRemainPerDay) { this.lblDataPerDayRemain.Foreground = App.colorHighWarning; } else { this.lblDataPerDayRemain.Foreground = App.colorGood; } //colorization if (newData.DownloadRate > Octet.FromMega(5)) { this.tbDownTraffic.Foreground = App.colorHighWarning; } else if (newData.DownloadRate > Octet.FromMega(1)) { this.tbDownTraffic.Foreground = App.colorWarning; } else { this.tbDownTraffic.Foreground = App.colorNormalBlack; } if (newData.UploadRate > Octet.FromMega(2)) { this.tbUpTraffic.Foreground = App.colorHighWarning; } else if (newData.UploadRate > Octet.FromKilo(500)) { this.tbUpTraffic.Foreground = App.colorWarning; } else { this.tbUpTraffic.Foreground = App.colorNormalBlack; } int GetDaysBetween(DateTime start, DateTime stop) => (int)(stop - start).TotalDays; }