Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- declare @startDate datetime
- declare @increment int
- declare @perfCounter nvarchar(100)
- declare @machineName nvarchar(100)
- declare @startOfTheDay datetime
- declare @numofpoints int
- -- set @perfCounter = '% Processor Time'
- set @perfCounter = 'Available Mbytes'
- set @machineName = 'CONTOSO'
- set @increment = 15
- set @numofpoints = 100
- set @startDate = DATEADD(minute, -1 * (@numofpoints + 1) * @increment, GETDATE())
- -- set @startOfTheDay = DATEFROMPARTS(YEAR(@startDate), MONTH(@startDate), DAY(@startDate))
- set @startOfTheDay = convert(datetime, (convert(varchar, @startDate, 112)), 112)
- print @startOfTheDay
- set @startDate = DATEADD(minute, Floor(DATEDIFF(minute, @startOfTheDay, @startDate)/@increment)*@increment, @startOfTheDay)
- SELECT top(@numofpoints)
- DATEADD(minute, Floor(DATEDIFF(minute, @startDate, pc.[LogTime])/@increment)*@increment, @startDate) LogTimeN
- ,pc.MachineName
- ,pcd.Counter
- ,avg(pc.[Value]) Avg
- ,min(pc.[Value]) Min
- ,max(pc.[Value]) Max
- FROM [dbo].[PerformanceCounters] pc
- inner join [dbo].[PerformanceCountersDefinitions] pcd on pcd.id=pc.[CounterId]
- where pcd.Counter = @perfCounter
- and pc.logtime >= @startDate
- and pc.MachineName = @machineName
- and pcd.Machine = @machineName
- group by
- DATEADD(minute, Floor(DATEDIFF(minute, @startDate, pc.[LogTime])/@increment)*@increment, @startDate)
- ,pc.MachineName
- ,pcd.Counter
- order by 1 desc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement