|
|
|
@ -92,18 +92,20 @@ void gpr_timer_set_enabled(int enabled); |
|
|
|
|
namespace grpc { |
|
|
|
|
class ProfileScope { |
|
|
|
|
public: |
|
|
|
|
ProfileScope(const char *desc, bool important) : desc_(desc) { |
|
|
|
|
GPR_TIMER_BEGIN(desc_, important ? 1 : 0); |
|
|
|
|
ProfileScope(const char *desc, bool important, const char *file, int line) |
|
|
|
|
: desc_(desc) { |
|
|
|
|
gpr_timer_begin((desc_, important ? 1 : 0, file, line); |
|
|
|
|
} |
|
|
|
|
~ProfileScope() { GPR_TIMER_END(desc_, 0); } |
|
|
|
|
~ProfileScope() { gpr_timer_end(desc_, 0, "n/a", 0); } |
|
|
|
|
|
|
|
|
|
private: |
|
|
|
|
const char *const desc_; |
|
|
|
|
}; |
|
|
|
|
} // namespace grpc
|
|
|
|
|
|
|
|
|
|
#define GPR_TIMER_SCOPE(tag, important) \ |
|
|
|
|
::grpc::ProfileScope _profile_scope_##__LINE__((tag), (important)) |
|
|
|
|
#define GPR_TIMER_SCOPE(tag, important) \ |
|
|
|
|
::grpc::ProfileScope _profile_scope_##__LINE__((tag), (important), __FILE__, \
|
|
|
|
|
__LINE__) |
|
|
|
|
#else |
|
|
|
|
#define GPR_TIMER_SCOPE(tag, important) \ |
|
|
|
|
do { \
|
|
|
|
|