capture denormalized size of bytes sent downstream.

This commit is contained in:
Greg Oliver 2019-02-19 10:06:08 +00:00
Родитель f901977557
Коммит 00bafc8906
3 изменённых файлов: 12 добавлений и 6 удалений

Просмотреть файл

@ -75,11 +75,12 @@ namespace nsgFunc
}
//log.LogDebug(nsgMessagesString);
log.LogInformation($"Sending {nsgMessagesString.Length} bytes downstream.");
try
{
await Util.SendMessagesDownstreamAsync(nsgMessagesString, log);
int bytesSent = await Util.SendMessagesDownstreamAsync(nsgMessagesString, log);
log.LogInformation($"Sending {nsgMessagesString.Length} bytes (denormalized to {bytesSent} bytes) downstream.");
}
catch (Exception ex)
{

Просмотреть файл

@ -19,7 +19,7 @@ namespace nsgFunc
return result;
}
public static async Task SendMessagesDownstreamAsync(string nsgMessagesString, ILogger log)
public static async Task<int> SendMessagesDownstreamAsync(string nsgMessagesString, ILogger log)
{
//
// nsgMessagesString looks like this:
@ -40,7 +40,7 @@ namespace nsgFunc
if (outputBinding.Length == 0)
{
log.LogError("Value for outputBinding is required. Permitted values are: 'logstash', 'arcsight', 'splunk', 'eventhub'.");
return;
return 0;
}
// skip past the leading comma
@ -61,6 +61,7 @@ namespace nsgFunc
// }
//
int bytesSent = 0;
switch (outputBinding)
{
case "logstash":
@ -73,9 +74,10 @@ namespace nsgFunc
await Util.obSplunk(newClientContent, log);
break;
case "eventhub":
await Util.obEventHub(newClientContent, log);
bytesSent = await Util.obEventHub(newClientContent, log);
break;
}
return bytesSent;
}
public class SingleHttpClientInstance

Просмотреть файл

@ -29,14 +29,17 @@ namespace nsgFunc
return eventHubClient;
});
public static async Task obEventHub(string newClientContent, ILogger log)
public static async Task<int> obEventHub(string newClientContent, ILogger log)
{
var eventHubClient = LazyEventHubConnection.Value;
int bytesSent = 0;
foreach (var bundleOfMessages in bundleMessageListsJson(newClientContent, log))
{
await eventHubClient.SendAsync(new EventData(Encoding.UTF8.GetBytes(bundleOfMessages)));
bytesSent += bundleOfMessages.Length;
}
return bytesSent;
}
static System.Collections.Generic.IEnumerable<string> bundleMessageListsJson(string newClientContent, ILogger log)