নেটওয়ার্ক পরিদর্শক একটি টাইমলাইনে রিয়েল-টাইম নেটওয়ার্ক কার্যকলাপ প্রদর্শন করে, প্রেরিত এবং প্রাপ্ত ডেটা দেখায়। নেটওয়ার্ক ইন্সপেক্টর আপনাকে পরীক্ষা করতে দেয় কিভাবে এবং কখন আপনার অ্যাপ ডেটা স্থানান্তর করে এবং অন্তর্নিহিত কোডটি যথাযথভাবে অপ্টিমাইজ করে।
নেটওয়ার্ক ইন্সপেক্টর খুলতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- অ্যান্ড্রয়েড স্টুডিও নেভিগেশন বার থেকে, দেখুন > টুল উইন্ডোজ > অ্যাপ পরিদর্শন নির্বাচন করুন। অ্যাপ পরিদর্শন উইন্ডো স্বয়ংক্রিয়ভাবে একটি অ্যাপ প্রক্রিয়ার সাথে সংযুক্ত হওয়ার পরে, ট্যাবগুলি থেকে নেটওয়ার্ক পরিদর্শক নির্বাচন করুন।
- অ্যাপ পরিদর্শন উইন্ডো স্বয়ংক্রিয়ভাবে একটি অ্যাপ প্রক্রিয়ার সাথে সংযুক্ত না হলে, আপনাকে ম্যানুয়ালি একটি অ্যাপ প্রক্রিয়া নির্বাচন করতে হতে পারে।
- অ্যাপ পরিদর্শন উইন্ডো থেকে আপনি যে ডিভাইস এবং অ্যাপ প্রক্রিয়াটি পরিদর্শন করতে চান সেটি নির্বাচন করুন।
নেটওয়ার্ক পরিদর্শক ওভারভিউ
নেটওয়ার্ক ইন্সপেক্টর উইন্ডোর শীর্ষে, আপনি ইভেন্ট টাইমলাইন দেখতে পারেন। টাইমলাইনের একটি অংশ নির্বাচন করতে ক্লিক করুন এবং টেনে আনুন এবং ট্রাফিক পরিদর্শন করুন।
বিস্তারিত ফলকে, টাইমিং গ্রাফ আপনাকে কোথায় কর্মক্ষমতা সমস্যা ঘটতে পারে তা সনাক্ত করতে সাহায্য করতে পারে। হলুদ বিভাগের শুরুটি পাঠানো অনুরোধের প্রথম বাইটের সাথে মিলে যায়। নীল বিভাগের শুরুটি প্রাপ্ত প্রতিক্রিয়ার প্রথম বাইটের সাথে মিলে যায়। নীল বিভাগের শেষটি প্রাপ্ত প্রতিক্রিয়ার চূড়ান্ত বাইটের সাথে মিলে যায়।
টাইমলাইনের নীচের প্যানেলে, টাইমলাইনের নির্বাচিত অংশের সময় নেটওয়ার্ক কার্যকলাপ সম্পর্কে আরও বিস্তারিত জানার জন্য নিম্নলিখিত ট্যাবগুলির মধ্যে একটি নির্বাচন করুন:
- কানেকশন ভিউ : আপনার অ্যাপের সমস্ত CPU থ্রেড জুড়ে টাইমলাইনের নির্বাচিত অংশের সময় পাঠানো বা প্রাপ্ত করা ফাইলগুলির তালিকা করে। প্রতিটি অনুরোধের জন্য, আপনি আকার, প্রকার, স্থিতি এবং সংক্রমণের সময়কাল পরিদর্শন করতে পারেন। এই তালিকা বাছাই করতে, কলাম শিরোনাম যে কোনো ক্লিক করুন. আপনি টাইমলাইনের নির্বাচিত অংশের একটি বিশদ বিভাজনও দেখতে পারেন, প্রতিটি ফাইল কখন পাঠানো বা গ্রহণ করা হয়েছিল তা দেখায়।
থ্রেড ভিউ : আপনার অ্যাপের প্রতিটি CPU থ্রেডে নেটওয়ার্ক কার্যকলাপ প্রদর্শন করে। চিত্র 2-এ দেখানো হিসাবে, এই দৃশ্যটি আপনাকে প্রতিটি নেটওয়ার্ক অনুরোধের জন্য কোন থ্রেড দায়ী তা পরীক্ষা করতে দেয়।
নিয়মগুলি দেখুন : নিয়মগুলি বিভিন্ন স্ট্যাটাস কোড, হেডার এবং বডিগুলির সাথে প্রতিক্রিয়াগুলির মুখোমুখি হওয়ার সময় আপনার অ্যাপ কীভাবে আচরণ করে তা পরীক্ষা করতে সহায়তা করে৷ আপনি যখন একটি নতুন নিয়ম তৈরি করেন, তখন আপনার নতুন নিয়মের নাম দিন এবং অরিজিন উপধারার অধীনে আপনি যে প্রতিক্রিয়াটি আটকাতে চান তার উত্স সম্পর্কে তথ্য অন্তর্ভুক্ত করুন। প্রতিক্রিয়া উপবিভাগে, আপনি কোথায় এবং কীভাবে প্রতিক্রিয়া পরিবর্তন করতে হবে তা উল্লেখ করতে পারেন। উদাহরণ স্বরূপ, আপনি একটি নির্দিষ্ট স্ট্যাটাস কোডের সাথে প্রতিক্রিয়াগুলি চালানোর পাশাপাশি সেই স্ট্যাটাস কোডটি সংশোধন করার নিয়ম সেট করতে পারেন। হেডারের নিয়ম এবং বডি রুলস সাবসেকশনে, সাব-রুল তৈরি করুন যা রেসপন্স হেডার বা বডি যোগ বা পরিবর্তন করে। নিয়মগুলি যেভাবে তালিকাভুক্ত করা হয়েছে সেই ক্রমে প্রয়োগ করা হয়৷ নিয়মের পাশে সক্রিয় বাক্সটি চেক করে কোন নিয়মটি সক্রিয় বা নিষ্ক্রিয় করতে হবে তা চয়ন করুন৷
সংযোগ ভিউ বা থ্রেড ভিউ থেকে, পাঠানো বা প্রাপ্ত ডেটা সম্পর্কে বিশদ তথ্য পরিদর্শন করতে একটি অনুরোধের নামে ক্লিক করুন। রেসপন্স হেডার এবং বডি, রিকোয়েস্ট হেডার এবং বডি বা কল স্ট্যাক দেখতে ট্যাবগুলিতে ক্লিক করুন।
রেসপন্স এবং রিকোয়েস্ট ট্যাবে, ফরম্যাট করা টেক্সট প্রদর্শন করতে পার্স করা ভিউ লিঙ্কে ক্লিক করুন। কাঁচা পাঠ প্রদর্শন করতে উৎস দেখুন লিঙ্কে ক্লিক করুন।
HttpsURLConnection
জন্য নেটওয়ার্ক অনুরোধ দেখানোর পাশাপাশি, নেটওয়ার্ক ইন্সপেক্টর OkHttp
সমর্থন করে। কিছু তৃতীয় পক্ষের নেটওয়ার্ক লাইব্রেরি, যেমন Retrofit , অভ্যন্তরীণভাবে OkHttp
ব্যবহার করে, তাই নেটওয়ার্ক ইন্সপেক্টর আপনাকে তাদের নেটওয়ার্ক কার্যকলাপ পরিদর্শন করতে দেয়। নাউ ইন অ্যান্ড্রয়েড নমুনা অ্যাপটি তার নেটওয়ার্ক ক্রিয়াকলাপের জন্য OkHttp
ব্যবহার করে এবং এটিকে কার্যকরভাবে দেখার জন্য একটি ভাল জায়গা।
আপনি যদি HttpsURLConnection
API ব্যবহার করেন, তাহলে আপনি শুধুমাত্র অনুরোধ ট্যাবে শিরোনাম দেখতে পাবেন যা আপনি setRequestProperty
পদ্ধতি ব্যবহার করে আপনার কোডে অন্তর্ভুক্ত করেছেন, যেমনটি নিম্নলিখিত নমুনায় দেখানো হয়েছে:
কোটলিন
val url = URL(MY_URL_EN) val urlConnection: HttpsURLConnection = url.openConnection() as HttpsURLConnection ... // Sets acceptable encodings in the request header. urlConnection.setRequestProperty("Accept-Encoding", "identity")
জাভা
URL url = new URL(MY_URL_EN); HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection(); //... // Sets acceptable encodings in the request header. urlConnection.setRequestProperty("Accept-Encoding", "identity");
নেটওয়ার্ক সংযোগের সমস্যা সমাধান করুন
যদি নেটওয়ার্ক পরিদর্শক ট্র্যাফিক মান সনাক্ত করে কিন্তু কোনো সমর্থিত নেটওয়ার্ক অনুরোধ সনাক্ত করতে না পারে, আপনি নিম্নলিখিত ত্রুটি বার্তা পাবেন:
**Network Inspector Data Unavailable:** There is no information for the
network traffic you've selected.
বর্তমানে, নেটওয়ার্ক ইন্সপেক্টর নেটওয়ার্ক সংযোগের জন্য শুধুমাত্র HttpsURLConnection
এবং OkHttp
লাইব্রেরি সমর্থন করে। যদি আপনার অ্যাপ অন্য নেটওয়ার্ক সংযোগ লাইব্রেরি ব্যবহার করে, তাহলে আপনি হয়তো নেটওয়ার্ক ইন্সপেক্টরে আপনার নেটওয়ার্ক কার্যকলাপ দেখতে পারবেন না। আপনি যদি এই ত্রুটি বার্তাটি পেয়ে থাকেন তবে আপনার অ্যাপটি HttpsURLConnection
বা OkHttp
ব্যবহার করে, একটি বাগ রিপোর্ট করুন বা আপনার সমস্যা সম্পর্কিত একটি বিদ্যমান প্রতিবেদনে আপনার প্রতিক্রিয়া অন্তর্ভুক্ত করতে সমস্যা ট্র্যাকার অনুসন্ধান করুন ৷ আপনি অতিরিক্ত লাইব্রেরির জন্য সমর্থন অনুরোধ করতে এই সম্পদগুলি ব্যবহার করতে পারেন।