TypeScript अनुप्रयोगों की निगरानी: लाइब्रेरी, उपकरण और कॉन्फ़िगरेशन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

TypeScript अनुप्रयोगों की निगरानी: उपकरणों और लाइब्रेरी के लिए पूर्ण गाइड

\n\n

निगरानी TypeScript पर आधुनिक वेब अनुप्रयोगों के विकास का एक अनिवार्य हिस्सा है। इसके बिना आप आँख बंद करके काम कर रहे हैं: त्रुटियाँ अनदेखी रह जाती हैं, प्रदर्शन गिर जाता है, और उपयोगकर्ता चले जाते हैं। इस लेख में, हम TypeScript अनुप्रयोगों की निगरानी के लिए प्रमुख लाइब्रेरी और उपकरणों पर चर्चा करेंगे, जिनमें Sentry, OpenTelemetry, Prometheus और अंतर्निहित लॉगिंग शामिल हैं। आप सीखेंगे कि वास्तविक समय में त्रुटि संग्रह, मीट्रिक और ट्रेसिंग कैसे सेट अप करें।

\n\n

1. Sentry: वास्तविक समय में त्रुटि ट्रैकिंग

\n\n

Sentry त्रुटि निगरानी के लिए सबसे लोकप्रिय प्लेटफॉर्म है। यह TypeScript को बॉक्स से बाहर सपोर्ट करता है और आपको अपवादों को पकड़ने, निष्पादन संदर्भ को लॉग करने और क्रैश के बारे में सूचनाएँ प्राप्त करने की अनुमति देता है।

\n\n

स्थापना और बुनियादी कॉन्फ़िगरेशन

\n\n
npm install @sentry/node @sentry/tracing\n
\n\n

Node.js पर TypeScript एप्लिकेशन में Sentry को इनिशियलाइज़ करने का उदाहरण:

\n\n
import * 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\n

Sentry आपको कस्टम टैग और संदर्भ जोड़ने की अनुमति देता है:

\n\n
Sentry.setUser({ email: "user@example.com" });\nSentry.setTag("environment", "production");\nSentry.captureException(new Error("ऑर्डर प्रोसेसिंग में त्रुटि"));\n
\n\n

2. OpenTelemetry: ट्रेसिंग और मीट्रिक के लिए मानक

\n\n

OpenTelemetry टेलीमेट्री (ट्रेस, मीट्रिक और लॉग) एकत्र करने के लिए एक खुला मानक है। यह TypeScript को सपोर्ट करता है और किसी भी बैकएंड (Jaeger, Zipkin, Prometheus) के साथ आसानी से एकीकृत होता है।

\n\n

पैकेज स्थापित करना

\n\n
npm install @opentelemetry/api @opentelemetry/sdk-node @opentelemetry/instrumentation-http @opentelemetry/instrumentation-express\n
\n\n

ट्रेसिंग सेटअप का उदाहरण

\n\n
import { 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\n
import { 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\n

3. Prometheus + express-prom-bundle: Node.js के लिए मीट्रिक

\n\n

प्रदर्शन मीट्रिक (RPS, प्रतिक्रिया समय, त्रुटियों की संख्या) एकत्र करने के लिए, express-prom-bundle लाइब्रेरी के साथ Prometheus का उपयोग करें। यह स्वचालित रूप से Express अनुप्रयोगों से मीट्रिक एकत्र करता है।

\n\n

स्थापना

\n\n
npm install prom-client express-prom-bundle\n
\n\n

कॉन्फ़िगरेशन का उदाहरण

\n\n
import 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                    

अनुशंसाएँ