Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
81c0f491
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
81c0f491
编写于
11月 02, 2021
作者:
G
Ganlin Zhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-6452]<feature>: taoskeeper add grants_info table to record
grants expire time and timeseries
上级
f1ce7d0e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
54 addition
and
7 deletion
+54
-7
src/plugins/monitor/src/monMain.c
src/plugins/monitor/src/monMain.c
+54
-7
未找到文件。
src/plugins/monitor/src/monMain.c
浏览文件 @
81c0f491
...
@@ -34,13 +34,15 @@
...
@@ -34,13 +34,15 @@
#define monDebug(...) { if (monDebugFlag & DEBUG_DEBUG) { taosPrintLog("MON ", monDebugFlag, __VA_ARGS__); }}
#define monDebug(...) { if (monDebugFlag & DEBUG_DEBUG) { taosPrintLog("MON ", monDebugFlag, __VA_ARGS__); }}
#define monTrace(...) { if (monDebugFlag & DEBUG_TRACE) { taosPrintLog("MON ", monDebugFlag, __VA_ARGS__); }}
#define monTrace(...) { if (monDebugFlag & DEBUG_TRACE) { taosPrintLog("MON ", monDebugFlag, __VA_ARGS__); }}
#define SQL_LENGTH 1030
#define SQL_LENGTH 1030
#define LOG_LEN_STR 512
#define LOG_LEN_STR 512
#define IP_LEN_STR TSDB_EP_LEN
#define IP_LEN_STR TSDB_EP_LEN
#define VGROUP_STATUS_LEN 512
#define VGROUP_STATUS_LEN 512
#define DNODE_INFO_LEN 128
#define DNODE_INFO_LEN 128
#define QUERY_ID_LEN 24
#define QUERY_ID_LEN 24
#define CHECK_INTERVAL 1000
#define MAX_EXPIRE_TIME_LEN 20
#define MAX_TIMESERIES_LEN 30
#define CHECK_INTERVAL 1000
typedef
enum
{
typedef
enum
{
MON_CMD_CREATE_DB
,
MON_CMD_CREATE_DB
,
...
@@ -59,6 +61,7 @@ typedef enum {
...
@@ -59,6 +61,7 @@ typedef enum {
MON_CMD_CREATE_MT_VGROUPS
,
MON_CMD_CREATE_MT_VGROUPS
,
MON_CMD_CREATE_MT_LOGS
,
MON_CMD_CREATE_MT_LOGS
,
MON_CMD_CREATE_TB_DNODE_LOG
,
MON_CMD_CREATE_TB_DNODE_LOG
,
MON_CMD_CREATE_TB_GRANTS
,
MON_CMD_MAX
MON_CMD_MAX
}
EMonCmd
;
}
EMonCmd
;
...
@@ -88,6 +91,7 @@ static void monSaveDnodesInfo();
...
@@ -88,6 +91,7 @@ static void monSaveDnodesInfo();
static
void
monSaveVgroupsInfo
();
static
void
monSaveVgroupsInfo
();
static
void
monSaveSlowQueryInfo
();
static
void
monSaveSlowQueryInfo
();
static
void
monSaveDisksInfo
();
static
void
monSaveDisksInfo
();
static
void
monSaveGrantsInfo
();
static
void
*
monThreadFunc
(
void
*
param
);
static
void
*
monThreadFunc
(
void
*
param
);
static
void
monBuildMonitorSql
(
char
*
sql
,
int32_t
cmd
);
static
void
monBuildMonitorSql
(
char
*
sql
,
int32_t
cmd
);
extern
int32_t
(
*
monStartSystemFp
)();
extern
int32_t
(
*
monStartSystemFp
)();
...
@@ -204,6 +208,7 @@ static void *monThreadFunc(void *param) {
...
@@ -204,6 +208,7 @@ static void *monThreadFunc(void *param) {
monSaveVgroupsInfo
();
monSaveVgroupsInfo
();
monSaveSlowQueryInfo
();
monSaveSlowQueryInfo
();
monSaveDisksInfo
();
monSaveDisksInfo
();
monSaveGrantsInfo
();
}
}
}
}
}
}
...
@@ -330,6 +335,11 @@ static void monBuildMonitorSql(char *sql, int32_t cmd) {
...
@@ -330,6 +335,11 @@ static void monBuildMonitorSql(char *sql, int32_t cmd) {
}
else
if
(
cmd
==
MON_CMD_CREATE_TB_DNODE_LOG
)
{
}
else
if
(
cmd
==
MON_CMD_CREATE_TB_DNODE_LOG
)
{
snprintf
(
sql
,
SQL_LENGTH
,
"create table if not exists %s.dnode_%d_log using %s.logs tags(%d, '%s')"
,
tsMonitorDbName
,
snprintf
(
sql
,
SQL_LENGTH
,
"create table if not exists %s.dnode_%d_log using %s.logs tags(%d, '%s')"
,
tsMonitorDbName
,
dnodeGetDnodeId
(),
tsMonitorDbName
,
dnodeGetDnodeId
(),
tsLocalEp
);
dnodeGetDnodeId
(),
tsMonitorDbName
,
dnodeGetDnodeId
(),
tsLocalEp
);
}
else
if
(
cmd
==
MON_CMD_CREATE_TB_GRANTS
)
{
snprintf
(
sql
,
SQL_LENGTH
,
"create table if not exists %s.grants_info(ts timestamp"
", expire_time binary(%d), timeseries binary(%d))"
,
tsMonitorDbName
,
MAX_EXPIRE_TIME_LEN
,
MAX_TIMESERIES_LEN
);
}
}
sql
[
SQL_LENGTH
]
=
0
;
sql
[
SQL_LENGTH
]
=
0
;
...
@@ -1027,6 +1037,43 @@ static void monSaveDisksInfo() {
...
@@ -1027,6 +1037,43 @@ static void monSaveDisksInfo() {
}
}
}
}
static
void
monSaveGrantsInfo
()
{
int64_t
ts
=
taosGetTimestampUs
();
char
*
sql
=
tsMonitor
.
sql
;
int32_t
pos
=
snprintf
(
sql
,
SQL_LENGTH
,
"insert into %s.grants_info values(%"
PRId64
,
tsMonitorDbName
,
ts
);
TAOS_RES
*
result
=
taos_query
(
tsMonitor
.
conn
,
"show grants"
);
TAOS_ROW
row
;
int32_t
num_fields
=
taos_num_fields
(
result
);
TAOS_FIELD
*
fields
=
taos_fetch_fields
(
result
);
while
((
row
=
taos_fetch_row
(
result
)))
{
for
(
int
i
=
0
;
i
<
num_fields
;
++
i
)
{
if
(
strcmp
(
fields
[
i
].
name
,
"expire time"
)
==
0
)
{
pos
+=
snprintf
(
sql
+
pos
,
SQL_LENGTH
,
",
\"
%s
\"
"
,
(
char
*
)
row
[
i
]);
}
else
if
(
strcmp
(
fields
[
i
].
name
,
"timeseries"
)
==
0
)
{
pos
+=
snprintf
(
sql
+
pos
,
SQL_LENGTH
,
",
\"
%s
\"
)"
,
(
char
*
)
row
[
i
]);
}
}
}
monError
(
"sql:%s"
,
sql
);
taos_free_result
(
result
);
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 grants info, reason:%s, sql:%s"
,
tstrerror
(
code
),
tsMonitor
.
sql
);
}
else
{
monIncSubmitReqCnt
();
monDebug
(
"successfully to save grants info, sql:%s"
,
tsMonitor
.
sql
);
}
}
static
void
monExecSqlCb
(
void
*
param
,
TAOS_RES
*
result
,
int32_t
code
)
{
static
void
monExecSqlCb
(
void
*
param
,
TAOS_RES
*
result
,
int32_t
code
)
{
int32_t
c
=
taos_errno
(
result
);
int32_t
c
=
taos_errno
(
result
);
if
(
c
!=
TSDB_CODE_SUCCESS
)
{
if
(
c
!=
TSDB_CODE_SUCCESS
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录