public TransactionTraceWireModel(DateTime startTime, TimeSpan duration, string transactionMetricName, string uri, TransactionTraceData transactionTraceData, string guid, ulong?xraySessionId, string syntheticsResourceId, bool isSynthetics) { StartTime = startTime; Duration = duration; TransactionMetricName = transactionMetricName; Uri = uri; TransactionTraceData = transactionTraceData; Guid = guid; XraySessionId = xraySessionId; SyntheticsResourceId = syntheticsResourceId; IsSynthetics = isSynthetics; }
public void TransactionSampleDataSerializesCorrectly() { // Arrange const string expected = @"[1514768400000,1000.0,""Transaction Name"",""Transaction URI"",[1514768400000,{},{},[0.0,1000.0,""Segment Name"",{},[],""Segment Class Name"",""Segment Method Name""],{""agentAttributes"":{},""userAttributes"":{},""intrinsics"":{}}],""Transaction GUID"",null,false,null,null]"; var timestamp = new DateTime(2018, 1, 1, 1, 0, 0, DateTimeKind.Utc); var transactionTraceSegment = new TransactionTraceSegment(TimeSpan.Zero, TimeSpan.FromSeconds(1), "Segment Name", new Dictionary <string, object>(), new List <TransactionTraceSegment>(), "Segment Class Name", "Segment Method Name"); var transactionTrace = new TransactionTraceData(timestamp, transactionTraceSegment, new AttributeValueCollection(AttributeDestinations.TransactionTrace)); var transactionSample = new TransactionTraceWireModel(timestamp, TimeSpan.FromSeconds(1), "Transaction Name", "Transaction URI", transactionTrace, "Transaction GUID", null, null, false); // Act var actual = JsonConvert.SerializeObject(transactionSample); // Assert Assert.AreEqual(expected, actual); }