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()
CrossProcessTransactionStatewriteResponseHeaders in interface CrossProcessTransactionStatepublic void processOutboundResponseHeaders(com.newrelic.api.agent.OutboundHeaders outboundHeaders,
long contentLength)
processOutboundResponseHeaders in interface com.newrelic.agent.bridge.CrossProcessStatepublic void processOutboundRequestHeaders(com.newrelic.api.agent.OutboundHeaders outboundHeaders)
processOutboundRequestHeaders in interface com.newrelic.agent.bridge.CrossProcessStatepublic void processOutboundRequestHeaders(com.newrelic.api.agent.OutboundHeaders outboundHeaders,
com.newrelic.api.agent.TracedMethod tracedMethod)
processOutboundRequestHeaders in interface com.newrelic.agent.bridge.CrossProcessStatepublic 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.CrossProcessStatepublic java.lang.String getTripId()
getTripId in interface CrossProcessTransactionStatepublic int generatePathHash()
CrossProcessTransactionStategeneratePathHash in interface CrossProcessTransactionStatepublic java.lang.String getAlternatePathHashes()
CrossProcessTransactionStategetAlternatePathHashes in interface CrossProcessTransactionStatepublic static CrossProcessTransactionStateImpl create(Transaction tx)
public java.lang.String getRequestMetadata()
getRequestMetadata in interface com.newrelic.agent.bridge.CrossProcessStatepublic void processRequestMetadata(java.lang.String requestMetadata)
processRequestMetadata in interface com.newrelic.agent.bridge.CrossProcessStatepublic java.lang.String getResponseMetadata()
getResponseMetadata in interface com.newrelic.agent.bridge.CrossProcessStatepublic void processResponseMetadata(java.lang.String responseMetadata,
java.net.URI uri)
processResponseMetadata in interface com.newrelic.agent.bridge.CrossProcessState