Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
79a0b386
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
79a0b386
编写于
11月 02, 2021
作者:
G
Ganlin Zhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-6452]<feature>: taoskeeper add HTTP status codes
上级
67c02299
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
44 addition
and
0 deletion
+44
-0
src/dnode/src/dnodeShell.c
src/dnode/src/dnodeShell.c
+6
-0
src/inc/dnode.h
src/inc/dnode.h
+2
-0
src/inc/http.h
src/inc/http.h
+2
-0
src/plugins/http/src/httpSystem.c
src/plugins/http/src/httpSystem.c
+6
-0
src/plugins/monitor/src/monMain.c
src/plugins/monitor/src/monMain.c
+28
-0
未找到文件。
src/dnode/src/dnodeShell.c
浏览文件 @
79a0b386
...
...
@@ -242,6 +242,9 @@ SDnodeStatisInfo dnodeGetStatisInfo() {
if
(
dnodeGetRunStatus
()
==
TSDB_RUN_STATUS_RUNING
)
{
#ifdef HTTP_EMBEDDED
info
.
httpReqNum
=
httpGetReqCount
();
for
(
int
i
=
0
;
i
<
MAX_HTTP_STATUS_CODE_NUM
;
++
i
)
{
info
.
httpStatusCodeErrs
[
i
]
=
httpGetStatusCodeCount
(
i
);
}
#endif
info
.
queryReqNum
=
atomic_load_32
(
&
tsQueryReqNum
);
info
.
submitReqNum
=
atomic_load_32
(
&
tsSubmitReqNum
);
...
...
@@ -254,6 +257,9 @@ void dnodeClearStatisInfo() {
if
(
dnodeGetRunStatus
()
==
TSDB_RUN_STATUS_RUNING
)
{
#ifdef HTTP_EMBEDDED
httpClearReqCount
();
for
(
int
i
=
0
;
i
<
MAX_HTTP_STATUS_CODE_NUM
;
++
i
)
{
httpClearStatusCodeCount
(
i
);
}
#endif
atomic_exchange_32
(
&
tsQueryReqNum
,
0
);
atomic_exchange_32
(
&
tsSubmitReqNum
,
0
);
...
...
src/inc/dnode.h
浏览文件 @
79a0b386
...
...
@@ -23,10 +23,12 @@ extern "C" {
#include "trpc.h"
#include "taosmsg.h"
#define MAX_HTTP_STATUS_CODE_NUM 63
typedef
struct
{
int32_t
queryReqNum
;
int32_t
submitReqNum
;
int32_t
httpReqNum
;
int32_t
httpStatusCodeErrs
[
MAX_HTTP_STATUS_CODE_NUM
];
}
SDnodeStatisInfo
;
SDnodeStatisInfo
dnodeGetStatisInfo
();
...
...
src/inc/http.h
浏览文件 @
79a0b386
...
...
@@ -24,6 +24,8 @@ extern "C" {
int32_t
httpGetReqCount
();
int32_t
httpClearReqCount
();
int32_t
httpGetStatusCodeCount
(
int
index
);
int32_t
httpClearStatusCodeCount
(
int
index
);
int32_t
httpInitSystem
();
int32_t
httpStartSystem
();
void
httpStopSystem
();
...
...
src/plugins/http/src/httpSystem.c
浏览文件 @
79a0b386
...
...
@@ -122,3 +122,9 @@ void httpCleanUpSystem() {
int32_t
httpGetReqCount
()
{
return
atomic_load_32
(
&
tsHttpServer
.
requestNum
);
}
int32_t
httpClearReqCount
()
{
return
atomic_exchange_32
(
&
tsHttpServer
.
requestNum
,
0
);
}
int32_t
httpGetStatusCodeCount
(
int
index
)
{
return
atomic_load_32
(
&
tsHttpServer
.
statusCodeErrs
[
index
]);
}
int32_t
httpClearStatusCodeCount
(
int
index
)
{
return
atomic_exchange_32
(
&
tsHttpServer
.
statusCodeErrs
[
index
],
0
);
}
src/plugins/monitor/src/monMain.c
浏览文件 @
79a0b386
...
...
@@ -163,6 +163,7 @@ static void monSaveVgroupsInfo();
static
void
monSaveSlowQueryInfo
();
static
void
monSaveDisksInfo
();
static
void
monSaveGrantsInfo
();
static
void
monSaveHttpReqInfo
();
static
void
*
monThreadFunc
(
void
*
param
);
static
void
monBuildMonitorSql
(
char
*
sql
,
int32_t
cmd
);
static
void
monInitHttpStatusHashTable
();
...
...
@@ -310,6 +311,7 @@ static void *monThreadFunc(void *param) {
monSaveSlowQueryInfo
();
monSaveDisksInfo
();
monSaveGrantsInfo
();
monSaveHttpReqInfo
();
monSaveSystemInfo
();
}
}
...
...
@@ -1202,6 +1204,32 @@ static void monSaveGrantsInfo() {
}
static
void
monSaveHttpReqInfo
()
{
int64_t
ts
=
taosGetTimestampUs
();
char
*
sql
=
tsMonitor
.
sql
;
int32_t
pos
=
snprintf
(
sql
,
SQL_LENGTH
,
"insert into %s.dnode_%d values(%"
PRId64
,
tsMonitorDbName
,
dnodeGetDnodeId
(),
ts
);
SDnodeStatisInfo
info
=
dnodeGetStatisInfo
();
for
(
int32_t
i
=
0
;
i
<
tListLen
(
monHttpStatusTable
);
++
i
)
{
int32_t
status
=
info
.
httpStatusCodeErrs
[
i
];
pos
+=
snprintf
(
sql
,
SQL_LENGTH
,
", %d"
,
status
);
}
pos
+=
snprintf
(
sql
,
SQL_LENGTH
,
")"
);
monError
(
"sql:%s"
,
sql
);
void
*
res
=
taos_query
(
tsMonitor
.
conn
,
tsMonitor
.
sql
);
int32_t
code
=
taos_errno
(
res
);
taos_free_result
(
res
);
if
(
code
!=
0
)
{
monError
(
"failed to save restful_%d info, reason:%s, sql:%s"
,
dnodeGetDnodeId
(),
tstrerror
(
code
),
tsMonitor
.
sql
);
}
else
{
monIncSubmitReqCnt
();
monDebug
(
"successfully to save restful_%d info, sql:%s"
,
dnodeGetDnodeId
(),
tsMonitor
.
sql
);
}
}
static
void
monExecSqlCb
(
void
*
param
,
TAOS_RES
*
result
,
int32_t
code
)
{
int32_t
c
=
taos_errno
(
result
);
if
(
c
!=
TSDB_CODE_SUCCESS
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录