| 123456789101112131415161718192021222324252627282930 | #include <iostream>#include <sstream>#include <google/protobuf/util/json_util.h>#include <google/protobuf/util/message_differencer.h>#include "json_serializer.h"namespace prometheus {std::string JsonSerializer::Serialize(    const std::vector<io::prometheus::client::MetricFamily>& metrics) {  using google::protobuf::util::MessageDifferencer;  std::stringstream ss;  ss << "[";  for (auto&& metric : metrics) {    std::string result;    google::protobuf::util::MessageToJsonString(        metric, &result, google::protobuf::util::JsonPrintOptions());    ss << result;    if (!MessageDifferencer::Equals(metric, metrics.back())) {      ss << ",";    }  }  ss << "]";  return ss.str();}}
 |