Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग · पाठ

बिल्ड की प्रोफ़ाइलिंग और डीबगिंग

प्रदर्शन संबंधी बाधाओं की पहचान करने के लिए Gradle के अंतर्निहित प्रोफ़ाइलिंग उपकरणों और तकनीकों का उपयोग करें।

पाठ 2, कुल 4 में से11 चरण

बिल्ड की प्रोफ़ाइलिंग और डीबगिंग, CoddyKit पर Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

निर्माण प्रोफाइलिंग क्या है

जब आपके Gradle निर्माणों में बहुत अधिक समय लगने लगे, तो आपका विकास काफ़ी धीमा हो सकता है। निर्माण प्रोफाइलिंग आपके निर्माण के महत्वपूर्ण संकेतों की जाँच करने जैसा है, जिससे पता चलता है कि सारा समय किसमें लग रहा है।

  • यह सबसे धीमे कार्यों को सटीक रूप से पहचानने में सहायता करती है।
  • यह छिपी हुई रुकावटों और अक्षमताओं को उजागर करती है।
  • अंतिम लक्ष्य तेज़ प्रतिक्रिया प्राप्त करना और विकासकर्ता की उत्पादकता बढ़ाना है।

प्रोफाइलिंग को अपनी निर्माण प्रक्रिया के लिए एक शक्तिशाली निदान उपकरण मानिए।

Gradle निर्माण स्कैन का परिचय

Gradle निर्माण स्कैन इंटरैक्टिव वेब रिपोर्ट होते हैं, जो आपके निर्माण के निष्पादन की गहरी और दृश्य जानकारी देते हैं। निर्माण के व्यवहार को समझने और साझा करने के लिए ये अत्यंत उपयोगी हैं।

  • सभी कार्यों की विस्तृत समय-रेखा देखें।
  • निर्भरता समाधान और नेटवर्क गतिविधि को समझें।
  • पहचानें कि कार्य नवीनतम क्यों नहीं हैं या निर्माण कैश का उपयोग क्यों नहीं कर रहे हैं।
  • URL के माध्यम से रिपोर्ट को सहकर्मियों या सहायता टीम के साथ आसानी से साझा करें।

यह आपके निर्माण के वास्तव में चलने के तरीके का व्यापक अवलोकन है।

निर्माण स्कैन सक्षम करना

निर्माण स्कैन बनाने के लिए सबसे पहले आपको com.gradle.build-scan प्लगइन लागू करना होगा। आमतौर पर यह आपके settings.gradle फ़ाइल में किया जाता है, जो परियोजना की संरचना को कॉन्फ़िगर करती है।

प्लगइन जोड़ने का तरीका यहाँ दिया गया है:

// settings.gradle
rootProject.name = 'my-project'

plugins {
    id 'com.gradle.build-scan' version '3.16' // Use a recent version
}

gradle.buildScan {
    // Agree to the terms of service (required for usage)
    termsOfServiceUrl = 'https://gradle.com/terms-of-service'
    termsOfServiceAgree = 'yes'
}

अपना पहला निर्माण स्कैन बनाना

एक बार build-scan प्लगइन कॉन्फ़िगर हो जाने पर, स्कैन बनाना सरल है। अपने सामान्य Gradle आदेश में बस --scan जोड़ें। स्कैन एक अस्थायी URL पर अपलोड किया जाएगा।

उदाहरण के लिए, build कार्य चलाने और स्कैन बनाने के लिए:

gradle build --scan

निर्माण पूरा होने के बाद, आपके कंसोल में एक विशिष्ट URL दिखाई देगा। अपनी विस्तृत निर्माण स्कैन रिपोर्ट देखने के लिए उसे वेब ब्राउज़र में खोलें!

निर्माण स्कैन रिपोर्ट में नेविगेट करना

