Finish metrics design, I think
This commit is contained in:
@@ -76,15 +76,7 @@ struct LabelsKey {
|
||||
namespace std {
|
||||
template <> struct hash<metric::LabelsKey> {
|
||||
std::size_t operator()(const metric::LabelsKey &k) const {
|
||||
thread_local std::vector<size_t> parts;
|
||||
parts.clear();
|
||||
for (const auto &p : k.labels) {
|
||||
parts.push_back(std::hash<std::string>{}(p.first));
|
||||
parts.push_back(std::hash<std::string>{}(p.second));
|
||||
}
|
||||
return std::hash<std::string>{}(
|
||||
std::string{reinterpret_cast<const char *>(parts.data()),
|
||||
parts.size() * sizeof(size_t)});
|
||||
return std::hash<decltype(k.labels)>{}(k.labels);
|
||||
}
|
||||
};
|
||||
} // namespace std
|
||||
|
||||
Reference in New Issue
Block a user