6 Replies Latest reply on Aug 24, 2017 3:38 PM by sanketw

    How is Application Status calculated?


      Hello Folks,


      I am new to SolarwindsOrion and have been trying to understand the application status calculation but couldn't get hold of it.

      I went through the queries of APM_ApplicationStatus query and was trying to understand the calculation behind the PercentAvailability.

      For example in the below query i didn't quite understand what is record count? How is PercentAvailability calculated at the first place?



      max(APM_ApplicationStatus.TimeStamp) as Month,


      APM_Application.Name AS ApplicationName,


      sum(APM_ApplicationStatus.PercentAvailability * APM_ApplicationStatus.RecordCount) / sum(APM_ApplicationStatus.RecordCount) AS PercentAvailability


      FROM APM_ApplicationStatus with(nolock)

      INNER JOIN APM_Application with(nolock) ON APM_Application.ID = APM_ApplicationStatus.ApplicationID

      INNER JOIN Nodes with(nolock) ON Nodes.NodeID = APM_Application.NodeID

      WHERE APM_ApplicationStatus.TimeStamp >= dateadd(minute, datediff(minute, getdate(), getutcdate()), dateadd(month, datediff(month, 0, getdate()), 0))

      GROUP BY APM_Application.ID, APM_Application.Name, Nodes.Caption

      ORDER BY Nodes.Caption, APM_Application.Name



      I want to be able to calculate the Application status by week,month,quarter and year and not by per day.

      It would be great if you guys can help me in figuring this out.

      Thank you!

        • Re: How is Application Status calculated?

          Percent availability is basically any time they polled and the application was not down.  What down means depends on your application template and the individual components within it.  The overall application inherits the worst status of any component, so if you have a service running over the specified memory threshold it will display as being critical, but still have 100% availability.  If the monitored service were to stop then the entire application would display as down with 0% availability during that polled interval.

            • Re: How is Application Status calculated?



              Thank you for the answer but this is not what i am looking for.

              I want to know how is this calculated.

              I understand that there is only 0 and 100% when its down and up.

              How is RecordCount calculated?

                • Re: How is Application Status calculated?

                  Recordcount has to do with the aggregation that Orion does on older data.  Under default settings you would hold detailed stats from every polling cycle for 30 days, so for data in that period the record count is always 1 per poll cycle and availability will always be either 0/100. After 30 days Orion will take all of the 0's and 100's and average the values out to get hourly averages, and the record count would be the number of polls during that hour. After 90 days the datapoints are converted to daily averages, and record count would be the sum of all the hourly averages during that day.  If your report isn't looking back further than a month then the recordcount will always be 1 for each timestamp. After 30 days it will normally be ~12, and after 90 days it should be ~288

                    • Re: How is Application Status calculated?

                      Okay I understand some what from your explanation now.


                      I am looking for an 'Application(APM_Application.Name) availability/unavailability report for the last 6 months' and its really confusing the way I have used the existing solarwindsorion sql queries to get the output.

                      Is there any query that can be used according to my requirement?

                        • Re: How is Application Status calculated?

                          Why even bother with all these digging around in the database, you can build a report to do this in the GUI in like 5 minutes.



                          Create a new report


                          Add a table, it will ask you for a datasource, choose "I want to report on Application" and if you want to specify which applications or anything else you can filter it here.





                          It asks you what columns you want in the report, I choose Node Caption, Application Name, and percent availability, then set the data aggregation for percent availability to "Average"


                          Finish from that screen, change the Last 30 days pull down to a custom selection if you want to do 6 months


                          There you go, 6 month availability averages, you can tweak the availability column to only show a specific number of decimals if you want but really thats all there is to it.  No SQL required.