WinScope एक ऐसा वेब टूल है जिसकी मदद से उपयोगकर्ता, ऐनिमेशन और ट्रांज़िशन के दौरान और उनके बाद सिस्टम की कई सेवाओं की स्थितियों को रिकॉर्ड, रीप्ले, और उनका विश्लेषण कर सकते हैं. Winscope, ट्रैक फ़ाइल में सिस्टम की सभी काम की सेवाओं की स्थितियों को रिकॉर्ड करता है. ट्रेस फ़ाइल के साथ WinScope के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, स्क्रीन रिकॉर्डिंग के साथ या उसके बिना, हर ऐनिमेशन फ़्रेम के लिए इन सेवाओं की स्थिति की जांच की जा सकती है. इन सेवाओं को फिर से चलाकर, स्टेप करके, और ट्रांज़िशन के ज़रिए डीबग करके देखा जा सकता है.
सिस्टम की ये सेवाएं, Winscope में लोड किए जा सकने वाले ट्रेस जनरेट करती हैं:
- SurfaceFlinger
- विंडोमैनेजर
- WMShell
- IME
- लॉन्चर
Winscope ट्रेस व्यूअर चलाना
Winscope ट्रैकिंग, प्लैटफ़ॉर्म पर उपलब्ध सेवाओं का हिस्सा है. इस सेक्शन में, Winscope ट्रेस व्यूअर को डाउनलोड करने, बनाने, और चलाने के लिए ज़रूरी चरणों के बारे में बताया गया है.
WinScope ट्रेसर चलाने के लिए, अपने पीसी को सेट अप करने के लिए यह तरीका अपनाएं:
- Android सोर्स डाउनलोड करें.
Winscope फ़ोल्डर पर जाएं:
cd development/tools/winscope
इनका इस्तेमाल करके डिपेंडेंसी इंस्टॉल करें:
npm install
उपलब्ध निर्देशों की सूची देखने के लिए, यह चलाकर देखें:
npm run
इनका इस्तेमाल करके, सभी प्रोडक्शन और टेस्ट टारगेट बनाएं:
npm run build:prod
WinScope का इस्तेमाल करके चलाएं:
npm run start
ट्रेस कैप्चर करें
डिवाइस पर ट्रैक रिकॉर्ड करने के लिए, Winscope या Android डीबग ब्रिज (adb) कमांड का इस्तेमाल किया जा सकता है.
डिवाइस पर ट्रैक रिकॉर्ड करना
ऐनिमेशन से जुड़ी समस्याओं के लिए गड़बड़ी की शिकायत करते समय, डेटा इकट्ठा करने के लिए डिवाइस पर ट्रेस कैप्चर करें. सभी यूज़र इंटरफ़ेस (यूआई) ट्रेस इस तरीके से रिकॉर्ड किए जाते हैं, क्योंकि कॉन्फ़िगरेशन को पसंद के मुताबिक नहीं बनाया जा सकता.
अपने Android डिवाइस पर:
- डेवलपर के लिए सेटिंग और टूल चालू करें.
- डेवलपर के लिए सेटिंग और टूल में जाकर, सिस्टम ट्रैकिंग चुनें.
- WinScope के ट्रेस इकट्ठा करें को चालू करें.
- अन्य सेक्शन में जाकर:
- गड़बड़ी की रिपोर्ट में रिकॉर्डिंग अटैच करें को चालू करें.
- क्विक सेटिंग टाइल दिखाएं को चालू करें.
- उस जगह पर जाएं जहां आपको गड़बड़ी की जानकारी फिर से देनी है.
कैप्चर शुरू करने के लिए, क्विक सेटिंग खोलें और गतिविधि रिकॉर्ड करें को चुनें:
पहली इमेज. रिकॉर्ड ट्रेस की सुविधा के साथ फटाफट सेटिंग मेन्यू.
गड़बड़ी को फिर से दिखाने के लिए, सिर्फ़ ज़रूरी चरण पूरे करें.
कैप्चर करना बंद करने के लिए, क्विक सेटिंग खोलें और ट्रेस करना बंद करें चुनें.
कैप्चर किए गए लॉग को, Gmail, Drive या BetterBug जैसे विकल्पों में से किसी एक का इस्तेमाल करके शेयर करें.
WinScope की मदद से ट्रेस कैप्चर करें
लोकल डेवलपमेंट और डीबग करने के लिए, WinScope का इस्तेमाल करके ट्रेस कैप्चर की जा सकती है. WinScope, adb का इस्तेमाल करता है. यह यूएसबी या वाई-फ़ाई से डिवाइस के कनेक्शन की सुविधा देता है.
Winscope पर:
ट्रैस इकट्ठा करें स्क्रीन पर, ADB प्रॉक्सी पर क्लिक करें:
दूसरी इमेज. WinScope पर ट्रेस कैप्चर करें.
सीधे अपने ब्राउज़र से ट्रेस कैप्चर करने के लिए, WinScope ADB Connect प्रॉक्सी को लॉन्च करें.
निर्देश चलाएं:
python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
कैप्चर शुरू करने के लिए, ट्रेस इकट्ठा करें स्क्रीन पर, टारगेट और कॉन्फ़िगरेशन चुनें. इसके बाद, ट्रेस शुरू करें पर क्लिक करें:
तीसरी इमेज. Winscope पर ट्रेस इकट्ठा करें.
कैप्चर करना बंद करने के लिए, ट्रेस खत्म करें पर क्लिक करें:
चौथी इमेज. Winscope पर ट्रेस खत्म करें.
जैसे ही टूल WinScope के यूज़र इंटरफ़ेस (यूआई) पर ट्रेस अपलोड करता है, इसलिए स्क्रीन पर फ़ेचिंग और पार्सिंग प्रोटो फ़ाइल मैसेज दिखने लगते हैं.
WinScope का इस्तेमाल करके स्टेट डंप जनरेट करें
WinScope का इस्तेमाल करके स्टेट डंप लेने के लिए, ट्रेस इकट्ठा करें स्क्रीन पर डंप टैब चुनें. इसके बाद, डंप की स्थिति पर क्लिक करें:
पांचवी इमेज. Winscope पर डंप की स्थिति.
adb कमांड की मदद से ट्रेस कैप्चर करना
नीचे दिए गए हर ट्रेस के लिए, adb shell
कमांड चलाने से पहले adb root
चलाएं. ट्रेस करने के बाद, ट्रेस फ़ाइलें /data/misc/wmtrace
में उपलब्ध होती हैं. किसी डिवाइस से फ़ाइल या डायरेक्ट्री और उसकी सब-डायरेक्ट्री को कॉपी करने के लिए, किसी डिवाइस पर फ़ाइलें कॉपी करना और उससे फ़ाइलें कॉपी करना लेख पढ़ें.
ज़्यादा जानकारी के लिए, adb देखें.
WindowManager ट्रेस
WindowManager के ट्रेस कैप्चर करने के लिए:
ट्रेस की सुविधा चालू करें:
adb shell wm tracing start
ट्रेस करने की सुविधा बंद करें:
adb shell wm tracing stop
ट्रेस कैप्चर करते समय, लॉगिंग डेटा को फ़ाइल में सेव करें:
adb shell wm tracing save-for-bugreport
हर फ़्रेम के लिए एक बार ट्रैक लॉग करें:
adb shell wm tracing frame
हर लेन-देन को लॉग करें:
adb shell wm tracing transaction
लॉग का ज़्यादा से ज़्यादा साइज़ (केबी में) सेट करें:
adb shell wm tracing size
ट्रेस की स्थिति प्रिंट करें:
adb shell wm tracing status
लॉग लेवल को
critical
(सिर्फ़ कम जानकारी वाली विंडो),trim
(कम जानकारी वाली सभी विंडो) याall
(सभी विंडो और जानकारी) पर सेट करें:adb shell wm tracing level
प्रोटोलॉग
यहां दिए गए निर्देशों का इस्तेमाल, ProtoLog सिस्टम के लिए किया जाता है.
system_server
की प्रोसेस में:
ProtoLog शुरू करें:
adb shell cmd window logging start
ProtoLog बंद करें:
adb shell cmd window logging stop
दिए गए लॉग ग्रुप के लिए ProtoLog चालू करें:
adb shell cmd window logging enable [group...]
दिए गए लॉग ग्रुप के लिए ProtoLog बंद करें:
adb shell cmd window logging disable [group...]
दिए गए लॉग ग्रुप के लिए, Logcat की लॉगिंग की सुविधा चालू करें:
adb shell cmd window logging enable-text [group...]
दिए गए लॉग ग्रुप के लिए, Logcat लॉगिंग बंद करें:
adb shell cmd window logging disable-text [group...]
WMShell में:
ProtoLog शुरू करें:
adb shell dumpsys activity service SystemUIService WMShell
ट्रांज़िशन ट्रेसिंग
ट्रांज़िशन ट्रैकिंग के लिए, इन निर्देशों का इस्तेमाल किया जाता है:
system_server
की प्रोसेस में:
ट्रेस शुरू करें:
adb shell cmd window shell tracing start
ट्रेस बंद करना:
adb shell cmd window shell tracing stop
WMShell में ट्रेस करना:
adb shell dumpsys activity service SystemUIService WMShell transitions tracing start
WMShell में ट्रैकिंग बंद करने के लिए:
adb shell dumpsys activity service SystemUIService WMShell transitions tracing stop
इनपुट पद्धति संपादक
इनपुट के तरीके के संपादक (आईएमई) को ट्रैक करने के लिए, इन निर्देशों का इस्तेमाल किया जाता है:
इनपुट के तरीके (आईएम) के क्लाइंट, इनपुट के तरीके की सेवा (आईएमएस), और इनपुट के तरीके के मैनेजमेंट की सेवा (आईएमएमएस) के लिए, IME ट्रैकिंग शुरू करना:
adb shell ime tracing start
IME क्लाइंट, IMS, और I MMS को ट्रेस करना शुरू करें:
adb shell ime tracing stop
SurfaceFlinger लेयर
SurfaceFlinger लेयर ट्रैसिंग, कैप्चर के लिए Perfetto ट्रेस का इस्तेमाल करती है. कॉन्फ़िगरेशन की जानकारी के लिए, ट्रैक कॉन्फ़िगरेशन देखें.
SurfaceFlinger लेयर ट्रैकिंग के लिए कॉन्फ़िगरेशन का यह उदाहरण देखें:
unique_session_name: "surfaceflinger_layers_active"
buffers: {
size_kb: 63488
fill_policy: RING_BUFFER
}
data_sources: {
config {
name: "android.surfaceflinger.layers"
surfaceflinger_layers_config: {
mode: MODE_ACTIVE
trace_flags: TRACE_FLAG_INPUT
trace_flags: TRACE_FLAG_COMPOSITION
trace_flags: TRACE_FLAG_HWC
trace_flags: TRACE_FLAG_BUFFERS
trace_flags: TRACE_FLAG_VIRTUAL_DISPLAYS
}
}
}
SurfaceFlinger लेयर के लिए ट्रेसिंग जनरेट करने के लिए, यह उदाहरण कमांड देखें:
adb shell -t perfetto \
-c - --txt \
-o /data/misc/perfetto-traces/trace \
SurfaceFlinger लेन-देन
SurfaceFlinger लेन-देन ट्रैकिंग, कैप्चर करने के लिए Perfetto ट्रेस का इस्तेमाल करती है. कॉन्फ़िगरेशन की जानकारी के लिए, ट्रेस कॉन्फ़िगरेशन देखें.
SurfaceFlinger ऐक्टिव ट्रेसिंग के लिए Perfetto कॉन्फ़िगरेशन का यह उदाहरण देखें:
unique_session_name: "surfaceflinger_transactions_active"
buffers: {
size_kb: 1024
fill_policy: RING_BUFFER
}
data_sources: {
config {
name: "android.surfaceflinger.transactions"
surfaceflinger_transactions_config: {
mode: MODE_ACTIVE
}
}
}
write_into_file: true
file_write_period_ms: 100
SurfaceFlinger के लिए लगातार ट्रैकिंग की सुविधा के Perfetto कॉन्फ़िगरेशन का यह उदाहरण देखें:
unique_session_name: "surfaceflinger_transactions_continuous"
buffers: {
size_kb: 1024
fill_policy: RING_BUFFER
}
data_sources: {
config {
name: "android.surfaceflinger.transactions"
surfaceflinger_transactions_config: {
mode: MODE_CONTINUOUS
}
}
}
SurfaceFlinger लेन-देन की ट्रेसिंग जनरेट करने के लिए, यह उदाहरण देखें:
adb shell perfetto \
-c - --txt \
-o /data/misc/perfetto-traces/trace \
adb का इस्तेमाल करके स्टेट डंप जनरेट करना
Winscope, गड़बड़ी की रिपोर्ट से WindowManager और SurfaceFlinger की स्थितियों का स्नैपशॉट पढ़ता है. गड़बड़ी की रिपोर्ट, स्थितियों को proto
फ़ोल्डर में अलग-अलग प्रोटो फ़ाइलों के तौर पर सेव करती हैं. adb का इस्तेमाल करके स्टेट डंप जनरेट करने के लिए, इन कमांड को चलाएं.
WindowManager के लिए:
adb exec-out dumpsys window --proto > window_dump.winscope
SurfaceFlinger के लिए:
adb exec-out dumpsys SurfaceFlinger --proto > sf_dump.winscope
ट्रेस का विश्लेषण करें
ऐनिमेशन से जुड़ी समस्याओं की वजह बनने वाले अस्थायी और अमान्य स्टेटस को डीबग करने के लिए, Winscope अलग-अलग ट्रेस फ़ाइलों को इकट्ठा करता है. साथ ही, फ़्रेम और टाइमलाइन पर खोज और विज़ुअलाइज़ेशन की सुविधा देता है. साथ ही, protobuf मैसेज को एक साथ दिखाता है. Winscope में ट्रैस का विश्लेषण करने से, बग की जगह, फ़्रेम, और स्टेटस की सटीक जानकारी मिलती है.
Winscope का इस्तेमाल करना
ट्रेस कैप्चर करने के बाद, Winscope पर ट्रेस का विश्लेषण करें:
दाईं ओर मौजूद पैनल का इस्तेमाल करके, सेव किए गए ट्रेस अपलोड करें. अपलोड किए गए ट्रेस हटाए जा सकते हैं या ज़्यादा ट्रेस अपलोड किए जा सकते हैं.
छठी इमेज. Winscope पर ट्रेस अपलोड करें.
अपलोड किए गए ट्रेस को विज़ुअलाइज़ करने के लिए, ट्रैस देखें पर क्लिक करें. हर ट्रेस के लिए टैब, विंडो के सबसे ऊपर वाले पैनल में दिखते हैं. अगर अपलोड की गई फ़ाइल में काम के ट्रेस मौजूद हैं, तो स्क्रीन रिकॉर्डिंग के ट्रेस का फ़्लोटिंग व्यू, स्क्रीन पर ओवरले हो जाता है.
सातवीं इमेज. WinScope पर ट्रेस देखें.
का नाम बदलने और अपलोड किया गया ट्रेस डाउनलोड करने या नया ट्रेस अपलोड करने के लिए, विंडो के सबसे ऊपर मौजूद पैनल में यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करें.
विंडो के सबसे नीचे मौजूद पैनल में, टाइम स्लाइडर टूल का इस्तेमाल करके, समय के साथ ट्रैक किए गए डेटा को देखें. समय के हिसाब से नेविगेट करने के लिए, नीचे दी गई सुविधाओं का इस्तेमाल करें, जैसा कि आठवें चित्र में दिखाया गया है:
- किसी खास समय या गतिविधि पर जाने के लिए, कर्सर (टाइम स्लाइडर) या टाइम डिसप्ले बॉक्स में दिए गए बाएं और दाएं ऐरो या अपने कीबोर्ड पर मौजूद बाएं और दाएं ऐरो का इस्तेमाल करें.
- टाइमलाइन पर चुने गए कलर कोड वाले ट्रेस दिखाने के लिए, ड्रॉप-डाउन मेन्यू (टाइम स्लाइडर के बाईं ओर) का इस्तेमाल करें. डिफ़ॉल्ट रूप से, ट्रैक टैब का इस्तेमाल करके देखे गए पिछले तीन ट्रैक, टाइमलाइन पर दिखते हैं.
- अपलोड किए गए सभी ट्रेस को बेहतर तरीके से देखने के लिए, ज़ूम इन या ज़ूम आउट टूल (टाइम स्लाइडर के नीचे) का इस्तेमाल करें या अपने कीबोर्ड पर स्क्रोल करें. ज़ूम लेवल को रीसेट करने के लिए, रीसेट बटन का इस्तेमाल करें.
- समय के साथ ट्रेस डिस्ट्रिब्यूशन के बारे में ज़्यादा जानकारी पाने के लिए, अप ऐरो (नीचे दाएं कोने में) पर क्लिक करें.
आठवीं इमेज. WinScope पर टाइम नेविगेशन.
बड़े किए गए व्यू (इमेज 9) में, बेहतर जांच के लिए खास समयावधि चुनें और उन पर ज़ूम इन करें:
नौवीं इमेज. WinScope पर टाइमलाइन को बड़ा किया गया है.
ट्रेस की जांच करने के लिए, स्क्रीन रिकॉर्डिंग की मदद से डिवाइस की स्थिति देखी जा सकती है. किसी खास ट्रेस की जांच करने के लिए, टूल के सबसे ऊपर मौजूद पैनल में, उससे जुड़े ट्रेस टैब पर क्लिक करें.
Surface Flinger ट्रेस के लिए, तीन पैनल किसी तय समयावधि में ट्रेस के अलग-अलग व्यू दिखाते हैं, जैसा कि फ़ोटो 10 में दिखाया गया है:
10वीं इमेज. WinScope पर सरफ़ेस फ़्लिंगर ट्रेस करता है.
लेयर व्यू: आयताकार ओवरले में लेयर का 3D व्यू. नीचे दिए गए यूज़र इंटरफ़ेस (यूआई) एलिमेंट, रेक्टैंगल को अडजस्ट करने के लिए, ग्राफ़िकल एलिमेंट को उनकी पोज़िशन, साइज़, ट्रांसफ़ॉर्म, और z-ऑर्डर के हिसाब से दिखाते हैं:
- रोटेशन स्लाइडर (लेयर व्यू में सबसे ऊपर बाईं ओर), लेयर वाले रेक्टैंगल को चुने गए ऐंगल पर देखने के लिए, उन्हें घुमाता है.
- स्पेसिंग स्लाइडर (लेयर व्यू में सबसे ऊपर दाईं ओर), चुना गया कंपोजिट व्यू बनाने के लिए, लेयर के बीच की जगह को अडजस्ट करता है.
- ज़ूम टूल (लेयर व्यू के सबसे ऊपर दाईं ओर), बेहतर तरीके से जांच करने के लिए लेयर में ज़ूम इन और ज़ूम आउट करते हैं.
- रीसेट बटन (लेयर व्यू में सबसे ऊपर दाईं ओर) से, कैमरे की सेटिंग को मूल व्यू पर वापस लाया जा सकता है.
- बेहतर ज़ूम करने के लिए आयतों को खींचें.
पदानुक्रम दृश्य: लेयर का पूरा पदानुक्रम.
- सिर्फ़ दिखता है (क्रम के हिसाब से व्यू के सबसे ऊपर दाईं ओर). इसे चुनने पर, स्क्रीन पर मौजूद एलिमेंट को विज़ुअलाइज़ करने के लिए, नहीं दिखने वाली लेयर को क्रम से छिपा दिया जाता है.
- फ़्लैट (क्रम के व्यू के सबसे ऊपर दाईं ओर), चुने जाने पर, हैरारकी को लेयर की चपटी हुई सूची के रूप में दिखाता है.
- अंतर दिखाएं (हैरारकी व्यू में सबसे ऊपर बाईं ओर) को सिर्फ़ तब चुना जाता है, जब स्थिति में बदलाव होता है. चुने जाने पर, यह टूल मौजूदा स्थिति की तुलना पिछली स्थिति से करता है. नया एलिमेंट हरे रंग में हाइलाइट किया जाता है, मिटाए गए एलिमेंट को लाल रंग में हाइलाइट किया जाता है, और बदलाव किए गए एलिमेंट को नीले रंग में हाइलाइट किया जाता है.
प्रॉपर्टी व्यू: चुनी गई लेयर की प्रॉपर्टी. प्रॉपर्टी व्यू के सबसे ऊपर वाले पैनल में सिर्फ़ मुख्य प्रॉपर्टी के बारे में जानकारी होती है, जैसे कि विज़िबिलिटी, ज्यामिति, और बफ़र. प्रॉपर्टी व्यू के सबसे नीचे मौजूद पैनल में, सभी प्रॉपर्टी का प्रोटो डंप होता है.
- प्रॉपर्टी व्यू के सबसे ऊपर बाईं ओर, डिफ़ दिखाएं चेकबॉक्स, क्रम के हिसाब से व्यू की तरह ही दिखता है.
- डिफ़ॉल्ट दिखाएं (प्रॉपर्टी व्यू में सबसे ऊपर बाईं ओर), इसे चुनने पर, प्रोटो डंप पर डिफ़ॉल्ट प्रोटो वैल्यू दिखाता है.
डिफ़ॉल्ट रूप से, ये वैल्यू प्रोटो डंप में शामिल नहीं होती हैं. प्रोटो फ़ील्ड की डिफ़ॉल्ट वैल्यू, प्रोटो फ़ील्ड की परिभाषा से ली जाती हैं.
अगर किसी प्रोटो फ़ील्ड में नॉन-शून्य डिफ़ॉल्ट वैल्यू सेट नहीं की गई है, तो डिफ़ॉल्ट प्रोटो वैल्यू ये दिखेंगी:
- स्ट्रिंग: शून्य
- संख्याएं: 0
- बूलियन वैल्यू: False
- ऑब्जेक्ट: शून्य
तीनों व्यू और स्क्रीन रिकॉर्डिंग के बीच चुना गया आइटम सिंक हो जाता है. इसका मतलब है कि किसी भी समय पर नेविगेट करने पर, सभी ट्रेस एक साथ अपडेट हो जाते हैं. किसी लेयर की प्रॉपर्टी देखने के लिए, हैरारकी व्यू में लेयर पर क्लिक करें या प्रॉपर्टी व्यू में मौजूद रेक्टैंगल पर क्लिक करके उसे चुनें. बैंगनी आयत बताता है कि इस लेयर से एक व्यू ट्रेस जुड़ा है. किसी पर्पल लेयर पर दो बार क्लिक करने पर, यूज़र इंटरफ़ेस (यूआई) उस लेयर से जुड़े व्यू ट्रेस टैब पर स्विच हो जाता है.
विंडो मैनेजर ट्रेस के लिए, तीन पैनल किसी तय समयावधि में ट्रेस के अलग-अलग व्यू दिखाते हैं, जैसा कि इमेज 11 में दिखाया गया है:
- Windows व्यू: लेयर का 3D व्यू.
- पदानुक्रम दृश्य: लेयर का पूरा पदानुक्रम.
- प्रॉपर्टी व्यू में, सभी प्रॉपर्टी का प्रोटो डंप शामिल होता है.
तीनों व्यू और स्क्रीन रिकॉर्डिंग के बीच चुना गया आइटम सिंक हो जाता है. इसका मतलब है कि किसी भी समय पर नेविगेट करने पर, सभी ट्रेस एक साथ अपडेट हो जाते हैं.
11वीं इमेज. Winscope पर विंडो मैनेजर का ट्रेस.
लेन-देन के ट्रेस के लिए, Surface Flinger और Window Manager के बीच हुए लेन-देन को टेबल फ़ॉर्मैट में दिखाया जाता है. इसमें दिखाए गए आईडी, टाइप, और टेक्स्ट के हिसाब से खोजा जा सकता है. साथ ही, इसमें प्रोटो डंप दिखाने वाला प्रॉपर्टी व्यू भी होता है. दो व्यू और स्क्रीन रिकॉर्डिंग के बीच चुने गए विकल्प को सिंक किया जाता है:
12वीं इमेज. WinScope पर लेन-देन ट्रेस.
ProtoLog ट्रेस के लिए, जानकारी को टेबल फ़ॉर्मैट में दिखाया जाता है. इसे टैग, सोर्स फ़ाइलों, और टेक्स्ट से खोजा जा सकता है:
13वीं इमेज. Winscope पर ProtoLog ट्रेस.
ट्रांज़िशन ट्रेस के लिए, चुने गए ट्रांज़िशन की प्रॉपर्टी के साथ-साथ, आईडी, टाइप, भेजने का समय, अवधि, और स्टेटस वाले ट्रांज़िशन की सूची दिखती है:
14वीं इमेज. Winscope पर ट्रांज़िशन ट्रेस.