add bytes type stats in preparation to save none utf8 strings.

PiperOrigin-RevId: 304255222
Change-Id: I234ffe964aab55fab6c60aaeb15527e926196301
This commit is contained in:
A. Unique TensorFlower 2020-04-01 13:51:50 -07:00 committed by TensorFlower Gardener
parent 3b17f5ba31
commit bfe871e202
3 changed files with 18 additions and 5 deletions

View File

@ -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;
}
}

View File

@ -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) {

View File

@ -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 "";
}