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