xref: /llvm-project/llvm/lib/Telemetry/Telemetry.cpp (revision dbae7176a6ecf558dc5e92016cdda387c9d74d66)
1 #include "llvm/Telemetry/Telemetry.h"
2 
3 namespace llvm {
4 namespace telemetry {
5 
6 void TelemetryInfo::serialize(Serializer &serializer) const {
7   serializer.write("SessionId", SessionId);
8 }
9 
10 Error Manager::dispatch(TelemetryInfo *Entry) {
11   if (Error Err = preDispatch(Entry))
12     return Err;
13 
14   Error AllErrs = Error::success();
15   for (auto &Dest : Destinations) {
16     AllErrs = joinErrors(std::move(AllErrs), Dest->receiveEntry(Entry));
17   }
18   return AllErrs;
19 }
20 
21 void Manager::addDestination(std::unique_ptr<Destination> Dest) {
22   Destinations.push_back(std::move(Dest));
23 }
24 
25 } // namespace telemetry
26 } // namespace llvm
27