| 172 | } |
| 173 | |
| 174 | static void _write_lcs_header(std::ofstream &ofile, lcs_trace_stat_t &stat, int64_t lcs_ver) { |
| 175 | lcs_trace_header_t lcs_header; |
| 176 | memset(&lcs_header, 0, sizeof(lcs_header)); |
| 177 | lcs_header.start_magic = LCS_TRACE_START_MAGIC; |
| 178 | lcs_header.end_magic = LCS_TRACE_END_MAGIC; |
| 179 | lcs_header.stat = stat; |
| 180 | lcs_header.version = lcs_ver; |
| 181 | |
| 182 | ofile.write(reinterpret_cast<char *>(&lcs_header), sizeof(lcs_trace_header_t)); |
| 183 | } |
| 184 | |
| 185 | static void _analyze_trace(lcs_trace_stat_t &stat, const std::unordered_map<uint64_t, struct obj_info> &obj_map, |
| 186 | const std::unordered_map<int32_t, int32_t> &tenant_cnt, |