add microsecond precise timers for measuring various intervals#2495
add microsecond precise timers for measuring various intervals#2495pprindeville wants to merge 1 commit intocurl:masterfrom
Conversation
da3f93c to
cd37983
Compare
|
cd37983 to
941d7bb
Compare
Done. |
|
Any other blockers? |
|
The CI builds are still red so I haven't really checked out the details. |
ada1661 to
558174d
Compare
Saw some errors, yeah, but I thought they were pre-existing. But you're right, the above was introduced by my changes. Fixing it now. |
558174d to
ab269cb
Compare
|
Also failed the symbols-in-versions test (1119). Fixed that. |
ab269cb to
6ebc305
Compare
|
@bagder Does Travis build each commit in a PR separately or just the last one? I fixed the issue that you pointed out above, then it built but failed elsewhere (with the missing versioning of the new symbols) so I fixed that... now it's back to failing at the above place. Weird. |
eb924bf to
924da0b
Compare
bagder
left a comment
There was a problem hiding this comment.
I think this looks great, I only have a few comments and questions to ponder.
docs/examples/progressfunc.c
Outdated
There was a problem hiding this comment.
Wouldn't this look nicer if instead the constant MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL was multiplied with 1000000 ?
lib/getinfo.c
Outdated
There was a problem hiding this comment.
Okay, since it's a relative timestamp and not absolute, sure, I'll make it 32-bit as well.
include/curl/curl.h
Outdated
There was a problem hiding this comment.
These might be handy for an application, but they're also very basic and for very specific and narrow use cases. Does it really add anything to provide them in the public header?
To me they feel more like handy macros for our test suite.
There was a problem hiding this comment.
Well, since other format specifiers were exposed in system.h I was trying to follow that model.
tests/libtest/lib500.c
Outdated
There was a problem hiding this comment.
Since you limited the code to extract this time to 64 bit only, won't this code fail hard on 32 bit systems?
There was a problem hiding this comment.
Made it 32-bit also.
docs/libcurl/symbols-in-versions
Outdated
There was a problem hiding this comment.
Since the feature window has closed now for 7.60.0 and this is a change, we can assume this change can land in 7.61.0.
There was a problem hiding this comment.
Changed... the Travis testing is kicking my ass, though... Can't get it to pass the tests 1139 and 1140.
There was a problem hiding this comment.
I don't see it in the most recent commit. I see it fails because of this:
lib500.c: In function ‘test’:
lib500.c:115:112: error: expected identifier before ‘%’ token
fprintf(moo, "namelookup vs connect: %" CURL_FORMAT_CURL_OFF_T ".%06ld " %" CURL_FORMAT_CURL_OFF_T ".%06ld\n",
there's a quote in middle of the ".%06ld " %" which it looks like causes a slew of syntax errors
5f0e463 to
678268f
Compare
|
Not understanding what's needed here: |
|
because it's not documented, you need man pages for each. how is CURLINFO_APPCONNECT_TIME different from CURLINFO_APPCONNECT_TIME_T |
|
Can we have the *TIME and *TIME_T versions share the same pages? |
f5e2890 to
d33b20f
Compare
5d33f05 to
62a1d5a
Compare
We overload the curl_off_t, if it's 64-bits wide, for extending the API to allow retrieving times in microseconds (which is how they're stored internally).
62a1d5a to
450fc14
Compare
|
I'll check it again it looks like you did more work on it. Even if approved it can't be added until the next feature window, in 2 weeks. |
|
When does the window reopen? |
|
At release, which was yesterday! |
|
Thanks! |
Work in progress.
Trying to make the definition of
CURLINFO_TOTAL_TIME_T, et al be conditional on whetherCURL_SIZEOF_CURL_OFF_T == 8or not.CURL_SIZEOF_CURL_OFF_Tis defined inlib/curl_setup.hbut that's not included incurl/curl.h... investigating a work-around.