private (string, IDictionary <string, object>) PreparePayload(string arn, string executionEnv, IList <Event> spans, TransactionEvent txnEvent, IList <ErrorEvent> errorEvents, IList <ErrorTrace> errorTraces) { var metadata = ProtocolUtil.GetMetadata(arn, executionEnv); var data = ProtocolUtil.GetData(spans, txnEvent, errorEvents, errorTraces); var payload = new List <object> { 2, "NR_LAMBDA_MONITORING", metadata, ProtocolUtil.CompressAndEncode(JsonConvert.SerializeObject(data)) }; return(JsonConvert.SerializeObject(payload), data); }
// Write all the payload data to the console using standard out. This is the only method that should call the Logger#out method. private void WriteData(string arn, string executionEnv, IList <Event> spans, TransactionEvent txnEvent, IList <ErrorEvent> errorEvents, IList <ErrorTrace> errorTraces) { var metadata = ProtocolUtil.GetMetadata(arn, executionEnv); var data = ProtocolUtil.GetData(spans, txnEvent, errorEvents, errorTraces); var payload = new List <object> { 2, "NR_LAMBDA_MONITORING", metadata, ProtocolUtil.CompressAndEncode(JsonConvert.SerializeObject(data)) }; _logger.Log(JsonConvert.SerializeObject(payload)); var debug = Environment.GetEnvironmentVariable("NEW_RELIC_DEBUG_MODE"); if (_debugMode) { _logger.Log(JsonConvert.SerializeObject(data)); } }