ট্রেস সার্চ

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=1
    
  • IME লেয়ারে সঠিক স্ক্রিন বাউন্ড আছে এমন সব ফ্রেম খুঁজুন:

    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 কন্টেনারের প্রপার্টি সার্চ করতে পারবেন, যার মধ্যে রয়েছে:

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=1
    
  • Wallpaper'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 কলাম থাকলে, সেই কলামের ভ্যালুগুলিকে টাইমস্ট্যাম্প হিসেবে ব্যাখ্যা করা হয় এবং টাইমলাইন ওভারলেতে এন্ট্রি হিসেবে নতুন সারি যোগ করা হয়। এই সারিতে ক্লিক করুন এবং এন্ট্রির মধ্যে নেভিগেট করতে বাঁদিক ও ডানদিকের তীরচিহ্ন ব্যবহার করুন:

টাইমলাইন সার্চ করুন

ছবি ৪. টাইমলাইন সার্চ করুন।