public class CrossProcessTransactionStateImpl extends java.lang.Object implements CrossProcessTransactionState
InboundHeaderState
class for inbound request processing, if any (not all
transactions are initiated by requests). The eventual response to the inbound request is called the outbound
response. In the mean time, this transaction may make one or more external service calls. Associated with each of
these calls is one outbound request and one inbound response.
This class is thread safe. It shares a lock with its owning Transaction to eliminate the possibility of deadlock.
Modifier and Type | Method and Description |
---|---|
static CrossProcessTransactionStateImpl |
create(Transaction tx) |
int |
generatePathHash()
Combination of transactions that were called including this one.
|
java.lang.String |
getAlternatePathHashes()
A sorted, comma-separated list of alternate pathHash values that were given to callees, excluding the final
pathHash.
|
java.lang.String |
getRequestMetadata() |
java.lang.String |
getResponseMetadata() |
java.lang.String |
getTripId()
Get the trip ID.
|
void |
populateRequestMetadata(com.newrelic.api.agent.OutboundHeaders headers,
com.newrelic.api.agent.TracedMethod tracedMethod) |
void |
processInboundResponseHeaders(com.newrelic.api.agent.InboundHeaders inboundHeaders,
com.newrelic.agent.bridge.TracedMethod tracer,
java.lang.String host,
java.lang.String uri,
boolean addRollupMetrics)
Processing for inbound response to a previously-issue external request.
|
void |
processOutboundRequestHeaders(com.newrelic.api.agent.OutboundHeaders outboundHeaders)
Outgoing service request initiated by this transaction.
|
void |
processOutboundRequestHeaders(com.newrelic.api.agent.OutboundHeaders outboundHeaders,
com.newrelic.api.agent.TracedMethod tracedMethod) |
void |
processOutboundResponseHeaders(com.newrelic.api.agent.OutboundHeaders outboundHeaders,
long contentLength) |
void |
processRequestMetadata(java.lang.String requestMetadata) |
void |
processResponseMetadata(java.lang.String responseMetadata,
java.net.URI uri) |
void |
writeResponseHeaders()
Send the transaction data response header.
|
public void writeResponseHeaders()
CrossProcessTransactionState
writeResponseHeaders
in interface CrossProcessTransactionState
public void processOutboundResponseHeaders(com.newrelic.api.agent.OutboundHeaders outboundHeaders, long contentLength)
processOutboundResponseHeaders
in interface com.newrelic.agent.bridge.CrossProcessState
public void processOutboundRequestHeaders(com.newrelic.api.agent.OutboundHeaders outboundHeaders)
processOutboundRequestHeaders
in interface com.newrelic.agent.bridge.CrossProcessState
public void processOutboundRequestHeaders(com.newrelic.api.agent.OutboundHeaders outboundHeaders, com.newrelic.api.agent.TracedMethod tracedMethod)
processOutboundRequestHeaders
in interface com.newrelic.agent.bridge.CrossProcessState
public void populateRequestMetadata(com.newrelic.api.agent.OutboundHeaders headers, com.newrelic.api.agent.TracedMethod tracedMethod)
public void processInboundResponseHeaders(com.newrelic.api.agent.InboundHeaders inboundHeaders, com.newrelic.agent.bridge.TracedMethod tracer, java.lang.String host, java.lang.String uri, boolean addRollupMetrics)
processInboundResponseHeaders
in interface com.newrelic.agent.bridge.CrossProcessState
public java.lang.String getTripId()
getTripId
in interface CrossProcessTransactionState
public int generatePathHash()
CrossProcessTransactionState
generatePathHash
in interface CrossProcessTransactionState
public java.lang.String getAlternatePathHashes()
CrossProcessTransactionState
getAlternatePathHashes
in interface CrossProcessTransactionState
public static CrossProcessTransactionStateImpl create(Transaction tx)
public java.lang.String getRequestMetadata()
getRequestMetadata
in interface com.newrelic.agent.bridge.CrossProcessState
public void processRequestMetadata(java.lang.String requestMetadata)
processRequestMetadata
in interface com.newrelic.agent.bridge.CrossProcessState
public java.lang.String getResponseMetadata()
getResponseMetadata
in interface com.newrelic.agent.bridge.CrossProcessState
public void processResponseMetadata(java.lang.String responseMetadata, java.net.URI uri)
processResponseMetadata
in interface com.newrelic.agent.bridge.CrossProcessState