Überwachung von TypeScript-Anwendungen mit Appmetrics

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist Appmetrics?

Appmetrics ist eine leichtgewichtige Bibliothek zur Überwachung der Anwendungsleistung in TypeScript und JavaScript. Sie bietet Entwicklern vorgefertigte Metriken: Antwortzeit, CPU-Auslastung, Speichernutzung, Anzahl aktiver Anfragen und Datenbankgeschwindigkeit. Die Bibliothek erfordert keine komplexe Infrastruktur und kann sowohl in Express als auch in Nest.js oder reinem Node.js integriert werden.

Warum ist Monitoring für TypeScript-Anwendungen wichtig?

TypeScript-Anwendungen laufen oft serverseitig (Node.js) oder in komplexen Frontend-Systemen. Ohne Monitoring riskieren Sie, Speicherlecks, langsame Endpunkte oder plötzliche Leistungseinbrüche zu übersehen. Appmetrics hilft:

  • Die tatsächliche Ausführungszeit von Anfragen zu verfolgen
  • Engpässe im Code zu erkennen
  • Metriken automatisch in Prometheus oder Grafana zu protokollieren
  • Bei Anomalien Benachrichtigungen zu erhalten

Installation

Installieren Sie die Bibliothek über npm oder yarn:

npm install @appmetrics/typescript-metrics

Für die Integration mit Express installieren Sie zusätzlich:

npm install @appmetrics/express-middleware

Hauptfunktionen

  1. Erfassung von CPU- und Speichermetriken — automatische Erfassung in Echtzeit.
  2. HTTP-Anfragemetriken — Antwortzeit, Statuscodes, Anzahl der Anfragen.
  3. Integration mit gängigen Systemen — Prometheus, Grafana, Datadog.
  4. Benutzerdefinierte Metriken — Möglichkeit, eigene Zähler und Histogramme hinzuzufügen.
  5. Typisierung — vollständige TypeScript-Unterstützung mit Autovervollständigung.

Codebeispiel in TypeScript

import { MetricsCollector } from '@appmetrics/typescript-metrics';import express from 'express';

const app = express();const metrics = new MetricsCollector({ appName: 'my-app' });

// Middleware zum Sammeln von Anfragemetrikenapp.use((req, res, next) => { const end = metrics.startTimer('http_request'); res.on('finish', () => { end({ method: req.method, status: res.statusCode }); metrics.incrementCounter('http_requests_total'); }); next();});

app.get('/api/users', (req, res) => { res.json({ users: [] });});

// Endpunkt zum Exportieren von Metriken im Prometheus-Formatapp.get('/metrics', async (req, res) => { const data = await metrics.exportPrometheus(); res.set('Content-Type', 'text/plain'); res.send(data);});

app.listen(3000, () => console.log('Server started'));

Wann sollte Appmetrics verwendet werden?

  • Produktionsserver — zur ständigen Überwachung der Anwendungsgesundheit.
  • Microservice-Architektur — zur Überwachung jedes Dienstes einzeln.
  • Lasttests — zum Sammeln von Metriken während Stresstests.
  • Debugging — zum Auffinden von Speicherlecks oder langsamen Funktionen.

Die Bibliothek eignet sich sowohl für kleine Projekte als auch für Enterprise-Systeme mit Tausenden von Anfragen pro Sekunde.

Empfehlungen