Winscope Perfetto ট্রেসে নির্দিষ্ট স্টেট খুঁজতে SQL ব্যবহার করুন। Winscope UI-তে গ্লোবাল Search ভিউয়ার আপনাকে কোয়েরি চালাতে এবং সারণীভুক্ত ফলাফল দেখতে দেয়:
ছবি ১. সার্চ ভিউয়ার ট্যাব।
Search ভিউয়ার আপনাকে Perfetto ট্রেসে কাস্টম SQL কোয়েরি লিখতে ও চালাতে দেয়। এছাড়াও, আপনি সাম্প্রতিক ও সেভ করা কোয়েরি অ্যাক্সেস করতে পারবেন। Winscope আপনাকে SurfaceFlinger, ট্রানজ্যাকশন, ট্রানজিশন এবং ViewCapture ট্রেস সার্চ করতে সাহায্য করার জন্য বিশেষ SQL ভিউ প্রদান করে।
সব ভিউয়ের জন্য নিম্নলিখিত কনভেনশন ব্যবহার করুন:
propertyওflat_propertyকলামের জন্য:- প্রপার্টির নাম স্নেক কেসে লেখা হয়, যেমন
LayerProtoথেকেvisible_region। ডট নোটেশন নেস্টেড প্রপার্টিকে দেখায়, যেমন,
visible_region.rect।property-এ রিপিট করা ফিল্ডকে স্কোয়ার ব্র্যাকেট দিয়ে আলাদা করা হয়:যেমন, রিপিট করা ফিল্ড
visible_region.rect-এর দুটি ইনস্ট্যান্সের মধ্যে,topফিল্ডটিvisible_region.rect[0].topএবংvisible_region.rect[1].topদ্বারা দেখানো হয়।flat_property-এ রিপিট করা ফিল্ড আলাদা করে চেনা যায় না:যেমন, রিপিট করা ফিল্ডের দুটি ইনস্ট্যান্সের মধ্যে
visible_region.rect,topফিল্ডটি দুটি ইনস্ট্যান্সেইvisible_region.rect.topদ্বারা উপস্থাপিত হয়।
- প্রপার্টির নাম স্নেক কেসে লেখা হয়, যেমন
valueওprevious_valueকলামের জন্য, বুলিয়ান ভ্যালু0(False) বা1(True) দিয়ে বোঝানো হয়।
Winscope, ট্রেস-নির্দিষ্ট টেবিল থেকে ডেটা Perfetto args টেবিল-এর সাথে যুক্ত করে এই ভিউ তৈরি করে। আপনি সরাসরি এইসব টেবিল কোয়েরি করতে পারবেন।
args সারণীতে, key, flat_key ও display_value কলামগুলি যথাক্রমে
ভিউ কলাম property, flat_property ও value-এর সাথে সাদৃশ্যপূর্ণ।
args টেবিল:
| কলাম | বর্ণনা |
|---|---|
arg_set_id |
আর্গুমেন্টের একটি সেট অ্যাসোসিয়েট করতে ব্যবহার করা হয় |
flat_key |
প্রোটো মেসেজ থেকে প্রপার্টির নাম, রিপিট করা ফিল্ডের জন্য অ্যাকাউন্টিং নয় |
key |
প্রোটো মেসেজ থেকে প্রপার্টির নাম, বারবার দেখানো ফিল্ডের জন্য অ্যাকাউন্ট করা হচ্ছে |
value_type |
প্রপার্টির ভ্যালুর ধরন |
int_value |
মান যদি পূর্ণসংখ্যা হয় তাহলে প্রপার্টির মান |
string_value |
ভ্যালুর ধরন স্ট্রিং হলে প্রপার্টির ভ্যালু |
real_value |
ভ্যালুর ধরন বাস্তব হলে প্রপার্টি ভ্যালু |
display_value |
প্রপার্টির ভ্যালু স্ট্রিংয়ে কাস্ট করা হয়েছে |
SurfaceFlinger SQL ভিউ
SurfaceFlinger প্রোটো ডেটা এইসব ফর্ম্যাট ব্যবহার করে:
- লেয়ার ডেটা
LayerProtoফর্ম্যাটে আছে। - হায়ারার্কি রুট ডেটা
LayersSnapshotProtoফর্ম্যাটে আছে।
লেয়ার ডেটা সার্চ করতে, sf_layer_search ভিউ ব্যবহার করুন। এই ভিউতে এইসব
কলাম রয়েছে:
| কলাম | বর্ণনা |
|---|---|
state_id |
লেয়ারটি যে এন্ট্রি থেকে নেওয়া হয়েছে তার সারি আইডি |
ts |
লেয়ারটি যে এন্ট্রি থেকে নেওয়া হয়েছে তার টাইমস্ট্যাম্প |
layer_id |
লেয়ার আইডি |
parent_id |
অভিভাবকের লেয়ার আইডি |
layer_name |
লেয়ারের নাম |
is_visible |
লেয়ারের দৃশ্যমানতা |
property |
পুনরাবৃত্ত ফিল্ডের জন্য প্রপার্টির নাম |
flat_property |
প্রপার্টির নাম না, রিপিট করা ফিল্ডের জন্য অ্যাকাউন্টিং |
value |
স্ট্রিং ফর্ম্যাটে প্রপার্টির ভ্যালু |
previous_value |
স্ট্রিং ফর্ম্যাটে আগের এন্ট্রি থেকে প্রপার্টির ভ্যালু |
হায়ারার্কি রুট ডেটা সার্চ করতে, sf_hierarchy_root_search ভিউ ব্যবহার করুন। এই
ভিউতে এইসব কলাম রয়েছে:
| কলাম | বর্ণনা |
|---|---|
state_id |
এন্ট্রির সারি আইডি |
ts |
এন্ট্রির টাইমস্ট্যাম্প |
property |
পুনরাবৃত্ত ফিল্ডের জন্য প্রপার্টির নাম |
flat_property |
প্রপার্টির নাম না, রিপিট করা ফিল্ডের জন্য অ্যাকাউন্টিং |
value |
স্ট্রিং ফর্ম্যাটে প্রপার্টির ভ্যালু |
previous_value |
স্ট্রিং ফর্ম্যাটে আগের এন্ট্রি থেকে প্রপার্টি ভ্যালু |
কোয়েরির উদাহরণ
যেসব ফ্রেমে
IMEলেয়ার দেখা যাচ্ছে সেগুলি খুঁজুন:SELECT DISTINCT ts, layer_id, layer_name FROM sf_layer_search WHERE layer_name like 'IME%' AND is_visible=1IMEলেয়ারে সঠিক স্ক্রিন বাউন্ড আছে এমন সব ফ্রেম খুঁজুন:SELECT ts, value, previous_value FROM sf_layer_search WHERE layer_name like 'IME%' AND property='screen_bounds.bottom' AND value<='24000'Taskbarলেয়ারcolor.a(আলফা) পরিবর্তন হয় এমন সব ফ্রেম খুঁজুন:SELECT ts, value, previous_value FROM sf_layer_search WHERE layer_name like 'Taskbar%' AND property='color.a' AND value!=previous_valueএমন সব ফ্রেম খুঁজুন যেখানে
Wallpaper-এর নিচের বাউন্ডারি ২৪০০-এর থেকে কম বা সমান:SELECT ts, value, previous_value FROM sf_layer_search WHERE layer_name LIKE 'Wallpaper%' AND property='bounds.bottom' AND cast_int!(value) <= 2400সঠিক লেয়ার স্ট্যাক সহ ডিসপ্লের জন্য সব প্রপার্টির তালিকা তৈরি করুন:
SELECT STATE.* FROM sf_hierarchy_root_search STATE_WITH_DISPLAY_ON INNER JOIN sf_hierarchy_root_search STATE ON STATE.state_id = STATE_WITH_DISPLAY_ON.state_id AND STATE_WITH_DISPLAY_ON.flat_property='displays.layer_stack' AND STATE_WITH_DISPLAY_ON.value!='4294967295' AND STATE.property LIKE CONCAT( SUBSTRING( STATE_WITH_DISPLAY_ON.property, 0, instr(STATE_WITH_DISPLAY_ON.property, ']') ), '%' )যেসব ফ্রেমে সোয়াইপ ব্যাক জেসচার দেখা যাচ্ছে সেগুলি খুঁজে বের করুন
SELECT DISTINCT STATE.ts FROM sf_layer_search STATE WHERE STATE.layer_name LIKE 'EdgeBackGestureHandler%'
ডেটা টেবিল
নিম্নলিখিত অন্তর্নিহিত টেবিল ব্যবহার করে SurfaceFlinger ভিউ তৈরি করা হয়।
surfaceflinger_layers_snapshot:
| কলাম | বর্ণনা |
|---|---|
id |
এন্ট্রির জন্য সারি আইডি |
ts |
এন্ট্রির টাইমস্ট্যাম্প |
arg_set_id |
args টেবিলের সারিকে এই এন্ট্রির সাথে যুক্ত করতে ব্যবহৃত আইডি |
surfaceflinger_layer:
| কলাম | বর্ণনা |
|---|---|
id |
লেয়ারের জন্য সারি আইডি |
snapshot_id |
surfaceflinger_layers_snapshot থেকে এন্ট্রিটির সারি আইডি, যেটির সাথে লেয়ারটি সম্পর্কিত |
arg_set_id |
args টেবিলের সারিগুলিকে এই লেয়ারের সাথে যুক্ত করতে ব্যবহৃত আইডি |
ট্রানজ্যাকশন SQL ভিউ
ট্রানজ্যাকশন প্রোটো ডেটা
TransactionTraceEntry ফর্ম্যাট ব্যবহার করে।
ট্রানজ্যাকশন ট্রেস ডেটা সার্চ করতে, transactions_search ভিউ ব্যবহার করুন। এই ভিউতে
এইসব কলাম অন্তর্ভুক্ত থাকে:
| কলাম | বর্ণনা |
|---|---|
state_id |
যে এন্ট্রির সাথে প্রোটো প্রপার্টি সম্পর্কিত, সেটির সারি আইডি |
ts |
প্রোটো প্রপার্টি যে এন্ট্রির অন্তর্গত সেটির টাইমস্ট্যাম্প |
transaction_id |
উপলভ্য থাকলে ট্রানজ্যাকশন আইডি |
property |
রিপিট করা ফিল্ডের জন্য প্রপার্টির নাম অ্যাকাউন্টিং |
flat_property |
প্রপার্টির নাম না, রিপিট করা ফিল্ডের জন্য অ্যাকাউন্টিং |
value |
স্ট্রিং ফর্ম্যাটে প্রপার্টির ভ্যালু |
কোয়েরির উদাহরণ
যে ফ্রেমে লেয়ার x-এর পজিশন পরিবর্তন করে -৫৪.০ করা হয়েছে সেই ফ্রেমটি খুঁজে বের করুন:
SELECT ts, transaction_id, value FROM transactions_search WHERE flat_property='transactions.layer_changes.x' AND value='-54.0'যে ফ্রেমে
ImeContainerলেয়ার যোগ করা হয়েছে সেটি খুঁজুন:SELECT ts FROM transactions_search WHERE flat_property='added_layers.name' AND value='ImeContainer'
ডেটা টেবিল
নিচে উল্লেখ করা টেবিল ব্যবহার করে ট্রানজ্যাকশন SQL ভিউ তৈরি করা হয়।
surfaceflinger_transactions:
| কলাম | বর্ণনা |
|---|---|
id |
এন্ট্রির জন্য সারি আইডি |
ts |
এন্ট্রির টাইমস্ট্যাম্প |
arg_set_id |
args টেবিলের সারিকে এই এন্ট্রির সাথে যুক্ত করতে ব্যবহৃত আইডি |
vsync_id |
এই এন্ট্রির সব ট্রানজ্যাকশনের সাথে যুক্ত VSync আইডি |
android_surfaceflinger_transaction:
| কলাম | বর্ণনা |
|---|---|
id |
ট্রানজ্যাকশনের জন্য সারি আইডি |
snapshot_id |
surfaceflinger_transactions থেকে এন্ট্রিটির সারি আইডি যার সাথে ট্রানজ্যাকশন সম্পর্কিত |
arg_set_id |
এই ট্রানজ্যাকশনের সাথে args টেবিল থেকে সারি অ্যাসোসিয়েট করতে ব্যবহৃত আইডি |
transaction_id |
প্রোটো মেসেজ থেকে নেওয়া ট্রানজ্যাকশন আইডি |
pid |
প্রোটো মেসেজ থেকে নেওয়া ট্রানজ্যাকশন PID |
uid |
প্রোটো মেসেজ থেকে ট্রানজ্যাকশন UID নেওয়া হয়েছে |
layer_id |
প্রযোজ্য হলে, ট্রানজ্যাকশনের সাথে যুক্ত লেয়ারের আইডি |
display_id |
প্রযোজ্য হলে, ট্রানজ্যাকশনের সাথে যুক্ত ডিসপ্লের আইডি |
flags_id |
android_surfaceflinger_transaction_flag থেকে সংশ্লিষ্ট ফ্ল্যাগ রিট্রিভ করতে ব্যবহৃত আইডি |
transaction_type |
ট্রানজ্যাকশনের ধরন |
android_surfaceflinger_transaction_flag:
| কলাম | বর্ণনা |
|---|---|
flags_id |
android_surfaceflinger_transaction-এর সারিতে থাকা ভ্যালুর সাথে মানানসই |
flag |
অনুবাদ করা ফ্ল্যাগ স্ট্রিং |
ট্রানজ্যাকশনের ধরনের উপর ভিত্তি করে, আলাদা আলাদা proto message ফর্ম্যাট থেকে args টেবিলে আলাদা আলাদা ট্রানজ্যাকশন যোগ করা হয়:
LAYER_ADDED:LayerCreationArgsফর্ম্যাটLAYER_CHANGED:LayerStateফর্ম্যাটDISPLAY_ADDED:DisplayStateফর্ম্যাটDISPLAY_CHANGED:DisplayStateফর্ম্যাটLAYER_DESTROYED: কোনও আর্গুমেন্ট নেইLAYER_HANDLE_DESTROYED: কোনও আর্গুমেন্ট নেইDISPLAY_REMOVED: কোনও আর্গুমেন্ট নেইNOOP: কোনও আর্গুমেন্ট নেই
ট্রানজিশনের SQL ভিউ
ট্রানজিশন প্রোটো ডেটা
ShellTransition ফর্ম্যাট ব্যবহার করে।
ট্রানজিশন ডেটা সার্চ করতে, transitions_search ভিউ ব্যবহার করুন। এই ভিউতে
এইসব কলাম অন্তর্ভুক্ত থাকে:
| কলাম | বর্ণনা |
|---|---|
ts |
প্রেরণের সময়; উপলভ্য থাকলে পাঠানোর সময় ব্যবহার করা হয়, অন্যথায় 0 |
transition_id |
প্রোটো মেসেজ থেকে নেওয়া ট্রানজিশন আইডি |
property |
রিপিট করা ফিল্ডের জন্য প্রপার্টির নাম অ্যাকাউন্টিং |
flat_property |
প্রপার্টির নাম রিপিট করা ফিল্ডের জন্য হিসেব করা হচ্ছে না |
value |
প্রোটো মেসেজ থেকে নেওয়া ট্রানজ্যাকশন UID |
কোয়েরির উদাহরণ
DefaultMixedHandler দ্বারা ম্যানেজ করা ট্রানজিশনের প্রপার্টি খুঁজুন:
SELECT
PROPS.ts,
PROPS.transition_id,
PROPS.property,
PROPS.value
FROM transitions_search HANDLER_MATCH
INNER JOIN transitions_search PROPS
ON HANDLER_MATCH.transition_id = PROPS.transition_id
WHERE HANDLER_MATCH.property = 'handler'
AND HANDLER_MATCH.value LIKE "%DefaultMixedHandler"
ORDER BY PROPS.transition_id, PROPS.property
ডেটা টেবিল
নিম্নলিখিত অন্তর্নিহিত টেবিল ব্যবহার করে ট্রানজিশন ভিউ তৈরি করা হয়।
window_manager_shell_transitions:
| কলাম | বর্ণনা |
|---|---|
id |
ট্রানজিশনের জন্য সারি আইডি |
ts |
পাঠানোর সময়; উপলভ্য থাকলে পাঠানোর সময় ব্যবহার করা হয়, অন্যথায় 0 |
transition_id |
প্রোটো মেসেজ থেকে নেওয়া ট্রানজিশন আইডি |
arg_set_id |
এই ট্রানজিশনের সাথে args টেবিল থেকে সারি যুক্ত করতে আইডি ব্যবহার করা হয় |
transition_type |
প্রোটো মেসেজ থেকে নেওয়া ট্রানজিশনের ধরন |
send_time_ns |
প্রোটো মেসেজ থেকে ট্রানজিশন পাঠানোর সময় নেওয়া হয় |
dispatch_time_ns |
প্রোটো মেসেজ থেকে ট্রানজিশন ডিসপ্যাচের সময় নেওয়া হয়েছে |
duration_ns |
শুরু ও শেষ হওয়ার সময় উপলভ্য থাকলে ট্রানজিশনের সময়সীমা |
handler |
ট্রানজিশন হ্যান্ডলার: window_manager_shell_transition_handlers থেকে অনুবাদ পুনরুদ্ধার করা |
status |
ট্রানজিশন স্ট্যাটাস: played, merged, বা aborted |
flags |
প্রোটো মেসেজ থেকে ট্রানজিশন ফ্ল্যাগ নেওয়া হয়েছে |
window_manager_shell_transition_handlers:
| কলাম | বর্ণনা |
|---|---|
handler_id |
window_manager_shell_transitions-এর handler কলামের ভ্যালুর সাথে সম্পর্কিত আইডি |
handler_name |
স্ট্রিং অনুবাদ |
android_window_manager_shell_transition_participants:
| কলাম | বর্ণনা |
|---|---|
transition_id |
কাঁচা প্রোটো মেসেজ থেকে নেওয়া ট্রানজিশন আইডি |
layer_id |
SurfaceFlinger লেয়ারে অংশগ্রহণকারীর আইডি |
window_id |
WindowManager কন্টেনার অংশগ্রহণকারীর আইডি |
ViewCapture SQL ভিউ
ViewCapture প্রোটো ডেটা
View ফর্ম্যাট ব্যবহার করে।
ViewCapture ডেটা সার্চ করতে, viewcapture_search ভিউ ব্যবহার করুন। এই ভিউতে
এইসব কলাম অন্তর্ভুক্ত থাকে:
| কলাম | বর্ণনা |
|---|---|
state_id |
যে রাজ্যের ভিউ সেটি সেই রাজ্যের সারি আইডি |
ts |
ভিউ যে স্টেটের অন্তর্গত তার টাইমস্ট্যাম্প |
package_name |
প্যাকেজের নাম |
window_name |
উইন্ডোর নাম |
class_name |
ক্লাসের নাম দেখুন |
property |
পুনরাবৃত্ত ফিল্ডের জন্য প্রপার্টির নাম |
flat_property |
প্রপার্টির নাম না, রিপিট করা ফিল্ডের জন্য অ্যাকাউন্টিং |
value |
স্ট্রিং ফর্ম্যাটে প্রপার্টির ভ্যালু |
previous_value |
স্ট্রিং ফর্ম্যাটে আগের স্টেট থেকে প্রপার্টির ভ্যালু |
কোয়েরির উদাহরণ
SearchContainerView y-অক্ষ বরাবর সরলে সব স্টেট খুঁজে দেখুন:
SELECT * FROM viewcapture_search
WHERE class_name LIKE '%SearchContainerView'
AND flat_property='translation_y'
AND value!=previous_value
ডেটা টেবিল
নিম্নলিখিত অন্তর্নিহিত টেবিল ব্যবহার করে ViewCapture ভিউ তৈরি করা হয়।
android_viewcapture:
| কলাম | বর্ণনা |
|---|---|
id |
এন্ট্রির জন্য সারি আইডি |
ts |
এন্ট্রির টাইমস্ট্যাম্প |
arg_set_id |
args টেবিলের সারিকে এই এন্ট্রির সাথে যুক্ত করতে ব্যবহৃত আইডি |
android_viewcapture_view:
| কলাম | বর্ণনা |
|---|---|
id |
ভিউয়ের জন্য সারি আইডি |
snapshot_id |
android_viewcapture থেকে এন্ট্রির সারি আইডি যা ভিউয়ের অন্তর্গত |
arg_set_id |
এই ভিউয়ের সাথে args টেবিল থেকে সারি যুক্ত করতে আইডি ব্যবহার করা হয় |
ProtoLog SQL টেবিল
ProtoLog প্রোটো ডেটা
ProtoLogMessage ফর্ম্যাট ব্যবহার করে। এই ভিউতে এইসব কলাম অন্তর্ভুক্ত থাকে:
| কলাম | বর্ণনা |
|---|---|
ts |
লগের টাইমস্ট্যাম্প |
level |
লগ লেভেল |
tag |
লগিং গ্রুপ ট্যাগ |
message |
লগ মেসেজ |
stacktrace |
স্ট্যাকট্রেস (উপলভ্য থাকলে) |
location |
মেসেজ যে কোড লোকেশন থেকে তৈরি হয়েছে |
কোয়েরির উদাহরণ
transitionসহ মেসেজ আছে এমন সব লগ খুঁজুন:SELECT ts, message, location FROM protolog WHERE message LIKE '%transition%'সঠিক ট্রানজ্যাকশন আইডি আছে এমন সব লগ খুঁজে দেখুন:
CREATE PERFETTO VIEW valid_tx_ids AS SELECT DISTINCT transaction_id FROM transactions_search WHERE transaction_id IS NOT NULL AND transaction_id != '0'; SELECT TRANS.transaction_id, message FROM valid_tx_ids TRANS INNER JOIN protolog LOGS ON LOGS.message LIKE CONCAT('%', TRANS.transaction_id, '%');
WindowManager SQL ভিউ
WindowManager প্রোটো ডেটা হায়ারার্কিক্যাল
WindowManagerServiceDumpProto ফর্ম্যাট ব্যবহার করে। আপনি যেকোনও WindowManager কন্টেনারের প্রপার্টি সার্চ করতে পারবেন, যার মধ্যে রয়েছে:
DisplayContentProtoDisplayAreaProtoTaskProtoActivityRecordProtoWindowTokenProtoWindowStateProtoTaskFragmentProtoWindowContainerProto
WindowManager ডেটা সার্চ করতে, wm_search ভিউ ব্যবহার করুন। এই ভিউতে এইসব কলাম
রয়েছে:
| কলাম | বর্ণনা |
|---|---|
state_id |
কন্টেনারটি যে রাজ্যের অন্তর্গত সেটির সারি আইডি |
ts |
কন্টেনারটি যে স্টেটের অন্তর্গত তার টাইমস্ট্যাম্প |
title |
কন্টেনারের শীর্ষক |
token |
কন্টেনার টোকেন |
parent_token |
পেরেন্ট কন্টেনার টোকেন |
is_visible |
কন্টেনারের দৃশ্যমানতা |
property |
রিপিট করা ফিল্ডের জন্য প্রপার্টির নাম অ্যাকাউন্টিং |
flat_property |
প্রপার্টির নাম না, রিপিট করা ফিল্ডের জন্য অ্যাকাউন্টিং |
value |
স্ট্রিং ফর্ম্যাটে প্রপার্টির ভ্যালু |
previous_value |
স্ট্রিং ফর্ম্যাটে আগের স্টেট থেকে প্রপার্টির ভ্যালু |
কোয়েরির উদাহরণ
LauncherActivityদেখা যায় এমন সব রাজ্য খুঁজুন:SELECT DISTINCT ts, title, token FROM wm_search WHERE title like '%LauncherActivity%' AND is_visible=1Wallpaper's সারফেস মুভ করছে এমন সব রাজ্য খুঁজুন:SELECT ts, value, previous_value FROM wm_search WHERE title like '%Wallpaper%' AND property like '%surface_position%' AND value != previous_value
ডেটা টেবিল
নিম্নলিখিত অন্তর্নিহিত টেবিল ব্যবহার করে WindowManager ভিউ তৈরি করা হয়।
android_windowmanager:
| কলাম | বর্ণনা |
|---|---|
id |
এন্ট্রির জন্য সারি আইডি |
ts |
এন্ট্রির টাইমস্ট্যাম্প |
arg_set_id |
args টেবিলের সারিকে এই এন্ট্রির সাথে যুক্ত করতে ব্যবহৃত আইডি |
android_windowmanager_windowcontainer:
| কলাম | বর্ণনা |
|---|---|
id |
কন্টেনারের জন্য সারি আইডি |
snapshot_id |
android_windowmanager থেকে এন্ট্রিটির সারি আইডি, যেটির সাথে কন্টেনারটি সম্পর্কিত |
arg_set_id |
args টেবিলের সারিগুলিকে এই ভিউয়ের সাথে যুক্ত করতে ব্যবহৃত আইডি |
কোয়েরি চালানো
সার্চ ভিউয়ারের বাঁদিকে গ্লোবাল সার্চ প্যানেল ব্যবহার করে আপনি সার্চ কোয়েরি চালাতে পারবেন।
আপনি প্রথমবার গ্লোবাল সার্চ প্যানেলের সাথে ইন্টার্যাক্ট করলে, ট্রেস সার্চ ইনিশিয়ালাইজ হয় এবং Winscope, সহায়ক SQL ভিউ তৈরি করে। এতে কয়েক সেকেন্ড সময় লাগবে। ট্রেস সার্চ শুরু করার সময় টাইমলাইন উপলভ্য থাকে না।
কোয়েরি শুরু করতে, সার্চ বক্সে কোয়েরি লিখুন এবং সার্চ কোয়েরি রান করুন বিকল্পে ক্লিক করুন অথবা এটি রান করতে আপনার কীবোর্ডে Enter প্রেস করুন।
হয়ে গেলে, মাঝের প্যানেলে ফলাফলের সারণী দেখানো হয়। আপনার কোয়েরি সার্চ বক্সের নিচে দেখা যাবে, সেশনের মধ্যে কোয়েরি সেভ করার জন্য একটি ফিল্ডও থাকবে।
আপনি বাঁদিকের প্যানেলে সেভ করা ট্যাবে ক্লিক করে সেভ করা কোয়েরি অ্যাক্সেস করতে পারবেন এবং সাম্প্রতিক ট্যাবে ক্লিক করে সম্প্রতি রান করা কোয়েরি অ্যাক্সেস করতে পারবেন:
ছবি ২. ভিউয়ারের বাঁদিকের প্যানেলে সার্চ করুন।
ফলাফল
সব কোয়েরি সারণী আকারে ফলাফল দেখায়, যা স্ক্রল করা যায় এমন ভিউতে ইন্টার্যাক্টিভ আচরণ সহ দেখানো হয়, যা লগ-ভিত্তিক ট্রেস ভিউয়ারের মতো, যেমন ট্রানজ্যাকশন এবং ProtoLog:
ছবি ৩. দর্শকদের সার্চ ফলাফল।
ফলাফল হিসেবে প্রাপ্ত টেবিলে ts কলাম থাকলে, সেই কলামের ভ্যালুগুলিকে
টাইমস্ট্যাম্প হিসেবে ব্যাখ্যা করা হয় এবং টাইমলাইন ওভারলেতে এন্ট্রি হিসেবে
নতুন সারি যোগ করা হয়। এই সারিতে ক্লিক করুন এবং এন্ট্রির মধ্যে নেভিগেট করতে বাঁদিক ও ডানদিকের তীরচিহ্ন ব্যবহার করুন:
ছবি ৪. টাইমলাইন সার্চ করুন।