apache / apache/trafficserver

ttms and other "download time" metrics can be -1

Open
#5,491 1 comment 0 reactions 0 assignees View on GitHub
Logging
Dominant language
C++
Stars
2k
Forks
874
Avg merge
6d 15h
Merged PRs (30d)
46

Description

Under certain conditions, it seems the milestone used for e.g. ttms (and a few others) are not set properly. This seems to primarily happen for 302's, but also for some 403's. The relevant code snippets are:

```
LogAccess::marshal_transfer_time_ms(char *buf)
{
if (buf) {
marshal_int(buf, m_http_sm->milestones.difference_msec(TS_MILESTONE_SM_START, TS_MILESTONE_SM_FINISH));
}
```

And, milestones.difference_msec does

```
if (milestones[ms_end] == 0) {
return -1;
}
return ink_hrtime_to_msec(milestones[ms_end] - milestones[ms_start]);
```

So, in this case, TS_MILESTONE_SM_FINISH must not have been set to a value at all, i.e. it looks like the SM never finished (which clearly can not be the case).

What's surprising is that this primarily seems to happen on parent proxies, and not on the child proxies.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.