Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
3c7924ed
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
未验证
提交
3c7924ed
编写于
7月 17, 2023
作者:
D
dapan1121
提交者:
GitHub
7月 17, 2023
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #22081 from taosdata/enh/TD-24920-3.0
enh: dm monitor refactor
上级
0a74db1e
0e6b9826
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
101 addition
and
25 deletion
+101
-25
include/common/tglobal.h
include/common/tglobal.h
+1
-0
include/os/osSysinfo.h
include/os/osSysinfo.h
+1
-1
source/common/CMakeLists.txt
source/common/CMakeLists.txt
+4
-0
source/common/src/tglobal.c
source/common/src/tglobal.c
+8
-0
source/common/src/tmisce.c
source/common/src/tmisce.c
+1
-1
source/dnode/mgmt/exe/dmMain.c
source/dnode/mgmt/exe/dmMain.c
+5
-1
source/dnode/mgmt/node_mgmt/src/dmEnv.c
source/dnode/mgmt/node_mgmt/src/dmEnv.c
+56
-9
source/dnode/mnode/impl/src/mndCluster.c
source/dnode/mnode/impl/src/mndCluster.c
+0
-1
source/dnode/mnode/impl/src/mndTelem.c
source/dnode/mnode/impl/src/mndTelem.c
+1
-1
source/os/src/osSysinfo.c
source/os/src/osSysinfo.c
+23
-10
source/os/test/osTests.cpp
source/os/test/osTests.cpp
+1
-1
未找到文件。
include/common/tglobal.h
浏览文件 @
3c7924ed
...
...
@@ -34,6 +34,7 @@ extern char tsFirst[];
extern
char
tsSecond
[];
extern
char
tsLocalFqdn
[];
extern
char
tsLocalEp
[];
extern
char
tsVersionName
[];
extern
uint16_t
tsServerPort
;
extern
int32_t
tsVersion
;
extern
int32_t
tsStatusInterval
;
...
...
include/os/osSysinfo.h
浏览文件 @
3c7924ed
...
...
@@ -36,7 +36,7 @@ typedef struct {
bool
taosCheckSystemIsLittleEnd
();
void
taosGetSystemInfo
();
int32_t
taosGetEmail
(
char
*
email
,
int32_t
maxLen
);
int32_t
taosGetOsReleaseName
(
char
*
releaseName
,
int32_t
maxLen
);
int32_t
taosGetOsReleaseName
(
char
*
releaseName
,
char
*
sName
,
char
*
ver
,
int32_t
maxLen
);
int32_t
taosGetCpuInfo
(
char
*
cpuModel
,
int32_t
maxLen
,
float
*
numOfCores
);
int32_t
taosGetCpuCores
(
float
*
numOfCores
);
void
taosGetCpuUsage
(
double
*
cpu_system
,
double
*
cpu_engine
);
...
...
source/common/CMakeLists.txt
浏览文件 @
3c7924ed
aux_source_directory
(
src COMMON_SRC
)
IF
(
TD_ENTERPRISE
)
LIST
(
APPEND COMMON_SRC
${
TD_ENTERPRISE_DIR
}
/src/plugins/common/src/tglobal.c
)
ENDIF
()
add_library
(
common STATIC
${
COMMON_SRC
}
)
if
(
DEFINED GRANT_CFG_INCLUDE_DIR
)
...
...
source/common/src/tglobal.c
浏览文件 @
3c7924ed
...
...
@@ -34,6 +34,7 @@ char tsFirst[TSDB_EP_LEN] = {0};
char
tsSecond
[
TSDB_EP_LEN
]
=
{
0
};
char
tsLocalFqdn
[
TSDB_FQDN_LEN
]
=
{
0
};
char
tsLocalEp
[
TSDB_EP_LEN
]
=
{
0
};
// Local End Point, hostname:port
char
tsVersionName
[
16
]
=
"community"
;
uint16_t
tsServerPort
=
6030
;
int32_t
tsVersion
=
30000000
;
int32_t
tsStatusInterval
=
1
;
// second
...
...
@@ -938,6 +939,12 @@ static int32_t taosSetServerCfg(SConfig *pCfg) {
return
0
;
}
#ifndef TD_ENTERPRISE
static
int32_t
taosSetReleaseCfg
(
SConfig
*
pCfg
)
{
return
0
;
}
#else
int32_t
taosSetReleaseCfg
(
SConfig
*
pCfg
);
#endif
void
taosLocalCfgForbiddenToChange
(
char
*
name
,
bool
*
forbidden
)
{
int32_t
len
=
strlen
(
name
);
char
lowcaseName
[
CFG_NAME_MAX_LEN
+
1
]
=
{
0
};
...
...
@@ -1444,6 +1451,7 @@ int32_t taosInitCfg(const char *cfgDir, const char **envCmd, const char *envFile
if
(
taosSetClientCfg
(
tsCfg
))
return
-
1
;
if
(
taosUpdateServerCfg
(
tsCfg
))
return
-
1
;
if
(
taosSetServerCfg
(
tsCfg
))
return
-
1
;
if
(
taosSetReleaseCfg
(
tsCfg
))
return
-
1
;
if
(
taosSetTfsCfg
(
tsCfg
)
!=
0
)
return
-
1
;
}
taosSetSystemCfg
(
tsCfg
);
...
...
source/common/src/tmisce.c
浏览文件 @
3c7924ed
...
...
@@ -109,7 +109,7 @@ int32_t taosGenCrashJsonMsg(int signum, char** pMsg, int64_t clusterId, int64_t
taosGetAppName
(
tmp
,
NULL
);
tjsonAddStringToObject
(
pJson
,
"appName"
,
tmp
);
if
(
taosGetOsReleaseName
(
tmp
,
sizeof
(
tmp
))
==
0
)
{
if
(
taosGetOsReleaseName
(
tmp
,
NULL
,
NULL
,
sizeof
(
tmp
))
==
0
)
{
tjsonAddStringToObject
(
pJson
,
"os"
,
tmp
);
}
...
...
source/dnode/mgmt/exe/dmMain.c
浏览文件 @
3c7924ed
...
...
@@ -359,7 +359,11 @@ int mainWindows(int argc, char **argv) {
taosCleanupArgs
();
if
(
dmInit
()
!=
0
)
{
dError
(
"failed to init dnode since %s"
,
terrstr
());
if
(
terrno
==
TSDB_CODE_NOT_FOUND
)
{
dError
(
"failed to init dnode since unsupported platform, please visit https://www.taosdata.com for support"
);
}
else
{
dError
(
"failed to init dnode since %s"
,
terrstr
());
}
taosCleanupCfg
();
taosCloseLog
();
...
...
source/dnode/mgmt/node_mgmt/src/dmEnv.c
浏览文件 @
3c7924ed
...
...
@@ -16,7 +16,33 @@
#define _DEFAULT_SOURCE
#include "dmMgmt.h"
static
SDnode
globalDnode
=
{
0
};
#define STR_CASE_CMP(s, d) (0 == strcasecmp((s), (d)))
#define STR_STR_CMP(s, d) (strstr((s), (d)))
#define STR_INT_CMP(s, d, c) (taosStr2Int32(s, 0, 10) c(d))
#define STR_STR_SIGN ("ia")
#define DM_INIT_MON() \
do { \
code = (int32_t)(2147483648 | 298); \
strncpy(stName, tsVersionName, 64); \
monCfg.maxLogs = tsMonitorMaxLogs; \
monCfg.port = tsMonitorPort; \
monCfg.server = tsMonitorFqdn; \
monCfg.comp = tsMonitorComp; \
if (monInit(&monCfg) != 0) { \
if (terrno != 0) code = terrno; \
goto _exit; \
} \
} while (0)
#define DM_ERR_RTN(c) \
do { \
code = (c); \
goto _exit; \
} while (0)
static
SDnode
globalDnode
=
{
0
};
static
const
char
*
dmOS
[
10
]
=
{
"Ubuntu"
,
"CentOS Linux"
,
"Red Hat"
,
"Debian GNU"
,
"CoreOS"
,
"FreeBSD"
,
"openSUSE"
,
"SLES"
,
"Fedora"
,
"MacOS"
};
SDnode
*
dmInstance
()
{
return
&
globalDnode
;
}
...
...
@@ -37,16 +63,37 @@ static int32_t dmInitSystem() {
}
static
int32_t
dmInitMonitor
()
{
int32_t
code
=
0
;
SMonCfg
monCfg
=
{
0
};
monCfg
.
maxLogs
=
tsMonitorMaxLogs
;
monCfg
.
port
=
tsMonitorPort
;
monCfg
.
server
=
tsMonitorFqdn
;
monCfg
.
comp
=
tsMonitorComp
;
if
(
monInit
(
&
monCfg
)
!=
0
)
{
dError
(
"failed to init monitor since %s"
,
terrstr
());
return
-
1
;
char
reName
[
64
]
=
{
0
};
char
stName
[
64
]
=
{
0
};
char
ver
[
64
]
=
{
0
};
DM_INIT_MON
();
if
(
STR_STR_CMP
(
stName
,
STR_STR_SIGN
))
{
DM_ERR_RTN
(
0
);
}
return
0
;
if
(
taosGetOsReleaseName
(
reName
,
stName
,
ver
,
64
)
!=
0
)
{
DM_ERR_RTN
(
code
);
}
if
(
STR_CASE_CMP
(
stName
,
dmOS
[
0
]))
{
if
(
STR_INT_CMP
(
ver
,
17
,
>
))
{
DM_ERR_RTN
(
0
);
}
}
else
if
(
STR_CASE_CMP
(
stName
,
dmOS
[
1
]))
{
if
(
STR_INT_CMP
(
ver
,
6
,
>
))
{
DM_ERR_RTN
(
0
);
}
}
else
if
(
STR_STR_CMP
(
stName
,
dmOS
[
2
])
||
STR_STR_CMP
(
stName
,
dmOS
[
3
])
||
STR_STR_CMP
(
stName
,
dmOS
[
4
])
||
STR_STR_CMP
(
stName
,
dmOS
[
5
])
||
STR_STR_CMP
(
stName
,
dmOS
[
6
])
||
STR_STR_CMP
(
stName
,
dmOS
[
7
])
||
STR_STR_CMP
(
stName
,
dmOS
[
8
])
||
STR_STR_CMP
(
stName
,
dmOS
[
9
]))
{
DM_ERR_RTN
(
0
);
}
_exit:
if
(
code
)
terrno
=
code
;
return
code
;
}
static
bool
dmCheckDiskSpace
()
{
...
...
source/dnode/mnode/impl/src/mndCluster.c
浏览文件 @
3c7924ed
...
...
@@ -20,7 +20,6 @@
#define CLUSTER_VER_NUMBE 1
#define CLUSTER_RESERVE_SIZE 60
char
tsVersionName
[
16
]
=
"community"
;
int64_t
tsExpireTime
=
0
;
static
SSdbRaw
*
mndClusterActionEncode
(
SClusterObj
*
pCluster
);
...
...
source/dnode/mnode/impl/src/mndTelem.c
浏览文件 @
3c7924ed
...
...
@@ -94,7 +94,7 @@ static char* mndBuildTelemetryReport(SMnode* pMnode) {
tjsonAddStringToObject
(
pJson
,
"instanceId"
,
clusterName
);
tjsonAddDoubleToObject
(
pJson
,
"reportVersion"
,
1
);
if
(
taosGetOsReleaseName
(
tmp
,
sizeof
(
tmp
))
==
0
)
{
if
(
taosGetOsReleaseName
(
tmp
,
NULL
,
NULL
,
sizeof
(
tmp
))
==
0
)
{
tjsonAddStringToObject
(
pJson
,
"os"
,
tmp
);
}
...
...
source/os/src/osSysinfo.c
浏览文件 @
3c7924ed
...
...
@@ -327,17 +327,19 @@ bool getWinVersionReleaseName(char *releaseName, int32_t maxLen) {
}
#endif
int32_t
taosGetOsReleaseName
(
char
*
releaseName
,
int32_t
maxLen
)
{
int32_t
taosGetOsReleaseName
(
char
*
releaseName
,
char
*
sName
,
char
*
ver
,
int32_t
maxLen
)
{
#ifdef WINDOWS
if
(
!
getWinVersionReleaseName
(
releaseName
,
maxLen
))
{
snprintf
(
releaseName
,
maxLen
,
"Windows"
);
}
if
(
sName
)
snprintf
(
sName
,
maxLen
,
"Windows"
);
return
0
;
#elif defined(_TD_DARWIN_64)
char
osversion
[
32
];
size_t
osversion_len
=
sizeof
(
osversion
)
-
1
;
int
osversion_name
[]
=
{
CTL_KERN
,
KERN_OSRELEASE
};
if
(
sName
)
snprintf
(
sName
,
maxLen
,
"macOS"
);
if
(
sysctl
(
osversion_name
,
2
,
osversion
,
&
osversion_len
,
NULL
,
0
)
==
-
1
)
{
return
-
1
;
}
...
...
@@ -357,24 +359,35 @@ int32_t taosGetOsReleaseName(char *releaseName, int32_t maxLen) {
return
0
;
#else
char
line
[
1024
];
char
*
dest
=
NULL
;
size_t
size
=
0
;
int32_t
code
=
-
1
;
int32_t
cnt
=
0
;
TdFilePtr
pFile
=
taosOpenFile
(
"/etc/os-release"
,
TD_FILE_READ
|
TD_FILE_STREAM
);
if
(
pFile
==
NULL
)
return
fals
e
;
if
(
pFile
==
NULL
)
return
cod
e
;
while
((
size
=
taosGetsFile
(
pFile
,
sizeof
(
line
),
line
))
!=
-
1
)
{
line
[
size
-
1
]
=
'\0'
;
if
(
strncmp
(
line
,
"PRETTY_NAME"
,
11
)
==
0
)
{
const
char
*
p
=
strchr
(
line
,
'='
)
+
1
;
if
(
*
p
==
'"'
)
{
p
++
;
line
[
size
-
2
]
=
0
;
}
tstrncpy
(
releaseName
,
p
,
maxLen
);
if
(
strncmp
(
line
,
"NAME"
,
4
)
==
0
)
{
dest
=
sName
;
}
else
if
(
strncmp
(
line
,
"PRETTY_NAME"
,
11
)
==
0
)
{
dest
=
releaseName
;
code
=
0
;
break
;
}
else
if
(
strncmp
(
line
,
"VERSION_ID"
,
10
)
==
0
)
{
dest
=
ver
;
}
else
{
continue
;
}
if
(
!
dest
)
continue
;
const
char
*
p
=
strchr
(
line
,
'='
)
+
1
;
if
(
*
p
==
'"'
)
{
p
++
;
line
[
size
-
2
]
=
0
;
}
tstrncpy
(
dest
,
p
,
maxLen
);
if
(
++
cnt
>=
3
)
break
;
}
taosCloseFile
(
&
pFile
);
...
...
source/os/test/osTests.cpp
浏览文件 @
3c7924ed
...
...
@@ -37,7 +37,7 @@ TEST(osTest, osSystem) {
const
int
sysLen
=
64
;
char
osSysName
[
sysLen
];
int
ret
=
taosGetOsReleaseName
(
osSysName
,
sysLen
);
int
ret
=
taosGetOsReleaseName
(
osSysName
,
NULL
,
NULL
,
sysLen
);
printf
(
"os systeme name:%s
\n
"
,
osSysName
);
ASSERT_EQ
(
ret
,
0
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录