| 303 | } |
| 304 | |
| 305 | const char* ProfilingType2String(ProfilingType t) { |
| 306 | switch (t) { |
| 307 | case PROFILING_CPU: return "cpu"; |
| 308 | case PROFILING_HEAP: return "heap"; |
| 309 | case PROFILING_GROWTH: return "growth"; |
| 310 | case PROFILING_CONTENTION: return "contention"; |
| 311 | case PROFILING_IOBUF: return "iobuf"; |
| 312 | } |
| 313 | return "unknown"; |
| 314 | } |
| 315 | |
| 316 | int FileChecksum(const char* file_path, unsigned char* checksum) { |
| 317 | butil::fd_guard fd(open(file_path, O_RDONLY)); |
no outgoing calls
no test coverage detected