diff --git a/WebDoorCreator.CamSrv/ProcMan.Designer.vb b/WebDoorCreator.CamSrv/ProcMan.Designer.vb
index 52e705c..63a047e 100644
--- a/WebDoorCreator.CamSrv/ProcMan.Designer.vb
+++ b/WebDoorCreator.CamSrv/ProcMan.Designer.vb
@@ -47,6 +47,7 @@ Partial Class ProcMan
Me.chOther = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
Me.chkStatAggr = New System.Windows.Forms.CheckBox()
+ Me.btnExportStats = New System.Windows.Forms.Button()
Me.StatusStrip1.SuspendLayout()
Me.GroupBox1.SuspendLayout()
Me.SuspendLayout()
@@ -72,7 +73,7 @@ Partial Class ProcMan
'lblTestAlive
'
Me.lblTestAlive.AutoSize = True
- Me.lblTestAlive.Location = New System.Drawing.Point(431, 18)
+ Me.lblTestAlive.Location = New System.Drawing.Point(274, 18)
Me.lblTestAlive.Name = "lblTestAlive"
Me.lblTestAlive.Size = New System.Drawing.Size(25, 13)
Me.lblTestAlive.TabIndex = 3
@@ -80,7 +81,7 @@ Partial Class ProcMan
'
'btnTestAlive
'
- Me.btnTestAlive.Location = New System.Drawing.Point(329, 13)
+ Me.btnTestAlive.Location = New System.Drawing.Point(172, 13)
Me.btnTestAlive.Name = "btnTestAlive"
Me.btnTestAlive.Size = New System.Drawing.Size(75, 23)
Me.btnTestAlive.TabIndex = 2
@@ -253,11 +254,21 @@ Partial Class ProcMan
Me.chkStatAggr.Text = "Aggr Stats"
Me.chkStatAggr.UseVisualStyleBackColor = True
'
+ 'btnExportStats
+ '
+ Me.btnExportStats.Location = New System.Drawing.Point(459, 13)
+ Me.btnExportStats.Name = "btnExportStats"
+ Me.btnExportStats.Size = New System.Drawing.Size(75, 23)
+ Me.btnExportStats.TabIndex = 18
+ Me.btnExportStats.Text = "Export Stats"
+ Me.btnExportStats.UseVisualStyleBackColor = True
+ '
'ProcMan
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(552, 445)
+ Me.Controls.Add(Me.btnExportStats)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.txtQueue)
Me.Controls.Add(Me.StatusStrip1)
@@ -303,4 +314,5 @@ Partial Class ProcMan
Friend WithEvents chTime As ColumnHeader
Friend WithEvents chOther As ColumnHeader
Friend WithEvents chkStatAggr As CheckBox
+ Friend WithEvents btnExportStats As Button
End Class
diff --git a/WebDoorCreator.CamSrv/ProcMan.vb b/WebDoorCreator.CamSrv/ProcMan.vb
index ab0c20d..d319faf 100644
--- a/WebDoorCreator.CamSrv/ProcMan.vb
+++ b/WebDoorCreator.CamSrv/ProcMan.vb
@@ -651,7 +651,7 @@ Public Class ProcMan
Sub(o)
If Not isUpdatingThreads Then
isUpdatingThreads = True
- ProcStats.RecordData($"{m_MaxCamInstances}", tExeCam, tOther)
+ ProcStats.RecordData(m_MaxCamInstances, tExeCam, tOther)
ProcStats.RecordList.Enqueue((tId, tExeCam, tOther))
'Begin the update
LISTThreadStatus.BeginUpdate()
@@ -660,7 +660,6 @@ Public Class ProcMan
' compilo in base al tipo di stat richiesta
If (chkStatAggr.Checked) Then
' statistiche di sintesi
-
Dim sorted = From pair In ProcStats.ExeCumSum
Order By pair.Key
For Each item In sorted
@@ -755,6 +754,34 @@ Public Class ProcMan
End Structure
+ '''
+ ''' Esportazione statistiche attuali esecuzione
+ '''
+ '''
+ '''
+ Private Sub btnExportStats_Click(sender As Object, e As EventArgs) Handles btnExportStats.Click
+ ' statistiche di sintesi
+ Dim sorted = From pair In ProcStats.ExeCumSum
+ Order By pair.Key
+ ' preparo il file export...
+ Dim fileName As String
+ Dim adesso As DateTime = DateTime.Now
+ fileName = Path.Combine("C:\Temp\", $"WDC_Stats_{adesso:yyyyMMdd-HHmmss}.csv")
+ Dim sb As StringBuilder = New StringBuilder
+ sb.AppendLine("Threads;Samples;ExeTime;OtherTime;FullTime")
+ For Each item In sorted
+ ' preparo la linea CSV...
+ sb.AppendLine($"{item.Key};{item.Value.NumRec};{item.Value.ExeTime / item.Value.NumRec:N2};{item.Value.OthTime / item.Value.NumRec:N2};{(item.Value.ExeTime + item.Value.OthTime) / item.Key:N2}")
+ Next
+ ' scrivo!
+ File.WriteAllText(fileName, sb.ToString())
+ End Sub
+
+ Private Sub ProcMan_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
+ ' forzo chiusura threads!
+ stopAllThreads()
+ End Sub
+
#End Region
End Class
\ No newline at end of file