add bytes type stats in preparation to save none utf8 strings.
PiperOrigin-RevId: 304255222 Change-Id: I234ffe964aab55fab6c60aaeb15527e926196301
This commit is contained in:
parent
3b17f5ba31
commit
bfe871e202
@ -91,7 +91,7 @@ message XEvent {
|
||||
// An XStat is a named value associated with an XEvent, e.g., a performance
|
||||
// counter value, a metric computed by a formula applied over nested XEvents
|
||||
// and XStats.
|
||||
// Next ID: 6
|
||||
// Next ID: 7
|
||||
message XStat {
|
||||
// XStatMetadata.id of corresponding metadata.
|
||||
int64 metadata_id = 1;
|
||||
@ -102,6 +102,7 @@ message XStat {
|
||||
uint64 uint64_value = 3;
|
||||
int64 int64_value = 4;
|
||||
string str_value = 5;
|
||||
bytes bytes_value = 6;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -46,11 +46,21 @@ class XStatsBuilder {
|
||||
void AddStatValue(const XStatMetadata& metadata, double value) {
|
||||
AddStat(metadata)->set_double_value(value);
|
||||
}
|
||||
void AddStatValue(const XStatMetadata& metadata, absl::string_view value) {
|
||||
AddStat(metadata)->set_str_value(string(value));
|
||||
void AddStatValue(const XStatMetadata& metadata, absl::string_view value,
|
||||
bool is_bytes = false) {
|
||||
if (is_bytes) {
|
||||
AddStat(metadata)->set_bytes_value(string(value));
|
||||
} else {
|
||||
AddStat(metadata)->set_str_value(string(value));
|
||||
}
|
||||
}
|
||||
void AddStatValue(const XStatMetadata& metadata, string&& value) {
|
||||
AddStat(metadata)->set_str_value(std::move(value));
|
||||
void AddStatValue(const XStatMetadata& metadata, string&& value,
|
||||
bool is_bytes = false) {
|
||||
if (is_bytes) {
|
||||
AddStat(metadata)->set_bytes_value(std::move(value));
|
||||
} else {
|
||||
AddStat(metadata)->set_str_value(std::move(value));
|
||||
}
|
||||
}
|
||||
|
||||
void AddStat(const XStatMetadata& metadata, const XStat& stat) {
|
||||
|
@ -34,6 +34,8 @@ std::string XStatVisitor::ToString() const {
|
||||
return absl::StrCat(stat_->double_value());
|
||||
case XStat::kStrValue:
|
||||
return stat_->str_value();
|
||||
case XStat::kBytesValue:
|
||||
return "<opaque bytes>";
|
||||
case XStat::VALUE_NOT_SET:
|
||||
return "";
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user