#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <math.h>
// extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
// };
int c_push_message(lua_State *L){
double nowtime = luaL_checknumber(L,1);
double cpu = luaL_checknumber(L,2);
double mem = luaL_checknumber(L,3);
double count = luaL_checknumber(L,4);
FILE *file = fopen("stress_message.csv","a");
if(NULL == file){
printf("failed to open\n");
return 0;
}
// printf("$$$$$$$$$%lf,%lf,%lf,%lf\n",nowtime,cpu,mem,count);
int s = (int)nowtime%60;
nowtime=nowtime/60;
int m = (int)nowtime%60;
int h =(int)((int)nowtime/60);
char char_h[9],char_m[3],char_s[3];
sprintf(char_s,"%d",s);
sprintf(char_m,"%d",m);
sprintf(char_h,"%d",h);
strcat(strcat(strcat(strcat(char_h,":"),char_m),":"),char_s);
fprintf(file,"%s,%lf,%lf,%lf\n",char_h,cpu,(mem/1024),count);
fclose(file);
return 0;
}
int luaopen_pushmessage(lua_State *L){
luaL_Reg pushmessage [] = {
{"pushmessage",c_push_message},
{NULL,NULL}
};
luaL_checkversion(L);
luaL_newlib(L,pushmessage);
return 1;
}
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <math.h>
// extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
// };
int c_push_message(lua_State *L){
double nowtime = luaL_checknumber(L,1);
double cpu = luaL_checknumber(L,2);
double mem = luaL_checknumber(L,3);
double count = luaL_checknumber(L,4);
FILE *file = fopen("stress_message.csv","a");
if(NULL == file){
printf("failed to open\n");
return 0;
}
// printf("$$$$$$$$$%lf,%lf,%lf,%lf\n",nowtime,cpu,mem,count);
int s = (int)nowtime%60;
nowtime=nowtime/60;
int m = (int)nowtime%60;
int h =(int)((int)nowtime/60);
char char_h[9],char_m[3],char_s[3];
sprintf(char_s,"%d",s);
sprintf(char_m,"%d",m);
sprintf(char_h,"%d",h);
strcat(strcat(strcat(strcat(char_h,":"),char_m),":"),char_s);
fprintf(file,"%s,%lf,%lf,%lf\n",char_h,cpu,(mem/1024),count);
fclose(file);
return 0;
}
int luaopen_pushmessage(lua_State *L){
luaL_Reg pushmessage [] = {
{"pushmessage",c_push_message},
{NULL,NULL}
};
luaL_checkversion(L);
luaL_newlib(L,pushmessage);
return 1;
}

本文介绍了一个使用C语言编写的Lua模块,该模块能够将包含时间戳、CPU使用率、内存使用情况等信息的日志条目写入CSV文件。通过解析传入的时间参数,该模块能以友好的时间格式输出日志。
1025

被折叠的 条评论
为什么被折叠?



