Extending Apdex to multi level distributed pipeline
Consider a processing infrastructure. Logically, the system could be layered to Sk stages to solve the problem P. Each stage, Si could have one or many nodes solving the subproblem. Lets define a set of latency thresholds Tk for each stage. Ti is set with two levels {threshold to qualify SLA met, threshold to qualify SLA not met but tolerated}, where Ti_SLA-met < Ti_SLA-tolerated always. Latency Li for Si depends on performance of the distributed system. Overall end-to-end latency to solve P depends on individual latencies Li and the queuing delays between each Si and Si+1. On similar lines to Ti, we now establish PTk signifying latency threshold for each stage. Cumulative latency CLi = Li + (queuing delay Qi between Si and Si-1). PTi is set with two levels {threshold to qualify SLA met, threshold to qualify SLA not met but tolerated}, where PTi_SLA-met < PTi_SLA-tolerated always. With N observations over time, SNi signifies the total observations made at stage i. Each observation in SNi would be either <= Ti_SLA-met or SNi <= Ti_SLA-tolerated or SNi > Ti_SLA-tolerated signifying SNi has missed the SLA and not tolerated. Each observation in CLi would be either <= PTi_SLA-met or CLi <= PTi_SLA-tolerated or CLi > PTi_SLA-tolerated signifying CLNi has missed the SLA and not tolerated. SLA-met should be defined after considering industry standards, platform performance and lastly huristics. SLA-met is considered to be a strongly defined. SLA-tolerated is a weakly defined threshold based only on huristics. As tolerence thresholds are subjective. A probability factor tp (0.5 by default) signifies the tolerence. Score-Si is defined as (SNi-met + (SNi-tolerated*tp))/SNi at each stage of the pipeline. Score-CSi is defined as (CLi-met + (CLi-tolerated*tp))/SN*i at each stage of the pipeline. Moving average of Score-CSi = (Score-CSi-1 + Score-CSj)/2; Score-CSj = (Score-CSi + Score-CSi+1)/2
Full average of Score-CSi = sum(Score-CSi)/SNi Score-CSn summarizes the e2e latency. Inefficiency score = Diff(Score-CSn, Moving average of Score-CSi or Full average of Score-CSi); reflects the queuing and communication inefficiencies in the pipeline. Overall score = (SN-met + (SN-tolerated*tp))/SN Min(Inefficiency score+Score-CSn, Overall score) depicts efficiency of the pipeline agnostic of the queuing and communication inefficiencies.
















