Skip to content

Commit e480eb9

Browse files
trisolarancopybara-github
authored andcommitted
use inheritance instead of composition so TraceMeProducer/Consumer can call AppendMetadta.
PiperOrigin-RevId: 501886665
1 parent e703ead commit e480eb9

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

tsl/profiler/lib/connected_traceme.h

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,17 @@ namespace profiler {
7474
* // context_id is passed from the producer thread.
7575
* TraceMeConsumer consumer([&] { return "op_execute"; }, context_id);
7676
*/
77-
class TraceMeProducer {
77+
class TraceMeProducer : public TraceMe {
7878
public:
7979
template <typename NameT>
8080
explicit TraceMeProducer(NameT&& name,
8181
ContextType context_type = ContextType::kGeneric,
8282
absl::optional<uint64> context_id = absl::nullopt,
8383
int level = 2)
84-
: context_id_(context_id.has_value() ? context_id.value()
85-
: TraceMe::NewActivityId()),
86-
trace_me_(std::forward<NameT>(name), level) {
87-
trace_me_.AppendMetadata([&] {
84+
: TraceMe(std::forward<NameT>(name), level),
85+
context_id_(context_id.has_value() ? context_id.value()
86+
: TraceMe::NewActivityId()) {
87+
AppendMetadata([&] {
8888
return TraceMeEncode({{"_pt", context_type}, {"_p", context_id_}});
8989
});
9090
}
@@ -93,16 +93,15 @@ class TraceMeProducer {
9393

9494
private:
9595
uint64 context_id_;
96-
TraceMe trace_me_;
9796
};
9897

99-
class TraceMeConsumer {
98+
class TraceMeConsumer : public TraceMe {
10099
public:
101100
template <typename NameT>
102101
TraceMeConsumer(NameT&& name, ContextType context_type, uint64 context_id,
103102
int level = 2)
104-
: trace_me_(std::forward<NameT>(name), level) {
105-
trace_me_.AppendMetadata([&] {
103+
: TraceMe(std::forward<NameT>(name), level) {
104+
AppendMetadata([&] {
106105
return TraceMeEncode({{"_ct", context_type}, {"_c", context_id}});
107106
});
108107
}
@@ -111,9 +110,6 @@ class TraceMeConsumer {
111110
TraceMeConsumer(NameT&& name, uint64 context_id, int level = 2)
112111
: TraceMeConsumer(std::forward<NameT>(name), ContextType::kGeneric,
113112
context_id, level) {}
114-
115-
private:
116-
TraceMe trace_me_;
117113
};
118114

119115
} // namespace profiler

0 commit comments

Comments
 (0)