160 printf(
"perf record attr init failed\n");
166 printf(
"parse error\n");
172 printf(
"perf config failed\n");
179 printf(
"fork error\n");
182 }
else if (child == 0) {
187 waitpid(child, 0, 0);
190 buf = (
char *)
malloc(LOSCFG_PERF_BUFFER_SIZE);
192 printf(
"no memory for read perf 0x%x\n", LOSCFG_PERF_BUFFER_SIZE);
195 len =
PerfRead(fd, buf, LOSCFG_PERF_BUFFER_SIZE);
198 printf(
"save perf data success at %s\n",
g_savePath);
200 printf(
"save perf data failed at %s\n",
g_savePath);
void PerfStart(int fd, size_t sectionId)
int PerfConfig(int fd, PerfConfigAttr *attr)
ssize_t PerfRead(int fd, char *buf, size_t size)
void * malloc(size_t size)
动态分配内存块大小
void free(void *ptr)
释放ptr所指向的内存空间
int ParseOptions(int argc, char **argv, PerfOption *opt, SubCmd *cmd)
static int PerfRecordAttrInit(void)
static PerfConfigAttr g_recordAttr
static const char * g_savePath
static PerfOption g_recordOpts[]
ssize_t PerfWriteFile(const char *filePath, const char *buf, ssize_t bufSize)
char * params[CMD_MAX_PARAMS]
ARG_NUM_3 ARG_NUM_1 ARG_NUM_2 ARG_NUM_2 ARG_NUM_3 ARG_NUM_1 ARG_NUM_4 ARG_NUM_2 ARG_NUM_2 ARG_NUM_5 ARG_NUM_2 void