निर्माण स्कैन रिपोर्ट में बहुत-सी जानकारी होती है, जो कई टैब में व्यवस्थित रहती है। देखने योग्य प्रमुख अनुभागों में शामिल हैं:

  • अवलोकन: निर्माण समय, परिणाम और प्रमुख मापदंडों का उच्च-स्तरीय सारांश।
  • समय-रेखा: समय के साथ कार्यों के निष्पादन का दृश्य रूप।
  • कार्य: प्रत्येक कार्य का विस्तृत दृश्य, जिसमें उसका निष्पादन समय और परिणाम, जैसे FROM_CACHE, EXECUTED, शामिल हैं।
  • प्रदर्शन: निर्माण कैशिंग, निर्भरता समाधान और कॉन्फ़िगरेशन समय की जानकारी।
  • परीक्षण: यदि आपका निर्माण परीक्षण चलाता है, तो यह टैब विस्तृत परीक्षण परिणाम देता है।

अपने निर्माण के व्यवहार का प्रभावी विश्लेषण करने के लिए इन टैब से परिचित हो जाइए।

गहन अध्ययन: समय-रेखा टैब

निर्माण स्कैन में समय-रेखा टैब रुकावटों की पहचान करने के लिए अत्यंत उपयोगी है। यह दृश्य रूप से दिखाता है कि प्रत्येक कार्य कब शुरू और समाप्त हुआ तथा कार्य समानांतर रूप से कैसे चलते हैं।

  • ऐसे लंबे समय तक चलने वाले कार्यों को खोजें जो क्रमिक रूप से निष्पादित होकर अन्य कार्यों को रोक रहे हों।
  • निष्पादन में ऐसे अंतराल पहचानें जो निष्क्रिय समय या संसाधनों की प्रतीक्षा का संकेत दे सकते हैं।
  • महत्वपूर्ण पथ को समझें—यह उन कार्यों का क्रम है जो पूरे निर्माण की अवधि निर्धारित करता है।

अनुकूलित निर्माण का लक्ष्य स्वतंत्र कार्यों के बीच अधिकतम समकालिकता प्राप्त करना होता है।

कार्य कैशिंग और इनपुट को समझना

कार्य अनावश्यक रूप से दोबारा क्यों निष्पादित हो सकते हैं, यह समझने के लिए निर्माण स्कैन बहुत उपयोगी हैं। कार्य टैब में किसी कार्य पर क्लिक करके उसका विवरण देखें:

  • परिणाम: क्या यह FROM_CACHE, UP-TO-DATE या EXECUTED था?
  • इनपुट: Gradle ने इस कार्य के लिए किन फ़ाइलों या गुणों पर विचार किया?
  • आउटपुट: कार्य ने कौन-सी फ़ाइलें बनाई?

यदि कुछ भी बदलता हुआ न दिखने पर भी कोई कार्य लगातार EXECUTED रहता है, तो यह अक्सर उसके घोषित इनपुट या आउटपुट में समस्याओं की ओर संकेत करता है, जिससे कैशिंग या क्रमिक निर्माण रुक जाते हैं।

--profile के साथ स्थानीय प्रोफाइलिंग

पूरा निर्माण स्कैन अपलोड किए बिना त्वरित स्थानीय विश्लेषण के लिए Gradle --profile फ़्लैग उपलब्ध कराता है। यह आपके प्रोजेक्ट की build/reports/profile निर्देशिका में सीधे एक स्थानीय HTML रिपोर्ट बनाता है।

निर्माण स्कैन की तरह यह कम विस्तृत और साझा करने योग्य नहीं होती, लेकिन प्रदर्शन संबंधी समस्याओं पर तेज़ पुनरावृत्ति और स्थानीय डीबगिंग के लिए बिल्कुल उपयुक्त है।

आइए, इसे एक सरल कस्टम कार्य के साथ आज़माएँ:

