SetDirectory[NotebookDirectory[]]

fn=FileNames["timestamps"]

subt=ToString/@Import[fn[[1]],"List"];

Better with sed as the following can break with quoted text

(*ltimes=Pick[subt,StringContainsQ["-->"]@subt];*)

The following remove the non-numerical stuff that we got cluttered with:

lsplit=StringSplit[#,"-->"]&/@subt;

ltimes=StringReplace[#,"{"->""]&/@lsplit;

ltimes2=StringReplace[#,"}"->""]&/@ltimes;

ltimes=StringReplace[#," "->""]&/@ltimes2;

Here at last we transfer into times:

ltimes=Map[AbsoluteTime[{#,{"Hour",":","Minute",":","Second",",","Millisecond"}}]&,ltimes,{2}];

List of starting and stopping times:

ltimesStart=ltimes[[All,1]];

ltimesStop=ltimes[[All,2]];

(ltimesStop-ltimesStop[[1]])[[-1]]/3600

ListPlot[Transpose[{ltimesStop-ltimesStop[[1]],ltimesStop-ltimesStart}],PlotRange->All,Filling->Axis,AxesLabel->{"Time (s)","Duration (s)"},AspectRatio->1/3]

Occurences with no delay:

Flatten[Position[ltimesStart-RotateRight[ltimesStop,1],val_/;val==0]]

Occurences with negative delay: (the file was fixed)

Drop[Flatten[Position[ltimesStart-RotateRight[ltimesStop,1],val_/;val<0]],1]

Length[%]