Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -319,9 +319,23 @@ private void VisitStoreResponseStatistics(
{
this.jsonWriter.WriteObjectStart();

this.jsonWriter.WriteFieldName("StartTimeUTC");
this.WriteDateTimeStringValue(storeResponseStatistics.RequestStartTime);

this.jsonWriter.WriteFieldName("ResponseTimeUTC");
this.WriteDateTimeStringValue(storeResponseStatistics.RequestResponseTime);

this.jsonWriter.WriteFieldName("LatencyInMs");
if (storeResponseStatistics.RequestStartTime.HasValue)
{
TimeSpan latency = storeResponseStatistics.RequestResponseTime - storeResponseStatistics.RequestStartTime.Value;
this.jsonWriter.WriteNumber64Value(latency.TotalMilliseconds);
}
else
{
this.jsonWriter.WriteNullValue();
}

this.jsonWriter.WriteFieldName("ResourceType");
this.jsonWriter.WriteStringValue(storeResponseStatistics.RequestResourceType.ToString());

Expand Down Expand Up @@ -578,15 +592,15 @@ private void WriteStringValueOrNull(string value)
}
}

private void WriteDateTimeStringValue(DateTime value)
private void WriteDateTimeStringValue(DateTime? value)
{
if (value == null)
if (value == null || !value.HasValue)
{
this.jsonWriter.WriteNullValue();
}
else
{
this.jsonWriter.WriteStringValue(value.ToString("o", CultureInfo.InvariantCulture));
this.jsonWriter.WriteStringValue(value.Value.ToString("o", CultureInfo.InvariantCulture));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,9 @@
],
"StoreResponseStatistics": [
{
"StartTimeUTC": "0001-01-01T00:00:00",
"ResponseTimeUTC": "9999-12-31T23:59:59.9999999",
"LatencyInMs": 315537897600000,
"ResourceType": "Document",
"OperationType": "Query",
"RequestSessionToken": "42",
Expand Down Expand Up @@ -512,7 +514,9 @@
],
"StoreResponseStatistics": [
{
"StartTimeUTC": null,
"ResponseTimeUTC": "0001-01-01T00:00:00",
"LatencyInMs": null,
"ResourceType": "Database",
"OperationType": "Create",
"LocationEndpoint": null,
Expand Down