性能监控 JAMon(JamonController)¶
基于 JAMon 的运行时性能监控接口,提供监控菜单页面数据与监控管理( administrate)页面数据。可在此启用/关闭 JAMon 监控、SQL/异常详情采集,以及获取监控统计输出(按范围、排序、显示类型等维度)。
- 接口类型:REST 资源(
@RestController继承AbstractRuntimeController) - 基址:
${myapps.context-path.runtime:}/api/authtime - Tag:性能监控
公共说明¶
- 鉴权(据源码):
RestSecurityHandlerInterceptor仅注册到/api/runtime/**与/api/rest/bpm/**,而本控制器基址为/api/authtime/**,不在该拦截器覆盖范围;接口的登录态校验依赖前置 Servlet 过滤器链(RuntimeSecurityFilter等)与控制器内AbstractRuntimeController.getUser()读取的 WebUser。调用方需为已登录的前台用户。 - 响应结构:统一
Resource(见 ../index.md「统一响应结构」)。控制器通过AbstractRuntimeController.success(...)/error(...)构造返回值。 - JAMon 状态:返回数据中包含
JAMon、SQL Summary、Exception Summary、Interface等监控项的启用/禁用状态(值为形如JAMon = enabled的描述字符串),以及isSQLDetailEnabled、SQLBufferSize、isExceptionDetailEnabled、ExceptionBufferSize等指标。 - 状态码:成功 HTTP 200;
POST /jamon/jamonAdminInfo在生成输出失败时返回errcode=500。
1. 获取 JAMon 菜单页面数据¶
返回 JAMon 监控菜单页面所需的版本号与各监控项状态;可通过 enableAll 参数启用或关闭全局监控。
- 接口类型:REST 资源
- 请求方式:
GET - 请求路径:
/jamon/menu(完整:{runtime-context}/api/authtime/jamon/menu) - 鉴权:是(据源码:依赖前置过滤器链已完成登录态校验)
- Tag:性能监控
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| enableAll | query | string | 是 | 监控开关动作。取值:EnableMonitoring(启用 JAMon 与 SQL/异常汇总、接口监控,关闭 ResultSet 详情);DisableMonitoring(全部关闭);其它任意值仅查询当前状态 |
请求示例¶
响应¶
结构:统一 Resource(见 ../index.md「统一响应结构」)。
data:Map<String, Object>,包含 JAMon 版本号与监控项状态,常见键:version、JAMon、SQL Summary、Exception Summary、Interface、isSQLDetailEnabled、SQLBufferSize、ExceptionBufferSize、isExceptionDetailEnabled。
成功示例:
{
"errcode": 0,
"errmsg": "ok",
"data": {
"version": "2.81",
"JAMon": "JAMon = enabled",
"SQL Summary": "SQL Summary = enabled",
"Exception Summary": "Exception Summary = enabled",
"Interface": "Interface = enabled",
"isSQLDetailEnabled": "disabled",
"SQLBufferSize": 100,
"ExceptionBufferSize": 100,
"isExceptionDetailEnabled": "disabled"
},
"errors": null
}
失败示例:
2. 获取 JAMon 管理页面数据¶
按监控范围、排序、显示类型等维度,从 JAMon 取出监控统计的输出内容(默认 HTML),用于管理页面渲染。
- 接口类型:REST 资源
- 请求方式:
POST - 请求路径:
/jamon/jamonAdminInfo(完整:{runtime-context}/api/authtime/jamon/jamonAdminInfo) - 鉴权:是(据源码:依赖前置过滤器链已完成登录态校验)
- Tag:性能监控
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| content | body | string(JSON) | 是 | 请求包体,JSON 字符串,字段全部可选(缺省时使用默认值,见请求体) |
请求体¶
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| action | string | 否 | Refresh |
JAMon 管理动作 |
| monProxyAction | string | 否 | No Action |
MonProxy 动作(启用/禁用 SQL/异常详情等) |
| outputTypeValue | string | 否 | html |
输出类型(html/xml 等) |
| formatterValue | string | 否 | #,### |
数值格式化模板 |
| ArraySQL | string | 否 | "" |
监控范围数组(JAMon 特有语法) |
| sortOrder | string | 否 | asc |
排序方向 |
| sortCol | int | 否 | 2(为 0 时回退) |
排序列索引 |
| TextSize | int | 否 | 0 |
文本截断长度 |
| highlight | string | 否 | "" |
高亮关键字 |
| displayTypeValue | string | 否 | BasicColumns |
显示列类型 |
| RangeName | string | 否 | AllMonitors |
监控范围名称 |
{
"action": "Refresh",
"outputTypeValue": "html",
"sortOrder": "asc",
"sortCol": 2,
"RangeName": "AllMonitors",
"displayTypeValue": "BasicColumns"
}
请求示例¶
POST /api/authtime/jamon/jamonAdminInfo HTTP/1.1
Content-Type: application/json
{
"action": "Refresh",
"RangeName": "AllMonitors",
"displayTypeValue": "BasicColumns",
"sortCol": 2,
"sortOrder": "asc"
}
响应¶
结构:统一 Resource(见 ../index.md「统一响应结构」)。
data:Map<String, Object>,由 JamonAdminService.getOutputText(...) 返回的 JAMon 输出内容(通常含 html 等 HTML 片段字段),并追加 isEnabled(JAMon 是否启用)。
成功示例:
{
"errcode": 0,
"errmsg": "ok",
"data": {
"html": "<table>...JAMon 监控统计 HTML...</table>",
"isEnabled": true
},
"errors": null
}
失败示例: