| 127 | } |
| 128 | |
| 129 | static void traceKeyValuesSummary(TraceEvent& event, |
| 130 | const KeySelectorRef& begin, |
| 131 | const KeySelectorRef& end, |
| 132 | Optional<TenantNameRef> tenant, |
| 133 | Version version, |
| 134 | int limit, |
| 135 | int limitBytes, |
| 136 | size_t ssSize, |
| 137 | bool ssMore, |
| 138 | size_t tssSize, |
| 139 | bool tssMore) { |
| 140 | std::string ssSummaryString = format("(%d)%s", ssSize, ssMore ? "+" : ""); |
| 141 | std::string tssSummaryString = format("(%d)%s", tssSize, tssMore ? "+" : ""); |
| 142 | event.detail("Begin", format("%s%s:%d", begin.orEqual ? "=" : "", begin.getKey().printable().c_str(), begin.offset)) |
| 143 | .detail("End", format("%s%s:%d", end.orEqual ? "=" : "", end.getKey().printable().c_str(), end.offset)) |
| 144 | .detail("Tenant", tenant) |
| 145 | .detail("Version", version) |
| 146 | .detail("Limit", limit) |
| 147 | .detail("LimitBytes", limitBytes) |
| 148 | .detail("SSReplySummary", ssSummaryString) |
| 149 | .detail("TSSReplySummary", tssSummaryString); |
| 150 | } |
| 151 | |
| 152 | static void traceKeyValuesDiff(TraceEvent& event, |
| 153 | const KeySelectorRef& begin, |