protobuf 嵌套 message 使用
cpp
/** 部分 proto 如下:
* message Counter
* {
* double value = 1;
* }
*
* message MetricBody
* {
* MetricType type = 1; // 指标类型
* uint64 timestamp = 2; // 时间戳
* oneof M // 指标值
* {
* Counter counter = 11;
* Gauge gauge = 12;
* Histogram histogram = 13;
* Info info = 14;
* }
* }
*
* message MetricMsg
* {
* MetricHead head = 1;
* MetricBody body = 2;
* }
*/
errormgr::proto::MetricMsgVec metVec;
auto met = metVec.add_metmsg();
auto mhead = met->mutable_head();
auto mbody = met->mutable_body();
mhead->set_node("xx");
mhead->set_api_name("xxx");
mhead->set_name("xxxx");
mbody->set_type(errormgr::proto::MetricType::e_counter);
mbody->set_timestamp(tool::GetTimeStampUs());
mbody->mutable_counter()->set_value(1);