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
|
// 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
|
// counter value, a metric computed by a formula applied over nested XEvents
|
||||||
// and XStats.
|
// and XStats.
|
||||||
// Next ID: 6
|
// Next ID: 7
|
||||||
message XStat {
|
message XStat {
|
||||||
// XStatMetadata.id of corresponding metadata.
|
// XStatMetadata.id of corresponding metadata.
|
||||||
int64 metadata_id = 1;
|
int64 metadata_id = 1;
|
||||||
@ -102,6 +102,7 @@ message XStat {
|
|||||||
uint64 uint64_value = 3;
|
uint64 uint64_value = 3;
|
||||||
int64 int64_value = 4;
|
int64 int64_value = 4;
|
||||||
string str_value = 5;
|
string str_value = 5;
|
||||||
|
bytes bytes_value = 6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,12 +46,22 @@ class XStatsBuilder {
|
|||||||
void AddStatValue(const XStatMetadata& metadata, double value) {
|
void AddStatValue(const XStatMetadata& metadata, double value) {
|
||||||
AddStat(metadata)->set_double_value(value);
|
AddStat(metadata)->set_double_value(value);
|
||||||
}
|
}
|
||||||
void AddStatValue(const XStatMetadata& metadata, absl::string_view 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));
|
AddStat(metadata)->set_str_value(string(value));
|
||||||
}
|
}
|
||||||
void AddStatValue(const XStatMetadata& metadata, string&& 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));
|
AddStat(metadata)->set_str_value(std::move(value));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AddStat(const XStatMetadata& metadata, const XStat& stat) {
|
void AddStat(const XStatMetadata& metadata, const XStat& stat) {
|
||||||
XStat* new_stat = stats_owner_->add_stats();
|
XStat* new_stat = stats_owner_->add_stats();
|
||||||
|
@ -34,6 +34,8 @@ std::string XStatVisitor::ToString() const {
|
|||||||
return absl::StrCat(stat_->double_value());
|
return absl::StrCat(stat_->double_value());
|
||||||
case XStat::kStrValue:
|
case XStat::kStrValue:
|
||||||
return stat_->str_value();
|
return stat_->str_value();
|
||||||
|
case XStat::kBytesValue:
|
||||||
|
return "<opaque bytes>";
|
||||||
case XStat::VALUE_NOT_SET:
|
case XStat::VALUE_NOT_SET:
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user