// build.gradle
tasks.register('mySlowTask') {
    group = 'Verification'
    description = 'A task that simulates some work.'
    doLast {
        println 'Starting a simulated slow task...'
        Thread.sleep(2000) // Pause for 2 seconds
        println 'Simulated slow task finished!'
    }
}

// To run and profile this:
// gradle mySlowTask --profile

स्थानीय प्रोफ़ाइल रिपोर्ट की व्याख्या

gradle --profile चलाने के बाद अपने प्रोजेक्ट की build/reports/profile निर्देशिका में जाएँ और बनाई गई HTML रिपोर्ट खोलें, जैसे profile.html। समीक्षा करने योग्य प्रमुख अनुभागों में शामिल हैं:

  • कार्य निष्पादन: प्रत्येक कार्य का निष्पादन समय देखें। इससे तुरंत सबसे धीमे कार्य सामने आते हैं।
  • निर्भरता समाधान: बाहरी निर्भरताएँ हल करने में कितना समय लगा।
  • कॉन्फ़िगरेशन: अपने प्रोजेक्ट को कॉन्फ़िगर करने में लगा समय, जिसमें build.gradle फ़ाइलों को पार्स करना और प्लगइन लागू करना शामिल है।

अनुकूलन के प्रमुख क्षेत्रों की पहचान करने के लिए उन अनुभागों पर ध्यान दें जिनमें समय के मान सबसे अधिक हैं।

प्रदर्शन उपकरण जाँच

आपने Gradle निर्माणों की प्रोफाइलिंग के लिए दो मुख्य उपकरणों के बारे में सीखा है। अब, आइए उनकी प्रमुख विशेषताओं की आपकी समझ जाँचें।

पुनरावृत्ति: प्रदर्शन के लिए प्रोफाइलिंग

उत्कृष्ट कार्य! आपने धीमे Gradle निर्माणों की प्रोफाइलिंग और डीबगिंग के लिए आवश्यक उपकरणों और तकनीकों का अध्ययन कर लिया है।

  • निर्माण स्कैन (`--scan`): आपके निर्माण के हर पहलू की गहरी जानकारी देने वाली व्यापक और साझा करने योग्य वेब रिपोर्ट के लिए सबसे उपयोगी विकल्प।
  • स्थानीय प्रोफ़ाइल रिपोर्ट (`--profile`): तुरंत स्थानीय प्रदर्शन जाँच के लिए HTML रिपोर्ट प्राप्त करने का तेज़ और सुविधाजनक तरीका।
  • ध्यान देने योग्य प्रमुख क्षेत्र: प्रदर्शन की रुकावटों को सटीक रूप से पहचानने और दूर करने के लिए हमेशा कार्य निष्पादन समय, निर्माण की समय-रेखा और कार्य कैशिंग के परिणामों पर ध्यान दें।

इन उपकरणों का प्रभावी उपयोग करके आप अपने Gradle निर्माण के प्रदर्शन का बेहतर निदान और अनुकूलन कर सकते हैं, जिससे विकास चक्र तेज़ होंगे!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Groovy सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “बिल्ड की प्रोफ़ाइलिंग और डीबगिंग” पाठ निःशुल्क है?

हाँ—“बिल्ड की प्रोफ़ाइलिंग और डीबगिंग” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“बिल्ड की प्रोफ़ाइलिंग और डीबगिंग” में मैं क्या सीखूँगा?

प्रदर्शन संबंधी बाधाओं की पहचान करने के लिए Gradle के अंतर्निहित प्रोफ़ाइलिंग उपकरणों और तकनीकों का उपयोग करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“बिल्ड की प्रोफ़ाइलिंग और डीबगिंग” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. बिल्ड कैश और डेमन
  2. बिल्ड की प्रोफ़ाइलिंग और डीबगिंग
  3. समानांतर निष्पादन और कॉन्फ़िगरेशन
  4. क्रमवर्धी बिल्ड और कार्य इनपुट/आउटपुट
← Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पर वापस जाएँ