pprof के साथ गोरोइन की संख्या की प्रोफाइलिंग
आपके गो प्रोग्राम में संभावित गोरोइन लीक का पता लगाने के लिए समय के साथ सक्रिय गोरोइन की संख्या की निगरानी की आवश्यकता होती है। जबकि मानक गो टूल पीप्रोफ कमांड ब्लॉकिंग में अंतर्दृष्टि प्रदान करता है, यह सीधे गोरोइन गिनती को संबोधित नहीं करता है।
गोरआउटिन की संख्या को प्रभावी ढंग से प्रोफाइल करने के लिए, अपने ब्राउज़र में http://localhost:8888/debug/pprof/ खोलें . यह दो प्रासंगिक लिंक प्रस्तुत करता है:
Goroutine लिंक एकल के समान कोड साझा करने वाले गोरोइन को प्रदर्शित करता है प्रविष्टियाँ, उनकी गिनती सहित। उदाहरण के लिए:
1 @ 0x42f223 0x42f2e4 0x40542f 0x404f4b 0x4a0586 0x4600a1 # 0x4a0586 gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands.(*RunCommand).startWorkers 0x56 /home/me/go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands/multi.go:164 1 @ 0x42f223 0x43dfd7 0x43d532 0x4a04ed 0x4600a1 # 0x4a04ed gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands.(*RunCommand).processRunners 0x45d /home/me/go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands/multi.go:147
@ से पहले नंबर 1 प्रत्येक गोरोइन के एक उदाहरण को इंगित करता है।
पूर्ण गोरोइन स्टैक डंप रिसाव के लिए विशेष रूप से उपयोगी है पता लगाना. यह प्रत्येक गोरोइन को व्यक्तिगत रूप से सूचीबद्ध करता है, जिसमें उसका स्टैक ट्रेस और गतिविधि स्थिति शामिल है:
goroutine 49 [chan receive, 2 minutes]: gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands.(*RunCommand).startWorkers(0xc820103ee0, 0xc820274000, 0xc820274060, 0xc8201d65a0) /home/me/go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands/multi.go:164 0x56 created by gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands.(*RunCommand).Run /home/me/go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands/multi.go:294 0x41b goroutine 50 [select]: gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands.(*RunCommand).processRunners(0xc820103ee0, 0x0, 0xc820274060, 0xc8201d65a0) /home/me/go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands/multi.go:147 0x45d created by gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands.(*RunCommand).startWorkers /home/me/go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/commands/multi.go:165 0x96
इन पीप्रोफ़ एंडपॉइंट्स का उपयोग करके, आप प्रभावी ढंग से निगरानी कर सकते हैं आपके प्रोग्राम के भीतर गोरोइन की संख्या, संभावित गोरोइन लीक का पता लगाने और समाधान में सहायता करती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3