Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
3cfa4906
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看板
提交
3cfa4906
编写于
7月 23, 2023
作者:
K
kailixu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: uptime logic optimize
上级
ce842ec8
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
37 addition
and
3 deletion
+37
-3
include/common/tglobal.h
include/common/tglobal.h
+1
-0
include/os/os.h
include/os/os.h
+1
-0
include/os/osSysinfo.h
include/os/osSysinfo.h
+5
-0
source/dnode/mgmt/exe/dmMain.c
source/dnode/mgmt/exe/dmMain.c
+1
-0
source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
+15
-3
source/os/src/osSysinfo.c
source/os/src/osSysinfo.c
+14
-0
未找到文件。
include/common/tglobal.h
浏览文件 @
3cfa4906
...
...
@@ -90,6 +90,7 @@ extern bool tsMndSkipGrant;
// dnode
extern
int64_t
tsDndStart
;
extern
int64_t
tsDndStartOsUptime
;
extern
int64_t
tsDndUpTime
;
// monitor
...
...
include/os/os.h
浏览文件 @
3cfa4906
...
...
@@ -41,6 +41,7 @@ extern "C" {
#include <sys/mman.h>
#include <sys/param.h>
#include <sys/shm.h>
#include <sys/sysinfo.h>
#include <sys/stat.h>
#include <sys/statvfs.h>
#include <sys/time.h>
...
...
include/os/osSysinfo.h
浏览文件 @
3cfa4906
...
...
@@ -18,6 +18,10 @@
#include "os.h"
// #include <linux/unistd.h> /* for _syscallX macros/related stuff */
// #include <linux/kernel.h> /* for struct sysinfo */
#ifdef __cplusplus
extern
"C"
{
#endif
...
...
@@ -35,6 +39,7 @@ typedef struct {
bool
taosCheckSystemIsLittleEnd
();
void
taosGetSystemInfo
();
int64_t
taosGetOsUptime
();
int32_t
taosGetEmail
(
char
*
email
,
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
);
...
...
source/dnode/mgmt/exe/dmMain.c
浏览文件 @
3cfa4906
...
...
@@ -374,6 +374,7 @@ int mainWindows(int argc, char **argv) {
dInfo
(
"start to init service"
);
dmSetSignalHandle
();
tsDndStart
=
taosGetTimestampMs
();
tsDndStartOsUptime
=
taosGetOsUptime
();
int32_t
code
=
dmRun
();
dInfo
(
"shutting down the service"
);
...
...
source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
浏览文件 @
3cfa4906
...
...
@@ -24,6 +24,10 @@ static void *dmStatusThreadFp(void *param) {
const
static
int16_t
TRIM_FREQ
=
30
;
int32_t
trimCount
=
0
;
int32_t
upTimeCount
=
0
;
int64_t
upTime
=
0
;
int64_t
thrdTime
=
0
;
while
(
1
)
{
taosMsleep
(
200
);
if
(
pMgmt
->
pData
->
dropped
||
pMgmt
->
pData
->
stopped
)
break
;
...
...
@@ -39,10 +43,18 @@ static void *dmStatusThreadFp(void *param) {
if
(
trimCount
==
0
)
{
taosMemoryTrim
(
0
);
}
cost
=
taosGetTimestampMs
()
-
curTime
;
if
((
upTimeCount
=
(
++
upTimeCount
&
7
))
==
0
)
{
upTime
=
(
taosGetOsUptime
()
-
tsDndStartOsUptime
)
*
1000
;
}
}
tsDndUpTime
+=
200
;
if
(
cost
>
0
)
tsDndUpTime
+=
cost
;
// TODO: use /proc/uptime to replace the upTime calculation for linux
thrdTime
+=
200
;
cost
=
taosGetTimestampMs
()
-
curTime
;
if
(
cost
>
0
)
thrdTime
+=
cost
;
tsDndUpTime
=
upTime
>
thrdTime
?
upTime
:
thrdTime
;
printf
(
"upTime:%"
PRIi64
" thrdTime:%"
PRIi64
" tsDndUpTime:%"
PRIi64
" delta:%"
PRIi64
"
\n
"
,
upTime
,
thrdTime
,
tsDndUpTime
,
upTime
-
thrdTime
);
}
return
NULL
;
...
...
source/os/src/osSysinfo.c
浏览文件 @
3cfa4906
...
...
@@ -961,6 +961,20 @@ char *taosGetCmdlineByPID(int pid) {
#endif
}
int64_t
taosGetOsUptime
()
{
#ifdef WINDOWS
return
0
;
// #else
// #elif defined(_TD_DARWIN_64)
// return 0;
#else
struct
sysinfo
info
;
if
(
0
==
sysinfo
(
&
info
))
{
return
info
.
uptime
;
};
#endif
}
void
taosSetCoreDump
(
bool
enable
)
{
if
(
!
enable
)
return
;
#ifdef WINDOWS
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录