public TestImmutableTransactionMetadata( string uri, string originalUri, string referrerUri, TimeSpan?queueTime, ConcurrentDictionary <string, string> requestParameters, ConcurrentDictionary <string, object> userAttributes, ITransactionErrorState transactionErrorState, int?httpResponseStatusCode, int?httpResponseSubStatusCode, string crossApplicationReferrerPathHash, string crossApplicationPathHash, IEnumerable <string> crossApplicationPathHashes, string crossApplicationReferrerTransactionGuid, string crossApplicationReferrerProcessId, string crossApplicationReferrerTripId, float crossApplicationResponseTimeInSeconds, bool hasOutgoingTraceHeaders, string syntheticsResourceId, string syntheticsJobId, string syntheticsMonitorId, bool isSynthetics, bool hasCatResponseHeaders, float priority) { Uri = uri; OriginalUri = originalUri; ReferrerUri = referrerUri; QueueTime = queueTime; // The following must use ToArray because ToArray is thread safe on a ConcurrentDictionary. RequestParameters = requestParameters.ToArray(); UserAttributes = userAttributes.ToArray(); ReadOnlyTransactionErrorState = transactionErrorState; HttpResponseStatusCode = httpResponseStatusCode; HttpResponseSubStatusCode = httpResponseSubStatusCode; CrossApplicationReferrerPathHash = crossApplicationReferrerPathHash; CrossApplicationPathHash = crossApplicationPathHash; CrossApplicationAlternatePathHashes = crossApplicationPathHashes.ToList(); CrossApplicationReferrerTransactionGuid = crossApplicationReferrerTransactionGuid; CrossApplicationReferrerProcessId = crossApplicationReferrerProcessId; CrossApplicationReferrerTripId = crossApplicationReferrerTripId; CrossApplicationResponseTimeInSeconds = crossApplicationResponseTimeInSeconds; HasOutgoingTraceHeaders = hasOutgoingTraceHeaders; SyntheticsResourceId = syntheticsResourceId; SyntheticsJobId = syntheticsJobId; SyntheticsMonitorId = syntheticsMonitorId; IsSynthetics = isSynthetics; HasCatResponseHeaders = hasCatResponseHeaders; Priority = priority; }
public TestImmutableTransactionMetadata( string uri, string originalUri, string referrerUri, TimeSpan?queueTime, AttributeValueCollection userAndRequestAttributes, ITransactionErrorState transactionErrorState, int?httpResponseStatusCode, int?httpResponseSubStatusCode, string crossApplicationReferrerPathHash, string crossApplicationPathHash, IEnumerable <string> crossApplicationPathHashes, string crossApplicationReferrerTransactionGuid, string crossApplicationReferrerProcessId, string crossApplicationReferrerTripId, float crossApplicationResponseTimeInSeconds, bool hasOutgoingTraceHeaders, string syntheticsResourceId, string syntheticsJobId, string syntheticsMonitorId, bool isSynthetics, bool hasCatResponseHeaders, float priority) { Uri = uri; OriginalUri = originalUri; ReferrerUri = referrerUri; QueueTime = queueTime; UserAndRequestAttributes = userAndRequestAttributes; ReadOnlyTransactionErrorState = transactionErrorState; HttpResponseStatusCode = httpResponseStatusCode; HttpResponseSubStatusCode = httpResponseSubStatusCode; CrossApplicationReferrerPathHash = crossApplicationReferrerPathHash; CrossApplicationPathHash = crossApplicationPathHash; CrossApplicationAlternatePathHashes = crossApplicationPathHashes.ToList(); CrossApplicationReferrerTransactionGuid = crossApplicationReferrerTransactionGuid; CrossApplicationReferrerProcessId = crossApplicationReferrerProcessId; CrossApplicationReferrerTripId = crossApplicationReferrerTripId; CrossApplicationResponseTimeInSeconds = crossApplicationResponseTimeInSeconds; HasOutgoingTraceHeaders = hasOutgoingTraceHeaders; SyntheticsResourceId = syntheticsResourceId; SyntheticsJobId = syntheticsJobId; SyntheticsMonitorId = syntheticsMonitorId; IsSynthetics = isSynthetics; HasCatResponseHeaders = hasCatResponseHeaders; Priority = priority; }