Symptoms

Provider wants to know how long Office 365 subscriptions take to provision on Microsoft side.

Resolution

Use the Python script to extract data about provisioned subscriptions. It takes the audit log file (or part of it) from the Office 365 Gateway as input (the file with the name 'audit' inside the 'App_Data' folder), and creates CSV file with the following data:

Subscription ID; Offer ID; Time when subscription was ordered with Microsoft; Time when callback about successful provisioning was received

The example of the script output:

subId; offer; ordered; provisioned
aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee; 1017D7F3-6D7F-4bfa-BDD8-79BC8F104E0C; 2013-03-22 16:15:54; 2013-03-22 16:36:56

This data can be imported into Excel or any other tool and be used for generating statistics. For instance, the following code in R language reads the script's output and generates a plot for E3 subscriptions provisioning times in April 2013:

provtimes <- read.csv2(file="/Users/admin/Documents/audit/provtimes.csv", sep=";", dec=".")
provtimes$ordered <- strptime(provtimes$ordered, "%Y-%m-%d %H:%M:%S")
provtimes$provisioned <- strptime(provtimes$provisioned, "%Y-%m-%d %H:%M:%S")
provtimes$diff = provtimes$provisioned - provtimes$ordered
provtimes_E3_May <- provtimes[ which(provtimes$offer=='1017D7F3-6D7F-4bfa-BDD8-79BC8F104E0C' & provtimes$ordered > as.POSIXct('2013-04-01') & provtimes$ordered < as.POSIXct('2013-05-01')),]
provtimes_E3_May <- provtimes_E3_May[order(provtimes_E3_May$ordered),]
plot(provtimes_E3_May$ordered,provtimes_E3_May$diff, main = 'Provisioning times for E3 subscriptions in April 2013', xlab = 'Time when subscription was ordered', ylab = 'Time till provisioned')

See the example of the generated plot:

Internal content