Application availability/outage time report

Dear eazyBI team,

I was wondering if you have any recommendations or experience regarding reports for the application availability management area done via Jira tickets or Insight objects.

For instance, for each application outage there would be a Jira ticket “Outage” or “Incident” with start/end date-time picker field and an insight object reference field to relate the outage with an application which is registered as an insight object.

Based on such data, do you have any tips and tricks on how to report lets say on monthly/weekly basis total time the application was not running?
Would it by also possible to reflect and calculate outage only within “supported” hours, in orther words, to somehow register a calendar and supported hours for several applications within eazyBI?

I look forward to hearing from you.
All the best,
Samuel

eazyBI imports issues with some values in insight custom fields into the Insight data cube and maps them to related objects.

eazyBI imports a set of basic issue fields as properties. While there are no default visible measures for them, you can access those properties within formulas, for example, this to see issue type of an imported issue:
[Jira Issue].CurrentMember.Get('Issue type')

You can check what default fields are imported as properties with this formula [Jira Issue].CurrentMember.AllProperties.

eazyBI does not import Jira issue custom fields into Insight issue cube. You may want to set up additional data import for this. Please define and use incremental REST API data import for this.
You would like to use some valid JQL query to filter out issues you would like to import into this account, specify what custom field you would need there. I would suggest defining Offset and limit parameters to make sure all issues according to criteria are picked up there. Specify some rules for incremental data import as well, for example, updated in the last three days:

Then you can define a mapping. I would suggest using Issue ID as mapping ID column and source ID (incremental import option), set skip missing to avoid rows with no mapping.
Import Start date and End date as Properties for this Jira issue:

Then you can use those custom fields to define a new calculated measure to count the total time between those two dates based on my data set:

NonZero(SUM(Filter(
  Descendants([Jira Issue].CurrentMember,[Jira Issue].[Issue]),
  [Jira Issue].CurrentMember.Get("Issue type") MATCHES "Improvement|Feature"
  AND
  DateInPeriod(
    [Jira Issue].CurrentMember.GetDate("Program end date"),
    [Time].CurrentHierarchyMember
  )
  AND
  not isEmpty([Jira Issue].CurrentMember.Get("Program start date"))
 ), 
 CASE WHEN 
 ([Measures].[Issues created],
 [Time].CurrentHierarchy.DefaultMember) > 0
 THEN
  DateDiffDays(
   [Jira Issue].CurrentMember.GetDate("Program start date"),
   [Jira Issue].CurrentMember.GetDate("Program end date")
  )
 END
))

Here is my demo data of Jira issues in Insight cube with some additional data imported there:

You can use the data import for Incidents and Outages based on the example above (my improvements and features). You can use a formula above to calculate Downtime. You can use DateDiffHours instead of DateDiffDays in the formula and use your imported dates.

Then you can calculate Planned uptime per service (project) in the period, for example, counting hours in the selected period:

 DateDiffHours(
    [Time].CurrentHierarchyMember.StartDate,
    [Time].CurrentHierarchyMember.NextStartDate)

Then you can use the Planned uptime and Downtime to calculate Availability:

([Measures].[Planned uptime] -
 [Measures].[Downtime])
/
[Measures].[Planned uptime]

Daina / support@eazybi.com

Hi Daina,

thank you very much for your detailed answer.

Is it possible to reflect in the calculation declared availability for application/s on workdays between 09:00 and 17:00 (or any other time interval) or is it possible to use your proposal for 24/7 only?

What if different applications (insight objects) would have different support hours (different calendars). How can such calendars be stored?

I look forward to hearing from you.
All the best,
Samuel

eazyBI does not support workhours calculations by default. We have this idea in our backlog. I will add a community vote to it. While we do not have any plans for it yet, I will update the topic here when there will be any changes.

Meantime, you can consider some arithmetical approach for calculating working hours. Here is one community topic you can check out on this:

Daina / support@eazybi.com