Christian Folini's modsecurity tutorials have some performance measuring code, a simplified variation on this would probably be used to do what you're looking for.
# === ModSec timestamps at the start of each phase (ids: 90000 - 90009)
SecAction "id:90000,phase:1,nolog,pass,setvar:TX.ModSecTimestamp1start=%{DURATION}"
SecAction "id:90001,phase:2,nolog,pass,setvar:TX.ModSecTimestamp2start=%{DURATION}"
SecAction "id:90002,phase:3,nolog,pass,setvar:TX.ModSecTimestamp3start=%{DURATION}"
SecAction "id:90003,phase:4,nolog,pass,setvar:TX.ModSecTimestamp4start=%{DURATION}"
SecAction "id:90004,phase:5,nolog,pass,setvar:TX.ModSecTimestamp5start=%{DURATION}"
...
# === ModSec timestamps at the end of each phase (ids: 90010 - 90019)
SecAction "id:90010,phase:1,pass,nolog,setvar:TX.ModSecTimestamp1end=%{DURATION}"
SecAction "id:90011,phase:2,pass,nolog,setvar:TX.ModSecTimestamp2end=%{DURATION}"
SecAction "id:90012,phase:3,pass,nolog,setvar:TX.ModSecTimestamp3end=%{DURATION}"
SecAction "id:90013,phase:4,pass,nolog,setvar:TX.ModSecTimestamp4end=%{DURATION}"
SecAction "id:90014,phase:5,pass,nolog,setvar:TX.ModSecTimestamp5end=%{DURATION}"
# === ModSec performance calculations and variable export (ids: 90100 - 90199)
SecAction "id:90100,phase:5,pass,nolog,\
setvar:TX.perf_modsecinbound=%{PERF_PHASE1},\
setvar:TX.perf_modsecinbound=+%{PERF_PHASE2},\
setvar:TX.perf_application=%{TX.ModSecTimestamp3start},\
setvar:TX.perf_application=-%{TX.ModSecTimestamp2end},\
setvar:TX.perf_modsecoutbound=%{PERF_PHASE3},\
setvar:TX.perf_modsecoutbound=+%{PERF_PHASE4},\
setenv:ModSecTimeIn=%{TX.perf_modsecinbound},\
setenv:ApplicationTime=%{TX.perf_application},\
setenv:ModSecTimeOut=%{TX.perf_modsecoutbound},\
setenv:ModSecAnomalyScoreInPLs=%{tx.anomaly_score_pl1}-%{tx.anomaly_score_pl2}-%{tx.anomaly_score_pl3}-%{tx.anomaly_score_pl4},\
setenv:ModSecAnomalyScoreOutPLs=%{tx.outbound_anomaly_score_pl1}-%{tx.outbound_anomaly_score_pl2}-%{tx.outbound_anomaly_score_pl3}-%{tx.outbound_anomaly_score_pl4},\
setenv:ModSecAnomalyScoreIn=%{TX.anomaly_score},\
setenv:ModSecAnomalyScoreOut=%{TX.outbound_anomaly_score}"