Beispiel #1
0
        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();
            }
        }