Fundebug后端Node.js插件更新至0.2.0,支持监控Express慢请求

摘要: 性能问题也是BUG,也需要监控。

Fundebug后端Node.js异常监控服务

Fundebug是专业的应用异常监控平台,我们Node.js插件fundebug-nodejs可以提供全方位的异常监控,支持ExpressKoa以及Hapi框架。

从用户的角度理解,性能问题某种程度上也是BUG,它可能是数据库的索引问题,可能是代码算法问题,也可能是业务逻辑的设计有问题。为了帮助大家快速定位性能BUG,fundebug-nodejs插件更新至0.2.0,支持监控Express慢请求。

不过,Fundebug暂时无意于提供全面的性能监控服务,我们将继续专注于BUG监控。

监控Express慢请求

监控Express慢请求,需要配置阈值httpTimeout,并且添加ExpressTimeoutHandler中间件。

fundebug.httpTimeout = 1000;
app.use(fundebug.ExpressTimeoutHandler());

注意,Fundebug的慢请求监控中间件ExpressTimeoutHandler必须放在其他中间件之前。

这样,所有花费时间超过阈值1000ms的请求都会上报到Fundebug。

fundebug-express-demo

关于Express如何接入Fundebug异常监控服务,不妨查看我们的Demo项目fundebug-express-demo

const express = require("express");
const app = express();
const port = 5000;
const Promise = require("bluebird");

const fundebug = require("fundebug-nodejs");
fundebug.apikey = "APIKEY";
fundebug.httpTimeout = 1000;

app.use(fundebug.ExpressTimeoutHandler());

app.get("/error", () => {
    throw new Error("test");
});

app.get("/timeout", async (req, res) => {
    await Promise.delay(1500);
    res.sendStatus(200);
});

app.use(function(err, req, res, next) {
    res.status(500);
    next(err);
});

app.use(fundebug.ExpressErrorHandler);

app.listen(port, () => console.log(`Example app listening on port ${port}!`));

其中,ExpressTimeoutHandler必须放在其他中间件之前,而ExpressErrorHandler必须放在其他中间件之后。

Fundebug所捕获的超时请求如下:

参考

关于Fundebug

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+错误事件,付费客户有阳光保险、核桃编程、荔枝FM、掌门1对1、微脉、青团社等众多知名企业。欢迎大家免费试用

版权声明

转载时请注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2019/07/30/fundebug-nodejs-0-2-0/


Fundebug
Fundebug是专业的应用BUG监控平台

一行代码搞定BUG监控:[链接]

9.4k 声望
1.7k 粉丝
0 条评论
推荐阅读
Fundebug JavaScript插件支持监控HTTP请求数据
Fundebug提供专业的前端异常监控服务,我们的插件可以提供全方位的异常监控,可以帮助开发者第一时间定位各种前端异常,包括但不限于 JavaScript 执行错误以及 HTTP 请求错误。

Fundebug1阅读 868

从零搭建 Node.js 企业级 Web 服务器(十五):总结与展望
总结截止到本章 “从零搭建 Node.js 企业级 Web 服务器” 主题共计 16 章内容就更新完毕了,回顾第零章曾写道:搭建一个 Node.js 企业级 Web 服务器并非难事,只是必须做好几个关键事项这几件必须做好的关键事项就...

乌柏木75阅读 7k评论 16

从零搭建 Node.js 企业级 Web 服务器(一):接口与分层
分层规范从本章起,正式进入企业级 Web 服务器核心内容。通常,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,如下图:从上至下,抽象层次逐渐加深。从下至上,业务细节逐渐清晰。视图...

乌柏木45阅读 8.4k评论 6

从零搭建 Node.js 企业级 Web 服务器(二):校验
校验就是对输入条件的约束,避免无效的输入引起异常。Web 系统的用户输入主要为编辑与提交各类表单,一方面校验要做在编辑表单字段与提交的时候,另一方面接收表单的接口也要做足校验行为,通过前后端共同控制输...

乌柏木35阅读 6.6k评论 10

从零搭建 Node.js 企业级 Web 服务器(五):数据库访问
回顾 从零搭建 Node.js 企业级 Web 服务器(一):接口与分层,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,控制层与服务层实现了业务处理过程,模型层定义了业务实体并以 对象-关系...

乌柏木34阅读 5k评论 9

2022大前端总结和2023就业分析
我在年前给掘金平台分享了《2022年热点技术盘点》的前端热点,算是系统性的梳理了一下我自己对前端一整年的总结。年后,在知乎上看到《前端的就业行情怎么样?》,下面都是各种唱衰前端的论调,什么裁员,外包化...

i5ting27阅读 2.2k评论 4

封面图
从零搭建 Node.js 企业级 Web 服务器(十三):断点调试与性能分析
Node.js 官方提供了断点调试机制,出于安全性考虑默认为关闭状态,可以通过 node 参数 --inspect 或 --inspect-brk 开启,配合 IDE 能够非常方便地调试代码,本章就上一章已完成的项目 licg9999/nodejs-server-ex...

乌柏木31阅读 4.1k评论 9

一行代码搞定BUG监控:[链接]

9.4k 声望
1.7k 粉丝
宣传栏