diff --git a/TimberWinR.TestGenerator/Program.cs b/TimberWinR.TestGenerator/Program.cs
index 5711f74..f3527b1 100644
--- a/TimberWinR.TestGenerator/Program.cs
+++ b/TimberWinR.TestGenerator/Program.cs
@@ -199,11 +199,18 @@ namespace TimberWinR.TestGenerator
switch (inputProp.Name)
{
case "udp":
- return VerifyConditions(json, new string[] { "udp" }, inputProp, jresult);
-
+ if (VerifyConditions(json, new string[] {"udp"}, inputProp, jresult) != 0)
+ return 1;
+ break;
+ case "tcp":
+ if (VerifyConditions(json, new string[] {"tcp"}, inputProp, jresult) != 0)
+ return 1;
+ break;
case "log":
case "taillog":
- return VerifyConditions(json, new string[] { "log", "taillog" }, inputProp, jresult);
+ if (VerifyConditions(json, new string[] {"log", "taillog"}, inputProp, jresult) != 0)
+ return 1;
+ break;
}
}
@@ -356,9 +363,7 @@ namespace TimberWinR.TestGenerator
}
private static void TimberWinROnOnConfigurationProcessed(Configuration configuration)
- {
- Console.WriteLine("Processed Config: {0}", configuration.GetHashCode());
-
+ {
if (!string.IsNullOrEmpty(Options.RedisHost) && configuration.RedisOutputs != null && configuration.RedisOutputs.Count() > 0)
{
foreach (var ro in configuration.RedisOutputs)
diff --git a/TimberWinR.TestGenerator/TimberWinR.TestGenerator.csproj b/TimberWinR.TestGenerator/TimberWinR.TestGenerator.csproj
index 357912f..e4d287b 100644
--- a/TimberWinR.TestGenerator/TimberWinR.TestGenerator.csproj
+++ b/TimberWinR.TestGenerator/TimberWinR.TestGenerator.csproj
@@ -99,6 +99,15 @@
PreserveNewest
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
diff --git a/TimberWinR.TestGenerator/results3.json b/TimberWinR.TestGenerator/results3.json
new file mode 100644
index 0000000..6e91d13
--- /dev/null
+++ b/TimberWinR.TestGenerator/results3.json
@@ -0,0 +1,20 @@
+{
+ "Results": {
+ "Inputs": [
+ {
+ "taillog": {
+ "test1: message sent count": "[messages] == 7404",
+ "test2: average cpu": "[avgCpuUsage] <= 30",
+ "test3: maximum memory": "[maxMemUsage] <= 15"
+ }
+ },
+ {
+ "tcp": {
+ "test4: message sent count": "[messages] == 1234",
+ "test5: average cpu": "[avgCpuUsage] <= 30",
+ "test6: maximum memory": "[maxMemUsage] <= 15"
+ }
+ }
+ ]
+ }
+}
diff --git a/TimberWinR.TestGenerator/test3-tw.json b/TimberWinR.TestGenerator/test3-tw.json
new file mode 100644
index 0000000..4599c56
--- /dev/null
+++ b/TimberWinR.TestGenerator/test3-tw.json
@@ -0,0 +1,45 @@
+{
+ "TimberWinR": {
+ "Inputs": {
+ "Tcp": [
+ {
+ "_comment": "Output from NLog",
+ "port": 5140
+ }
+ ],
+ "Logs": [
+ {
+ "interval": 5,
+ "logSource": "log files",
+ "location": "*.jlog",
+ "recurse": -1
+ }
+ ]
+ },
+ "Filters": [
+ {
+ "grok": {
+ "condition": "\"[EventTypeName]\" == \"Information Event\"",
+ "match": [
+ "Text",
+ ""
+ ],
+ "drop": "true"
+ }
+ }
+ ],
+ "Outputs": {
+ "Redis": [
+ {
+ "_comment": "Change the host to your Redis instance",
+ "port": 6379,
+ "batch_count": 500,
+ "threads": 2,
+ "host": [
+ "tstlexiceapp006.vistaprint.svc"
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/TimberWinR.TestGenerator/test3.json b/TimberWinR.TestGenerator/test3.json
new file mode 100644
index 0000000..dadb1d5
--- /dev/null
+++ b/TimberWinR.TestGenerator/test3.json
@@ -0,0 +1,14 @@
+{
+ "test": "Test 3",
+ "arguments": {
+ "--testFile": "test3.json",
+ "--testDir": "test3",
+ "--timberWinRConfig": "test3-tw.json",
+ "--numMessages": 1234,
+ "--logLevel": "debug",
+ "--tcp": "5140",
+ "--jroll": ["r1.jlog", "r2.jlog"],
+ "--json": ["1.jlog", "2.jlog", "3.jlog", "4.jlog"],
+ "--resultsFile": "results3.json"
+ }
+}
diff --git a/TimberWinR/Inputs/TcpInputListener.cs b/TimberWinR/Inputs/TcpInputListener.cs
index ae7a37e..ed60011 100644
--- a/TimberWinR/Inputs/TcpInputListener.cs
+++ b/TimberWinR/Inputs/TcpInputListener.cs
@@ -16,7 +16,9 @@ namespace TimberWinR.Inputs
private Thread _listenThreadV4;
private Thread _listenThreadV6;
private readonly int _port;
+
private long _receivedMessages;
+ private long _errorCount;
public override JObject ToJson()
{
@@ -24,9 +26,9 @@ namespace TimberWinR.Inputs
new JProperty("tcp",
new JObject(
new JProperty("port", _port),
+ new JProperty("errors", _errorCount),
new JProperty("messages", _receivedMessages)
)));
-
return json;
}
@@ -68,7 +70,6 @@ namespace TimberWinR.Inputs
listener.Start();
-
while (!CancelToken.IsCancellationRequested)
{
try
@@ -79,7 +80,7 @@ namespace TimberWinR.Inputs
// Wait for a client, spin up a thread.
var clientThread = new Thread(new ParameterizedThreadStart(HandleNewClient));
clientThread.Start(client);
- }
+ }
catch (SocketException ex)
{
if (ex.SocketErrorCode == SocketError.Interrupted)
@@ -109,7 +110,7 @@ namespace TimberWinR.Inputs
{
JObject json = JObject.Load(reader);
ProcessJson(json);
- _receivedMessages++;
+ Interlocked.Increment(ref _receivedMessages);
}
catch (Exception ex)
{
@@ -118,12 +119,16 @@ namespace TimberWinR.Inputs
ProcessJson(jex1);
LogManager.GetCurrentClassLogger().Warn(ex);
+ Interlocked.Increment(ref _errorCount);
}
}
}
}
}
+ catch(OperationCanceledException)
+ {
+ }
catch (Exception ex)
{
LogManager.GetCurrentClassLogger().Error(ex);
diff --git a/chocolateyUninstall.ps1.template b/chocolateyUninstall.ps1.template
index d776fd7..bcd872b 100644
--- a/chocolateyUninstall.ps1.template
+++ b/chocolateyUninstall.ps1.template
@@ -1,7 +1,7 @@
$packageName = 'TimberWinR-${version}' # arbitrary name for the package, used in messages
$installerType = 'msi' #only one of these: exe, msi, msu
$url = 'http://www.ericfontana.com/TimberWinR/TimberWinR-${version}.0.msi' # download url
-$silentArgs = '{D066A694-B9F7-4B35-BB7D-D34CB88CA89F} /quiet'
+$silentArgs = '{D248DF6E-0109-4A9C-BEC1-A5AEDA8D167A} /quiet'
$validExitCodes = @(0) #please insert other valid exit codes here, exit codes for ms http://msdn.microsoft.com/en-us/library/aa368542(VS.85).aspx
UnInstall-ChocolateyPackage "$packageName" "$installerType" "$silentArgs" "$url" -validExitCodes $validExitCodes