package com.netflix.suro.routing.filter;
/**
* Just for testing. Copy of platform's request trace.
*
*/
import java.util.HashMap;
import java.util.Map;
public class MockRequestTrace {
boolean bIsToplevelRequest = false;
public static final String CLIENTINFO_SERVICE_NAME = "service_name";
public static final String CLIENTINFO_HOST_NAME = "host_name";
public static final String CLIENTINFO_SERVER_IP = "IP";
public static final String CLIENTINFO_VERSION = "version";
public static final String CLIENTINFO_AVAILABILITY_ZONE = "availability_zone";
public static final String CLIENTINFO_INSTANCE_ID = "instance_id";
public static final String SERVICEINFO_SERVICE_NAME = "service_name";
public static final String SERVICEINFO_HOST_NAME = "host_name";
public static final String SERVICEINFO_SERVER_IP = "IP";
public static final String SERVICEINFO_VERSION = "version";
public static final String SERVICEINFO_AVAILABILITY_ZONE = "availability_zone";
public static final String SERVICEINFO_INSTANCE_ID = "instance_id";
public static String TOPLEVEL_UUID = "uuid";
public static String TOPLEVEL_ECCUST_ID = "eccust_id";
public static String TOPLEVEL_CLIENT_IP = "client_ip";
public static String TOPLEVEL_USER_AGENT = "user_agent";
public static String TOPLEVEL_REFERRER_URL = "referrer_url";
public static String TOPLEVEL_COUNTRY = "country";
public static String TOPLEVEL_LANGUAGE = "language";
public static String TOPLEVEL_APP_ID = "app_id";
public static String TOPLEVEL_APP_VERSION = "app_version";
public static String TOPLEVEL_DEVICE_TYPE = "device_type";
public static String TOPLEVEL_ESN = "esn";
public static final String REQUEST_ECCUST_ID = "eccust_id";
public static final String REQUEST_CUST_ID_GUID = "cust_id_guid";
public static final String REQUEST_URL = "url";
public static final String REQUEST_PROTOCOL = "protocol";
public static final String REQUEST_PATH = "path";
public static final String REQUEST_ALIASED_PATH = "aliased_path";
public static final String REQUEST_METHOD = "method";
public static final String REQUEST_PARAMS = "params";
public static final String REQUEST_BODY = "body";
public static final String REQUEST_UUID = "uuid";
public static final String REQUEST_VERSION = "version";
public static final String REQUEST_CLIENT_IP = "client_ip";
public static final String REQUEST_USER_AGENT = "user_agent";
public static final String REQUEST_COUNTRY = "country";
public static final String REQUEST_REQUEST_LANGUAGE = "language";
public static final String REQUEST_REFERRER_URL = "referrer_url";
public static final String REQUEST_TRACE_PARENT_FLAG = "trace_parent_flag";
public static final String REQUEST_TRACE_CALLGRAPH_PERCENT = "trace_callgraph_percent";
public static final String REQUEST_TRACE_CALLGRAPH_FLAG = "trace_callgraph_flag";
public static final String REQUEST_TRACE_LOCAL_PERCENT = "trace_local_percent";
public static final String REQUEST_TRACE_LOCAL_FLAG = "trace_local_flag";
public static final String REQUEST_REQUEST_DIRECTION = "request_direction";
public static final String REQUEST_THROTTLED = "throttled";
public static final String RESULTS_STATUSCODE = "statuscode";
public static final String RESULTS_SUBCODE = "subcode";
public static final String RESULTS_EXCEPTION = "exception";
public static final String RESULTS_INFO_ID = "info_id";
public static final String RESULTS_INFO_MESSAGE = "info_message";
public static final String RESULTS_STACKTRACE = "stacktrace";
public static final String PERF_CLIENT_OUT_SERIAL_TIME_NS = "client_out_serial_time_ns";
public static final String PERF_CLIENT_IN_DESERIAL_TIME_NS = "client_in_deserial_time_ns";
public static final String PERF_SERVICE_OUT_SERIAL_TIME_NS = "service_out_serial_time_ns";
public static final String PERF_SERVICE_IN_DESERIAL_TIME_NS = "service_in_deserial_time_ns";
public static final String PERF_REQUEST_START_TIMESTAMP_MS = "request_start_timestamp_ms";
public static final String PERF_ROUNDTRIP_LATENCY_MS = "roundtrip_latency_ms";
public static final String PERF_RESPONSE_TIME_MS = "response_time_ms";
/**
* The Maps that hold the logging data
* We use different maps to provide the possibility of callers
* passing in or setting specific sub categories of Logging data
* e.g. Request, Response etc.
* This also gels in with how Annotatable sends "bag of key value pairs"
*/
private static final long serialVersionUID = -4183164478625476329L;
private Map<String,Object> clientInfoMap = new HashMap<String,Object>();
private Map<String,Object> serviceInfoMap = new HashMap<String,Object>();
private Map<String,Object> requestMap = new HashMap<String,Object>();
private Map<String,Object> toplevelMap = new HashMap<String,Object>();
private Map<String,Object> resultsMap = new HashMap<String,Object>();
private Map<String,Object> perfMap = new HashMap<String,Object>();
private Map<String,Object> extraDataMap = new HashMap<String,Object>();
/**
* Methods that help set "bag of key value pairs"
* Also helps define how LogManager.logEvent(Annotatable) names the "bag"
* using the
* @return
*/
public Map<String,Object> getClientInfoMap() {
return clientInfoMap;
}
public void setClientInfoMap(Map<String,Object> clientInfoMap) {
this.clientInfoMap = clientInfoMap;
}
public Map<String,Object> getServiceInfoMap() {
return serviceInfoMap;
}
public void setServiceInfoMap(Map<String,Object> serviceInfoMap) {
this.serviceInfoMap = serviceInfoMap;
}
public Map<String,Object> getRequestMap() {
return requestMap;
}
public void setRequestMap(Map<String,Object> requestMap) {
this.requestMap = requestMap;
}
public Map<String,Object> getToplevelMap() {
return toplevelMap;
}
public void setToplevelMap(Map<String,Object> toplevelMap) {
this.toplevelMap = toplevelMap;
}
public Map<String,Object> getResultsMap() {
return resultsMap;
}
public void setResultsMap(Map<String,Object> resultsMap) {
this.resultsMap = resultsMap;
}
public Map<String,Object> getPerfMap() {
return perfMap;
}
public Map<String,Object> getExtraDataMap() {
return extraDataMap;
}
public void setExtraDataMap(Map<String,Object> extraDataMap) {
this.extraDataMap = extraDataMap;
}
/**
* Methods to get/set various Request Tracing Data fields
* ---------------------------------------------------
*/
public boolean isToplevelRequest() {
return bIsToplevelRequest;
}
public void setIsToplevelRequest(boolean isToplevelRequest) {
bIsToplevelRequest = isToplevelRequest;
}
/**
* Set a "non-standard" (as in not captured in the "logging spec" data)
* Typically you will call this when there are no available setter API for
* the data that you (caller) are trying to set.
*/
public void setData(String key, Object value) {
extraDataMap.put(key, value);
}
public void setPerfMap(Map<String,Object> perfMap) {
this.perfMap = perfMap;
}
public static long getSerialVersionUID() {
return serialVersionUID;
}
public void setRequestUUID(String uuid) {
this.requestMap.put("uuid", uuid);
}
public String getClientInfoServiceName() {
return (String) clientInfoMap.get(CLIENTINFO_SERVICE_NAME);
}
public String getClientInfoHostName() {
return (String) clientInfoMap.get(CLIENTINFO_HOST_NAME);
}
public String getClientInfoServerIP() {
return (String) clientInfoMap.get(CLIENTINFO_SERVER_IP);
}
public String getClientInfoVersion() {
return (String) clientInfoMap.get(CLIENTINFO_VERSION);
}
public String getClientInfoAvailabilityZone() {
return (String) clientInfoMap.get(CLIENTINFO_AVAILABILITY_ZONE);
}
public String getClientInfoInstanceID() {
return (String) clientInfoMap.get(CLIENTINFO_INSTANCE_ID);
}
public String getServiceInfoInstanceID() {
return (String) serviceInfoMap.get(SERVICEINFO_INSTANCE_ID);
}
public String getServiceInfoServiceName() {
return (String) serviceInfoMap.get(SERVICEINFO_SERVICE_NAME);
}
public String getServiceInfoHostName() {
return (String) serviceInfoMap.get(SERVICEINFO_HOST_NAME);
}
public String getServiceInfoServerIP() {
return (String) serviceInfoMap.get(SERVICEINFO_SERVER_IP);
}
public String getServiceInfoVersion() {
return (String) serviceInfoMap.get(SERVICEINFO_VERSION);
}
public String getServiceInfoAvailabilityZone() {
return (String) serviceInfoMap.get(SERVICEINFO_AVAILABILITY_ZONE);
}
public String getRequestECCustID() {
return (String) requestMap.get(REQUEST_ECCUST_ID);
}
public String getRequestCustIDGuid() {
return (String) requestMap.get(REQUEST_CUST_ID_GUID);
}
public String getRequestUrl() {
return (String) requestMap.get(REQUEST_URL);
}
public String getRequestProtocol() {
return (String) requestMap.get(REQUEST_PROTOCOL);
}
public String getRequestPath() {
return (String) requestMap.get(REQUEST_PATH);
}
public String getRequestAliasedPath() {
return (String) requestMap.get(REQUEST_ALIASED_PATH);
}
public String getRequestMethod() {
return (String) requestMap.get(REQUEST_METHOD);
}
public String getRequestParams() {
return (String) requestMap.get(REQUEST_PARAMS);
}
public String getRequestBody() {
return (String) requestMap.get(REQUEST_BODY);
}
public String getRequestUUID() {
return (String) requestMap.get(REQUEST_UUID);
}
public String getRequestVersion() {
return (String) requestMap.get(REQUEST_VERSION);
}
public String getRequestClientIP() {
return (String) requestMap.get(REQUEST_CLIENT_IP);
}
public String getRequestUserAgent() {
return (String) requestMap.get(REQUEST_USER_AGENT);
}
public String getRequestCountry() {
return (String) requestMap.get(REQUEST_COUNTRY);
}
public String getRequestLanguage() {
return (String) requestMap.get(REQUEST_REQUEST_LANGUAGE);
}
public String getRequestReferrerUrl() {
return (String) requestMap.get(REQUEST_REFERRER_URL);
}
public String getRequestDirection() {
return (String) requestMap.get(REQUEST_REQUEST_DIRECTION);
}
public boolean isRequestThrottled() {
return getBoolean(requestMap, REQUEST_THROTTLED);
}
public boolean getRequestTraceParentFlag() {
return getBoolean(requestMap, REQUEST_TRACE_PARENT_FLAG);
}
public int getRequestTraceCallGraphPercent() {
return getInt(requestMap, REQUEST_TRACE_CALLGRAPH_PERCENT);
}
public boolean getRequestTraceCallGraphFlag() {
return getBoolean(requestMap, REQUEST_TRACE_CALLGRAPH_FLAG);
}
public int getRequestTraceLocalPercent() {
return getInt(requestMap, REQUEST_TRACE_LOCAL_PERCENT);
}
public boolean getRequestTraceLocalFlag() {
return getBoolean(requestMap, REQUEST_TRACE_LOCAL_FLAG);
}
public int getResultsStatusCode() {
int c = 200;
try {
c = ((Integer)resultsMap.get(RESULTS_STATUSCODE));
} catch (Exception e) {
}
return c;
}
public int getResultsSubCode() {
int c = 0;
try {
c = ((Integer)resultsMap.get(RESULTS_SUBCODE));
} catch (Exception e) {
}
return c;
}
public String getResultsException() {
return (String) resultsMap.get(RESULTS_EXCEPTION);
}
public String getResultsInfoID() {
return (String) resultsMap.get(RESULTS_INFO_ID);
}
public String getResultsInfoMessage() {
return (String) resultsMap.get(RESULTS_INFO_MESSAGE);
}
public String getResultsStackTrace() {
return (String) resultsMap.get(RESULTS_STACKTRACE);
}
public long getPerfClientOutSerialTimeNS() {
long l = 0;
try {
Object o = perfMap.get(PERF_CLIENT_OUT_SERIAL_TIME_NS);
if (o!=null){
l = (Long) o;
}
} catch (Exception e) {
}
return l;
}
public long getPerfClientInDeserialTimeNS() {
long l = 0;
try {
Object o = perfMap.get(PERF_CLIENT_IN_DESERIAL_TIME_NS);
if (o!=null){
l = (Long) o;
}
} catch (NumberFormatException e) {
}
return l;
}
public long getPerfServiceOutSerialTimeNS() {
long l = 0;
try {
Object o = perfMap.get(PERF_SERVICE_OUT_SERIAL_TIME_NS);
if (o!=null){
l = (Long) o;
}
} catch (Exception e) {
}
return l;
}
public long getPerfServiceInDeserialTimeNS() {
long l = 0;
try {
Object o = perfMap.get(PERF_SERVICE_IN_DESERIAL_TIME_NS);
if (o!=null){
l = (Long) o;
}
} catch (Exception e) {
}
return l;
}
public long getPerfRequestStartTimestampMS() {
long l = 0;
try {
Object o = perfMap.get(PERF_REQUEST_START_TIMESTAMP_MS);
if (o!=null){
l = (Long) o;
}
} catch (Exception e) {
}
return l;
}
public long getPerfRoundtripLatencyMS() {
long l = 0;
try {
Object o = perfMap.get(PERF_ROUNDTRIP_LATENCY_MS);
if (o!=null){
l = (Long) o;
}
} catch (Exception e) {
}
return l;
}
public long getPerfResponseTimeMS() {
long l = 0;
try {
Object o = perfMap.get(PERF_RESPONSE_TIME_MS);
if (o!=null){
l = (Long) o;
}
} catch (Exception e) {
}
return l;
}
public void setClientInfoServiceName(String clientInfoServiceName) {
clientInfoMap.put(CLIENTINFO_SERVICE_NAME, clientInfoServiceName);
}
public void setClientInfoHostName(String clientInfoHostName) {
clientInfoMap.put(CLIENTINFO_HOST_NAME, clientInfoHostName);
}
public void setClientInfoServerIP(String clientInfoServerIP) {
clientInfoMap.put(CLIENTINFO_SERVER_IP, clientInfoServerIP);
}
public void setClientInfoVersion(String clientInfoVersion) {
clientInfoMap.put(CLIENTINFO_VERSION, clientInfoVersion);
}
public void setClientInfoAvailabilityZone(String clientInfoAvailabilityZone) {
clientInfoMap.put(CLIENTINFO_AVAILABILITY_ZONE,
clientInfoAvailabilityZone);
}
public void setClientInfoInstanceID(String clientInfoInstanceID) {
clientInfoMap.put(CLIENTINFO_INSTANCE_ID,
clientInfoInstanceID);
}
public void setServiceInfoInstanceID(String serviceInfoInstanceID) {
serviceInfoMap.put(SERVICEINFO_INSTANCE_ID,
serviceInfoInstanceID);
}
public void setServiceInfoServiceName(String serviceInfoServiceName) {
serviceInfoMap.put(SERVICEINFO_SERVICE_NAME, serviceInfoServiceName);
}
public void setServiceInfoHostName(String serviceInfoHostName) {
serviceInfoMap.put(SERVICEINFO_HOST_NAME, serviceInfoHostName);
}
public void setServiceInfoServerIP(String serviceInfoServerIP) {
serviceInfoMap.put(SERVICEINFO_SERVER_IP, serviceInfoServerIP);
}
public void setServiceInfoVersion(String serviceInfoVersion) {
serviceInfoMap.put(SERVICEINFO_VERSION, serviceInfoVersion);
}
public void setServiceInfoAvailabilityZone(
String serviceInfoAvailabilityZone) {
serviceInfoMap.put(SERVICEINFO_AVAILABILITY_ZONE,
serviceInfoAvailabilityZone);
}
public void setRequestECCustID(String requestECCustID) {
requestMap.put(REQUEST_ECCUST_ID, requestECCustID);
}
public void setRequestCustIDGUID(String requestCustIDGUID) {
requestMap.put(REQUEST_CUST_ID_GUID, requestCustIDGUID);
}
public void setRequestURL(String requestUrl) {
requestMap.put(REQUEST_URL, requestUrl);
}
public void setRequestProtocol(String requestProtocol) {
requestMap.put(REQUEST_PROTOCOL, requestProtocol);
}
public void setRequestPath(String requestPath) {
requestMap.put(REQUEST_PATH, requestPath);
}
public void setRequestAliasedPath(String requestAliasedPath) {
requestMap.put(REQUEST_ALIASED_PATH, requestAliasedPath);
}
public void setRequestMethod(String requestMethod) {
requestMap.put(REQUEST_METHOD, requestMethod);
}
public void setRequestParams(String requestParams) {
requestMap.put(REQUEST_PARAMS, requestParams);
}
public void setRequestBody(String requestBody) {
requestMap.put(REQUEST_BODY, requestBody);
}
public void setRequestVersion(String requestVersion) {
requestMap.put(REQUEST_VERSION, requestVersion);
}
public void setRequestClientIP(String requestClientIP) {
requestMap.put(REQUEST_CLIENT_IP, requestClientIP);
}
public void setRequestUserAgent(String requestUserAgent) {
requestMap.put(REQUEST_USER_AGENT, requestUserAgent);
}
public void setRequestCountry(String requestCountry) {
requestMap.put(REQUEST_COUNTRY, requestCountry);
}
public void setRequestRequestLanguage(String requestRequestLanguage) {
requestMap.put(REQUEST_REQUEST_LANGUAGE, requestRequestLanguage);
}
public void setRequestReferrerURL(String requestReferrerUrl) {
requestMap.put(REQUEST_REFERRER_URL, requestReferrerUrl);
}
public void setRequestDirection(String requestRequestDirection) {
requestMap.put(REQUEST_REQUEST_DIRECTION, requestRequestDirection);
}
public String getRequestToplevelUUID() {
return (String) requestMap.get(TOPLEVEL_UUID);
}
/**
* @Deprecated Use {{@link #setToplevelUUID(String)}
* @param requestMainUUID
*/
public void setRequestToplevelUUID(String requestMainUUID) {
setToplevelUUID(requestMainUUID);
}
public void setRequestThrottled(boolean isThrottled) {
requestMap.put(REQUEST_THROTTLED, Boolean.valueOf(isThrottled));
}
public void setRequestTraceParentFlag(boolean flag) {
requestMap.put(REQUEST_TRACE_PARENT_FLAG, Boolean.valueOf(flag));
}
public void setRequestTraceCallGraphPercent(int percent) {
requestMap.put(REQUEST_TRACE_CALLGRAPH_PERCENT, Integer.valueOf(percent));
}
public void setRequestTraceCallGraphFlag(boolean flag) {
requestMap.put(REQUEST_TRACE_CALLGRAPH_FLAG, Boolean.valueOf(flag));
}
public void setRequestTraceLocalPercent(int percent) {
requestMap.put(REQUEST_TRACE_LOCAL_PERCENT, Integer.valueOf(percent));
}
public void setRequestTraceLocalFlag(boolean flag) {
requestMap.put(REQUEST_TRACE_LOCAL_FLAG, Boolean.valueOf(flag));
}
public void setResultsStatusCode(int resultsStatusCode) {
resultsMap.put(RESULTS_STATUSCODE, Integer.valueOf(resultsStatusCode));
}
public void setResultsSubCode(String resultsSubCode) {
resultsMap.put(RESULTS_SUBCODE, resultsSubCode);
}
public void setResultsException(String resultsException) {
resultsMap.put(RESULTS_EXCEPTION, resultsException);
}
public void setResultsInfoID(String resultsInfoID) {
resultsMap.put(RESULTS_INFO_ID, resultsInfoID);
}
public void setResultsInfoMessage(String resultsInfoMessage) {
resultsMap.put(RESULTS_INFO_MESSAGE, resultsInfoMessage);
}
public void setResultsStacktrace(String resultsStacktrace) {
resultsMap.put(RESULTS_STACKTRACE, resultsStacktrace);
}
public void setPerfClientOutSerialTimeNS(long perfClientOutSerialTimeNS) {
perfMap.put(PERF_CLIENT_OUT_SERIAL_TIME_NS, Long
.valueOf(perfClientOutSerialTimeNS));
}
public void setPerfClientInDeserialTimeNS(long perfClientInDeserialTimeNS) {
perfMap.put(PERF_CLIENT_IN_DESERIAL_TIME_NS, Long
.valueOf(perfClientInDeserialTimeNS));
}
public void setPerfServiceOutSerialTimeNS(long perfServiceOutSerialTimeNS) {
perfMap.put(PERF_SERVICE_OUT_SERIAL_TIME_NS, Long
.valueOf(perfServiceOutSerialTimeNS));
}
public void setPerfServiceInDeserialTimeNS(long perfServiceInDeserialTimeNS) {
perfMap.put(PERF_SERVICE_IN_DESERIAL_TIME_NS, Long
.valueOf(perfServiceInDeserialTimeNS));
}
/**
* @deprecated
* Use {#link setPerfRequestStartTimestampMS()}
* @param perfRequestStartTimestampNS
*/
public void setPerfRequestStartTimestampNS(long perfRequestStartTimestampNS) {
setPerfRequestStartTimestampMS(perfRequestStartTimestampNS);
}
public void setPerfRequestStartTimestampMS(long perfRequestStartTimestampNS) {
perfMap.put(PERF_REQUEST_START_TIMESTAMP_MS, Long
.valueOf(perfRequestStartTimestampNS));
}
public void setPerfRoundtripLatencyMS(long perfRoundtripLatencyMS) {
perfMap.put(PERF_ROUNDTRIP_LATENCY_MS, Long
.valueOf(perfRoundtripLatencyMS));
}
public void setPerfResponseTimeMS(long perfResponseTimeMS) {
perfMap.put(PERF_RESPONSE_TIME_MS, Long.valueOf(perfResponseTimeMS));
}
//-------- Top Level Getters -------------------------
public String getToplevelUUID() {
return (String) toplevelMap.get(TOPLEVEL_UUID);
}
public String getToplevelECCustID() {
return (String) toplevelMap.get(TOPLEVEL_ECCUST_ID);
}
public String getToplevelClientIP() {
return (String) toplevelMap.get(TOPLEVEL_CLIENT_IP);
}
public String getToplevelUserAgent() {
return (String) toplevelMap.get(TOPLEVEL_USER_AGENT);
}
public String getToplevelReferrerURL() {
return (String) toplevelMap.get(TOPLEVEL_REFERRER_URL);
}
public String getToplevelCountry() {
return (String) toplevelMap.get(TOPLEVEL_COUNTRY);
}
public String getToplevelLanguage() {
return (String) toplevelMap.get(TOPLEVEL_LANGUAGE);
}
public String getToplevelAppID() {
return (String) toplevelMap.get(TOPLEVEL_APP_ID);
}
public String getToplevelAppVersion() {
return (String) toplevelMap.get(TOPLEVEL_APP_VERSION);
}
public String getToplevelDeviceType() {
return (String) toplevelMap.get(TOPLEVEL_DEVICE_TYPE);
}
public String getToplevelESN() {
return (String) toplevelMap.get(TOPLEVEL_ESN);
}
// Top level Setters
public void setToplevelUUID(String toplevelUuid) {
toplevelMap.put(TOPLEVEL_UUID, toplevelUuid);
}
public void setToplevelECCustID(String toplevelECCustId) {
toplevelMap.put(TOPLEVEL_ECCUST_ID , toplevelECCustId);
}
public void setToplevelClientIP(String toplevelClientIP) {
toplevelMap.put(TOPLEVEL_CLIENT_IP , toplevelClientIP);
}
public void setToplevelUserAgent(String toplevelUserAgent) {
toplevelMap.put(TOPLEVEL_USER_AGENT , toplevelUserAgent);
}
public void setToplevelReferrerURL(String toplevelReferrerURL) {
toplevelMap.put(TOPLEVEL_REFERRER_URL , toplevelReferrerURL);
}
public void setToplevelCountry(String toplevelCountry) {
toplevelMap.put(TOPLEVEL_COUNTRY , toplevelCountry);
}
public void setToplevelLanguage(String toplevelLanguage) {
toplevelMap.put(TOPLEVEL_LANGUAGE , toplevelLanguage);
}
public void setToplevelAppID(String toplevelAppID) {
toplevelMap.put(TOPLEVEL_APP_ID , toplevelAppID);
}
public void setToplevelAppVersion(String toplevelAppVersion) {
toplevelMap.put(TOPLEVEL_APP_VERSION , toplevelAppVersion);
}
public void setToplevelDeviceType(String toplevelDeviceType) {
toplevelMap.put(TOPLEVEL_DEVICE_TYPE , toplevelDeviceType);
}
public void setToplevelESN(String toplevelEsn) {
toplevelMap.put(TOPLEVEL_ESN , toplevelEsn);
}
// ---------- "Helper" methods that help set common data
/**
* Set the Request Direction.
* To be called/set by services
*/
public void setRequestDirectionIn(){
setRequestDirection("in");
}
/**
* Set the Request Direction.
* To be called/set by clients making outbound calls
*/
public void setRequestDirectionOut(){
setRequestDirection("out");
}
/**
* Send this logEvent object to Chukwa (or Messagebus in DC)
* This is a helper method that helps a caller "log" this object to Chukwa
*/
public void logMe() {
// Callers that want to override this should call LogManager.logEvent(..) themselves
long startTime = getPerfRequestStartTimestampMS();
long endTime = System.currentTimeMillis() - startTime;
setPerfResponseTimeMS(endTime);
}
private int getInt(Map<String, Object> map, String keyName){
int i = 0;
try {
Object o = map.get(keyName);
if (o!=null){
i = ((Integer) o).intValue();
}
} catch (Exception e) {
}
return i;
}
private boolean getBoolean(Map<String, Object> map, String keyName){
boolean b = false;
Object o = map.get(keyName);
try {
if(o != null) {
b = ((Boolean)o).booleanValue();
}
} catch (Exception e) {
}
return b;
}
}