Performance Monitoring ردیابی هایی را جمع آوری می کند تا به شما در نظارت بر عملکرد برنامه خود کمک کند. ردیابی گزارشی از داده های عملکردی است که بین دو نقطه از زمان در برنامه شما ثبت شده است.
ردیابی درخواست شبکه به طور خودکار توسط Performance Monitoring جمعآوری میشود، بیشتر درخواستهای شبکه برای برنامه شما را شامل میشود. با این حال، برخی از درخواستها ممکن است گزارش نشوند یا ممکن است از کتابخانه دیگری برای درخواستهای شبکه استفاده کنید. در این موارد، میتوانید از Performance Monitoring API برای ابزارسازی دستی ردیابی درخواست شبکه سفارشی استفاده کنید. ردیابی درخواست شبکه سفارشی فقط برای برنامه های اپل و اندروید پشتیبانی می شود.
معیارهای پیشفرض برای ردیابی درخواست شبکه سفارشی مانند مواردی است که برای ردیابی درخواست شبکه بهطور خودکار توسط Performance Monitoring جمعآوری میشود، بهویژه زمان پاسخ، اندازه بار پاسخ و درخواست، و میزان موفقیت. ردیابی درخواست شبکه سفارشی از افزودن معیارهای سفارشی پشتیبانی نمیکند.
در کد خود، ابتدا و انتهای یک ردیابی درخواست شبکه سفارشی را با استفاده از API های ارائه شده توسط Performance Monitoring SDK تعریف می کنید.
ردیابیهای درخواست شبکه سفارشی در کنسول Firebase در کنار درخواستهای شبکه که Performance Monitoring به طور خودکار ثبت میکند (در زیربرگه درخواستهای شبکه جدول ردیابی) ظاهر میشود.
ردیابی درخواست شبکه سفارشی را اضافه کنید
از Performance Monitoring HttpMetric API برای اضافه کردن ردیابی درخواست شبکه سفارشی برای نظارت بر درخواست های شبکه استفاده کنید.
برای تنظیم دستی درخواستهای شبکه سفارشی در Performance Monitoring ، کدی شبیه به زیر اضافه کنید:
Kotlin+KTX
val url = URL("https://www.google.com") val metric = Firebase.performance.newHttpMetric( "https://www.google.com", FirebasePerformance.HttpMethod.GET, ) metric.trace { val conn = url.openConnection() as HttpURLConnection conn.doOutput = true conn.setRequestProperty("Content-Type", "application/json") try { val outputStream = DataOutputStream(conn.outputStream) outputStream.write(data) } catch (ignored: IOException) { } // Set HttpMetric attributes setRequestPayloadSize(data.size.toLong()) setHttpResponseCode(conn.responseCode) printStreamContent(conn.inputStream) conn.disconnect() }
Java
HttpMetric metric = FirebasePerformance.getInstance().newHttpMetric("https://www.google.com", FirebasePerformance.HttpMethod.GET); final URL url = new URL("https://www.google.com"); metric.start(); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestProperty("Content-Type", "application/json"); try { DataOutputStream outputStream = new DataOutputStream(conn.getOutputStream()); outputStream.write(data); } catch (IOException ignored) { } metric.setRequestPayloadSize(data.length); metric.setHttpResponseCode(conn.getResponseCode()); printStreamContent(conn.getInputStream()); conn.disconnect(); metric.stop();
ردیابی درخواست شبکه سفارشی همچنین از افزودن ویژگیهای سفارشی پشتیبانی میکند اما معیارهای سفارشی را ندارد.
مراحل بعدی
- هشدارهایی را برای درخواستهای شبکه که عملکرد برنامه شما را کاهش میدهند تنظیم کنید . به عنوان مثال، اگر زمان پاسخگویی برای یک الگوی URL خاص از آستانه ای که شما تعیین کرده اید بیشتر شود، می توانید یک هشدار ایمیل را برای تیم خود پیکربندی کنید.