tencent cloud

腾讯云可观测平台

动态与公告
产品动态
产品简介
产品概述
产品优势
基本功能
基本概念
应用场景
使用限制
购买指南
云产品监控
应用性能监控
终端性能监控
前端性能监控
云拨测
Prometheus 监控服务
Grafana 服务
事件总线
云压测
快速入门
监控概览
实例分组
云产品监控
应用性能监控
云拨测
云压测
Prometheus 监控服务
Grafana 服务
创建 Dashboard
事件总线
告警服务
云产品监控
云产品监控指标
控制台操作指南
云服务器监控组件
云产品监控对接 Grafana
故障处理
实践教程
应用性能监控
应用性能监控简介
接入指南
控制台操作指南
实践教程
参考信息
常见问题
终端性能监控
终端性能监控概述
控制台操作指南
接入指南
实践教程
前端性能监控
前端性能监控简介
控制台操作指南
接入指南
常见问题
云拨测
产品简介
控制台操作指南
常见问题
云压测
云压测概述
控制台操作指南
实践教程
JavaScript API 列表
常见问题
Prometheus 监控
Prometheus 监控简介
接入指南
控制台操作指南
实践教程
Terraform
常见问题
Grafana 服务
产品简介
控制台操作指南
Grafana 平台常用功能指引
常见问题
Dashboard
什么是 Dashboard
控制台操作指南
告警管理
控制台操作指南
故障处理
常见问题
事件总线
事件总线简介
控制台操作指南
实践教程
常见问题
报表管理
常见问题
腾讯云可观测平台常见问题
告警服务相关
一般性问题
监控图表相关
云服务器监控组件相关
动态阈值告警相关
云监控对接 Grafana 相关
文档阅读指南
相关协议
应用性能监控服务等级协议
APM 隐私协议
APM 数据处理和安全协议
前端性能监控服务等级协议
终端性能监控服务等级协议
云拨测服务等级协议
Prometheus 监控服务服务等级协议
Grafana 服务服务等级协议
云压测服务等级协议
云压测使用限制
Cloud Monitor Service Level Agreement
词汇表

设置检查点

PDF
聚焦模式
字号
最后更新时间: 2025-03-10 22:14:20

概述

您可通过自定义检查点,检查请求的响应结果是否符合业务预期。检查结果会被汇总到检查点指标里,供您在压测报告中查看明细。
此外,您还可以开启检查点与请求的关联日志,以在请求采样侧查看与该请求相关的检查点的信息。

用法

1. 检查点定义

PTS JavaScript API 提供了check方法来创建检查点。
check方法的入参为:
name:检查点的名字。
callback:用于检查的函数,该函数应返回布尔类型。
response(可选):传入被检查的请求的响应,用于开启记录检查点日志。
check方法的返回值为布尔类型,代表本次检查的成功与否。
基本示例如下:
import http from 'pts/http';
import { check } from 'pts';
export default function () {
const resp = http.get('http://mockhttpbin.pts.svc.cluster.local/get');
check('statusCode is 200', () => resp.statusCode === 200); // 设置检查点,以统计检查点指标
check('statusCode is 200', () => resp.statusCode === 200, resp); // 设置检查点,以统计检查点指标、并记录检查点日志
};
常用检查逻辑示例如下:
import { check } from 'pts';

export default function () {
check("is empty", () => "" === "") // true
//@ts-ignore
check("is not empty", () => "str" !== "") // true
check("equals", () => 1.00 == 1) // true
check("not equal", () => 1.00 === 1) // true
check("less than", () => 1 < 2) // true
check("less or equal", () => 1 <= 1) // true
check("greater than", () => 2 > 1) // true
check("greater or equal", () => 2 >= 2) // true
check("has key", () => ({key:"value"}).hasOwnProperty("key")) // true
check("string has value", () => "str".includes("s")) // true
check("array has value", () => ["a", "b", "c"].includes("a")) // true
};
说明
更详细的 API 文档请参见 pts.check

2. 检查结果查看

指标明细

登录 腾讯云可观测平台,在左侧导航栏选择云压测 > 测试场景,进入压测报告页面,单击检查点明细,可以观察到从所有检查结果汇总而来的多维度指标:


关联请求

调用check方法时,若您传入了可选的响应参数,则检查结果除了能体现在上述检查点指标里,还会被记录在请求采样日志里,可以进入请求采样页面查看:

单击选择需要查看的采样项:

再单击一条采样请求,进入详情页面,即可看到与该采样请求相关联的检查点内容:



检查点及对应请求的日志打印

检查点在逻辑上和请求是分离的,请求可以对应多个检查点,而检查点也可以检查非请求的内容;同时,请求正常响应(状态码为 200),检查点也可能不通过,这取决于用户配置的检查条件。
import http from 'pts/http';
import { check, sleep } from 'pts';
export default function () {
const resp = http.get('http://mockhttpbin.pts.svc.cluster.local/get', {
headers: {
Connection: 'keep-alive',
'User-Agent': 'pts-engine',
},
query: {
name1: 'value1',
name2: 'value2',
},
});
// 请求可以对应多个检查点
check('status is 200', () => resp.statusCode === 200, resp);
check('body.args.name1 equals value1', () => resp.json().args.name1 === 'value1', resp);
// 请求响应 200,检查点也可能不通过(取决于用户配置的检查条件)
check('body.args.name1 equals value2', () => resp.json().args.name1 === 'value2', resp);
// 检查点可以检查非请求的内容
let v = 1;
check("v==1", () => v==1);
check("v==2", () => v==2);
}
不过,在实际使用的过程中,检查点和请求往往组合使用,用于检查请求响应是否符合预期;因此,获取检查点和请求的对应关系非常重要。
在前文“关联请求”中,通过设置 check 中的响应参数,可以将检查点结果记录在请求采样的日志里面,满足了部分情况下对两者的关联需求。但在某些情况下,可能对细节有更多定制化的要求,此时可以在检查点的检查条件内将需要的内容打印到日志中,来查看更多的内容细节:
import http from 'pts/http';
import { check } from 'pts';
export default function () {
const resp = http.get('http://mockhttpbin.pts.svc.cluster.local/get', {
query: {
name1: 'value1',
},
});
// 在检查点的检查条件内打印用户日志
check('body.args.name1 equals value2', () => {
if (resp.json().args.name1 === 'value2') {
return true
};
console.log(resp.body);
console.log(`check not pass, name1 need value2 but ${resp.json().args.name1}`);
return false;
});
}

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