[THIN] Re: track user load at given time intervals

  • From: Brian Delaney <brian.delaney@xxxxxxxxx>
  • To: thin@xxxxxxxxxxxxx
  • Date: Fri, 12 Dec 2003 14:47:42 -0500

I am running it and it wirks great, thanks

Roger Riggins wrote:

> Thanks! I?ll give it a shot.
>
> R
>
> -----Original Message-----
> From: thin-bounce@xxxxxxxxxxxxx [mailto:thin-bounce@xxxxxxxxxxxxx] On
> Behalf Of Jeff Durbin
> Sent:Thursday, December 11, 20038:49 PM
> To: thin@xxxxxxxxxxxxx
> Subject: [THIN] Re: track user load at given time intervals
>
> You caught me with 15 minutes and feeling like writing code, so here's
> a script that will do it for you:
> Option Explicit
> Const cInterval = 60000 ' 60000 = 60 seconds
>
> Const cLogFileName = "TS Session Log.csv"
> Const cForReading = 1, cForWriting = 2, cForAppending = 8
> WriteHeader
>
> While 1
>   WriteSample
>   wscript.Sleep cInterval
> Wend
> Sub WriteHeader
>
>   Dim oFS, oFileOut
>   Set oFS = createobject("Scripting.FileSystemObject")
>   Set oFileOut = oFS.OpenTextFile(cLogFileName, cForWriting, True)
>   oFileOut.Write "Date,Time,Sessions" & vbcRLF
>   Set oFileOut = Nothing
>   Set oFS = Nothing
> End Sub
> Sub WriteSample
>
>   Dim intSessionCount, strData, _
>       strLines, strLine, strOut, _
>       oFS, oFileOut
>     strData = Cmd("quser")
>   strLines = Split(strData, vbCrLf)
>   For Each strLine In strLines
>     if instr(strLine,"tcp#") then
>       intSessionCount = intSessionCount + 1
>     end if
>   next
>   strOut = day(now) & "-" & month(now) & "-" & year(now) & "," & _
>            hour(now) & ":" & minute(now) & ":" & second(time) & "," &
> _
>            intSessionCount & vbCRLF
>   Set oFS = createobject("Scripting.FileSystemObject")
>   Set oFileOut = oFS.OpenTextFile(cLogFileName, cForAppending, True)
>   oFileOut.Write strOut
>   Set oFileOut = Nothing
>   Set oFS = Nothing
> End Sub
> Function Cmd(cmdline)
>
>   Dim oShell, oFS, strOutFile, oFileOut, sCmd
>   Set oShell = createobject("WScript.Shell")
>   Set oFS = createobject("Scripting.FileSystemObject")
>   strOutFile = oFS.GetTempName
>   sCmd = "%COMSPEC% /c " & cmdline & " >" & strOutFile
>   oShell.Run sCmd, 0, True
>   If oFS.FileExists(strOutFile) Then
>     If oFS.GetFile(strOutFile).Size>0 Then
>       Set oFileOut = oFS.OpenTextFile(strOutFile)
>       Cmd = oFileOut.Readall
>       oFileOut.Close
>     End If
>     oFS.DeleteFile(strOutFile)
>   End If
>   set oShell = Nothing
>   set oFileOut = Nothing
>   set oFS = Nothing
> End Function
>   Copy the script into notepad and save it with the extension VBS. I
> called it "Log Connected TS Sessions.vbs". I set the sampling interval
> to 60 seconds (that's 60,000 thousandths), which you can change by
> modifying this line:
> Const cInterval = 60000 ' 60000 = 60 seconds
>   Just multiply 60,000 by the number of minutes you want to use for
> your sampling interval and re-save it.
>   Because this is VBScript, there's not a convenient way to end it
> when you're through collecting the data, so you'll have to open Task
> Manager and end the Wscript.exe process when you're finished.
>   The output file is a CSV file that you can open in Excel. To graph
> it, just open the file, highlight the three columns (or you can just
> highlight everything), and click the "Chart Wizard" button in the
> toolbar. Choose "Line" as the chart type and pick whatever sub-type
> suits you. Click Finish and you'll have your graph.
>   I borrowed the CMD function from whoever's web page is located at
> http://dev.remotenetworktechnology.com/wsh/lib/tslib.htm, so thanks to
> whoever you are. That function lets you get the output of a program
> executed by the shell, in this case: QUSER.EXE. Needless to say, the
> script relies on QUSER.EXE.
> Regards,
> Jeff Durbin
>
> Red Fish Information Systems Limited
>
> www.redfish.co.nz
>
>      -----Original Message-----
>
>      From: thin-bounce@xxxxxxxxxxxxx
>      [mailto:thin-bounce@xxxxxxxxxxxxx] On Behalf Of Roger
>      Riggins
>      Sent:12 December 20032:32 PM
>      To: thin@xxxxxxxxxxxxx
>      Subject: [THIN] track user load at given time intervals
>
>      I?d like to be able to see how many users were logged in
>      during certain time intervals over a period of about a week.
>      Something like perfmon to give me a nice line graph would be
>      perfect. The counter for session latency doesn?t do what I?d
>      like?
>
>      Anybody know of a tool to do this?
>
>      Thanks,
>
>      R
>
>      Notice of Confidentiality:
>      This e-mail and any attachments may contain privileged
>      and/or confidential information. This e-mail is intended
>      solely for the use of the individual or entity to which it
>      is addressed. If you are not the intended recipient of this
>      e-mail, you are hereby notified that any copying,
>      distribution, dissemination or action taken in relation to
>      the contents of this e-mail and any of its attachments is
>      strictly prohibited and may be unlawful. If you have
>      received this e-mail in error, please notify the sender
>      immediately and permanently delete the original e-mail and
>      destroy any copies or printouts of this e-mail as well as
>      any attachments. Please note Lutheran Services in Iowa does
>      not endorse any opinions, conclusions or other information
>      contained within this message that does not pertain to
>      official business.
>

Other related posts: