diff --git a/plugins/performance/perfmonitor/common/event_builder/xperf_event_builder.cpp b/plugins/performance/perfmonitor/common/event_builder/xperf_event_builder.cpp index c88215c1c49d569d5d3be8221084adbfd3039a38..c684c194bff5e61c6481197a10eb975aafce6a29 100644 --- a/plugins/performance/perfmonitor/common/event_builder/xperf_event_builder.cpp +++ b/plugins/performance/perfmonitor/common/event_builder/xperf_event_builder.cpp @@ -187,9 +187,13 @@ XperfEventBuilder& XperfEventBuilder::Param(const char* name, const std::vector< { HiSysEventParam param = { .t = HISYSEVENT_UINT16_ARRAY, - .v = { .array = static_cast(const_cast(value.data())) }, - .arraySize = value.size(), + .v = { .array = nullptr }, + .arraySize = 0, }; + if (!value.empty()) { + param.v.array = static_cast(const_cast(value.data())); + param.arraySize = value.size(); + } SetParamName(param, name); paramList.push_back(param); return *this; diff --git a/plugins/performance/perfmonitor/common/perf_trace.h b/plugins/performance/perfmonitor/common/perf_trace.h index ff830599e61199232dbba8eb3393dd236331f829..f94c8cd52748061322fc7d02c01b80954b7b5a84 100644 --- a/plugins/performance/perfmonitor/common/perf_trace.h +++ b/plugins/performance/perfmonitor/common/perf_trace.h @@ -23,7 +23,7 @@ namespace OHOS { namespace HiviewDFX { -constexpr int TRACE_BUF_LEN = 128; +constexpr int TRACE_BUF_LEN = 256; void XperfStartTrace(const char *fmt, ...) __attribute__((format(printf, 1, 2))); void FormatTraceName(char *name, size_t size, const char *fmt, ...) __attribute__((format(printf, 3, 4)));