使用 Appmetrics 监控 TypeScript 应用

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 Appmetrics?

Appmetrics 是一个轻量级的库,用于监控 TypeScript 和 JavaScript 应用程序的性能。它为开发者提供现成的指标:响应时间、CPU 负载、内存使用、活跃请求数量以及数据库运行速度。该库不需要复杂的基础设施,可以集成到 Express、Nest.js 或纯 Node.js 中。

为什么需要监控 TypeScript 应用程序?

TypeScript 应用程序通常运行在服务器端(Node.js)或复杂的前端系统中。没有监控,您可能会错过内存泄漏、慢端点或性能突然下降。Appmetrics 帮助您:

  • 跟踪请求的实际执行时间
  • 发现代码中的瓶颈
  • 自动将指标记录到 Prometheus 或 Grafana
  • 在出现异常时接收警报

安装

通过 npm 或 yarn 安装该库:

npm install @appmetrics/typescript-metrics

要集成到 Express,请额外安装:

npm install @appmetrics/express-middleware

主要功能

  1. 收集 CPU 和内存指标 — 实时自动收集。
  2. HTTP 请求指标 — 响应时间、状态码、请求数量。
  3. 与流行系统集成 — Prometheus、Grafana、Datadog。
  4. 自定义指标 — 支持添加自己的计数器和直方图。
  5. 类型化 — 完全支持 TypeScript,具有自动补全功能。

TypeScript 代码示例

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

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

// 用于收集请求指标的中间件app.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: [] });});

// 用于以 Prometheus 格式导出指标的端点app.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'));

何时使用 Appmetrics?

  • 生产服务器 — 用于持续监控应用程序的健康状况。
  • 微服务架构 — 用于单独监控每个服务。
  • 负载测试 — 用于在压力测试期间收集指标。
  • 调试 — 用于查找内存泄漏或慢速函数。

该库既适用于小型项目,也适用于每秒处理数千个请求的企业级系统。

推荐