TypeScript अनुप्रयोगों की निगरानी: उपकरणों और लाइब्रेरी के लिए पूर्ण गाइड
\n\nनिगरानी TypeScript पर आधुनिक वेब अनुप्रयोगों के विकास का एक अनिवार्य हिस्सा है। इसके बिना आप आँख बंद करके काम कर रहे हैं: त्रुटियाँ अनदेखी रह जाती हैं, प्रदर्शन गिर जाता है, और उपयोगकर्ता चले जाते हैं। इस लेख में, हम TypeScript अनुप्रयोगों की निगरानी के लिए प्रमुख लाइब्रेरी और उपकरणों पर चर्चा करेंगे, जिनमें Sentry, OpenTelemetry, Prometheus और अंतर्निहित लॉगिंग शामिल हैं। आप सीखेंगे कि वास्तविक समय में त्रुटि संग्रह, मीट्रिक और ट्रेसिंग कैसे सेट अप करें।
\n\n1. Sentry: वास्तविक समय में त्रुटि ट्रैकिंग
\n\nSentry त्रुटि निगरानी के लिए सबसे लोकप्रिय प्लेटफॉर्म है। यह TypeScript को बॉक्स से बाहर सपोर्ट करता है और आपको अपवादों को पकड़ने, निष्पादन संदर्भ को लॉग करने और क्रैश के बारे में सूचनाएँ प्राप्त करने की अनुमति देता है।
\n\nस्थापना और बुनियादी कॉन्फ़िगरेशन
\n\nnpm install @sentry/node @sentry/tracing\n\n\nNode.js पर TypeScript एप्लिकेशन में Sentry को इनिशियलाइज़ करने का उदाहरण:
\n\nimport * as Sentry from "@sentry/node";\nimport { ProfilingIntegration } from "@sentry/profiling-node";\n\nSentry.init({\n dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",\n integrations: [\n new ProfilingIntegration(),\n ],\n tracesSampleRate: 1.0,\n profilesSampleRate: 1.0,\n});\n\n// त्रुटि को बलपूर्वक भेजना\napp.get("/debug-sentry", function mainHandler(req, res) {\n throw new Error("Sentry परीक्षण त्रुटि!");\n});\n\n\nसंदर्भ लॉगिंग
\n\nSentry आपको कस्टम टैग और संदर्भ जोड़ने की अनुमति देता है:
\n\nSentry.setUser({ email: "user@example.com" });\nSentry.setTag("environment", "production");\nSentry.captureException(new Error("ऑर्डर प्रोसेसिंग में त्रुटि"));\n\n\n2. OpenTelemetry: ट्रेसिंग और मीट्रिक के लिए मानक
\n\nOpenTelemetry टेलीमेट्री (ट्रेस, मीट्रिक और लॉग) एकत्र करने के लिए एक खुला मानक है। यह TypeScript को सपोर्ट करता है और किसी भी बैकएंड (Jaeger, Zipkin, Prometheus) के साथ आसानी से एकीकृत होता है।
\n\nपैकेज स्थापित करना
\n\nnpm install @opentelemetry/api @opentelemetry/sdk-node @opentelemetry/instrumentation-http @opentelemetry/instrumentation-express\n\n\nट्रेसिंग सेटअप का उदाहरण
\n\nimport { NodeSDK } from "@opentelemetry/sdk-node";\nimport { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";\nimport { ConsoleSpanExporter } from "@opentelemetry/sdk-trace-node";\n\nconst sdk = new NodeSDK({\n traceExporter: new ConsoleSpanExporter(),\n instrumentations: [getNodeAutoInstrumentations()],\n});\n\nsdk.start();\n\n\nअब प्रत्येक HTTP अनुरोध स्वचालित रूप से मेटाडेटा के साथ एक स्पैन में लपेटा जाएगा। आप कस्टम स्पैन जोड़ सकते हैं:
\n\nimport { trace } from "@opentelemetry/api";\n\nconst tracer = trace.getTracer("my-service");\n\napp.get("/api/data", async (req, res) => {\n const span = tracer.startSpan("processData");\n try {\n const data = await fetchData();\n span.setAttribute("data.size", data.length);\n res.json(data);\n } finally {\n span.end();\n }\n});\n\n\n3. Prometheus + express-prom-bundle: Node.js के लिए मीट्रिक
\n\nप्रदर्शन मीट्रिक (RPS, प्रतिक्रिया समय, त्रुटियों की संख्या) एकत्र करने के लिए, express-prom-bundle लाइब्रेरी के साथ Prometheus का उपयोग करें। यह स्वचालित रूप से Express अनुप्रयोगों से मीट्रिक एकत्र करता है।
स्थापना
\n\nnpm install prom-client express-prom-bundle\n\n\nकॉन्फ़िगरेशन का उदाहरण
\n\nimport express from "express";\nimport promBundle from "express-prom-bundle";\n\nconst app = express();\n\nconst metricsMiddleware = promBundle({\n includeMethod: true,\n includePath: true,\n includeStatusCode: true,\n customLabels: { project: "my-app" },\n metricsPath: "/metrics",\n});\n\napp.use(metricsMi पुस्तकालय में भी
Detekt Kotlin: पूरी गाइड उदाहरणों के साथ
C# (.NET) में भू-स्थान और मानचित्र: लाइब्रेरीज़, उदाहरण और सुझाव
Mongoose JavaScript (Node.js): पूरी गाइड उदाहरणों के साथ
JavaScript (Node.js) के लिए CLI फ्रेमवर्क: Commander.js – कंसोल एप्लिकेशन बनाना
जावा पर ईमेल भेजना: JavaMail और Simple Java Mail लाइब्रेरीज़