Skip to content

Instantly share code, notes, and snippets.

@Shylock-Hg
Created December 20, 2019 02:43
Show Gist options
  • Save Shylock-Hg/39f1d85426e397bf694dd292a36c9e34 to your computer and use it in GitHub Desktop.
Save Shylock-Hg/39f1d85426e397bf694dd292a36c9e34 to your computer and use it in GitHub Desktop.
Nebula Hisgogram Serialize
// Comment temporary for maybe used later
// auto& p = sm.histograms_[StatsManager::physicalHistoIndex(index.second)];
// std::int64_t sum = 0;
// if (parsedName != nullptr) {
// sum = readStats(index.second, parsedName->range, StatsManager::StatsMethod::SUM)
// .value();
// } else {
// sum = readStats(index.second, StatsManager::TimeRange::ONE_HOUR,
// StatsManager::StatsMethod::SUM).value();
// }
// std::uint64_t count = 0;
// if (parsedName != nullptr) {
// count = readStats(index.second, parsedName->range,
// StatsManager::StatsMethod::COUNT).value();
// } else {
// count = readStats(index.second, StatsManager::TimeRange::ONE_HOUR,
// StatsManager::StatsMethod::COUNT).value();
// }
// std::lock_guard<std::mutex> lk(*p.first);
// auto& hist = p.second;
// folly::dynamic buckets = folly::dynamic::array();
// for (std::size_t i = 0; i < hist->getNumBuckets(); ++i) {
// if (parsedName != nullptr) {
// buckets.push_back(
// hist->getBucket(i).count(static_cast<std::size_t>(parsedName->range)));
// } else {
// buckets.push_back(
// hist->getBucket(i).count(static_cast<std::size_t>(
// StatsManager::TimeRange::ONE_HOUR)));
// }
// }
// folly::dynamic histogram = folly::dynamic::object("name", name)
// ("value_range", folly::dynamic::array(hist->getMin(), hist->getMax()))
// ("buckets", std::move(buckets))
// ("count", count)
// ("sum", sum)
// ("labels", labels);
// obj[kHistograms].push_back(std::move(histogram));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment