summaryrefslogtreecommitdiff
path: root/ot_stats.c
AgeCommit message (Collapse)Author
10 hoursreplace all calls to sprintf with a format helper that advances a cursor. Also convert the meta-formatter (i.e. results printer) to this schemeDirk Engling
11 hoursPotentially overlapping areas need memmove, not memcpyDirk Engling
13 hoursReplace libowfat's event waiter with our own abstractionDirk Engling
It's with a heavy heart that I remove libowfat as my event library from opentracker. libowfat is what taught opentracker to walk and then fly. The tracker was literally standing on the shoulder of giants when I started writing it in 2006. For its time, the event abstraction was unparalleled and it has held up for many years, and it served the bittorrent community greatly. https://erdgeist.org/gitweb/opentracker/commit/?id=ad472597c569568bad0526d116b601dfcb36638c Unfortunately, it is very likely that libowfat will not be maintained anymore for the foreseeable future, it is already not easy to get its source from upstream and opentracker started receiving bug reports that I can not reasonably answer or patch. Before the project gets more dependent on the limitations of libowfat's current state, I need to teach opentracker to stand on its own feet and fly by itself. I've learned a great deal in the process and have even more respect now for what libowfat pioneered. The path for opentracker is cleared now. Ground work has already been laid in the migration process to support multi threaded http processing while keeping the aggressive reduction of syscalls alive that made the libowfat+opentracker combo so scalable. Here be some dragons, though: Even though there is a unit test suite now, the event loop's rewrite has not been battle tested yet. So you might want to hold up for a bit before jumping on the solo band wagon. What awaits at the end will be a long overdue v1.0, which will be named in honour of Felix.
16 hoursSecond run of making variable and function names more readable, urlencoder now matches overall naming schemeDirk Engling
37 hoursBe stricter about const char*, Wwrite-strings will warn in the future and we don't want to try to overwrite string literalsDirk Engling
2 daysRemove dead code left over from refactoringDirk Engling
3 daysReplace custom int64 with its standardized int64_t typeDirk Engling
3 daysReplace libowfat's ip scanner and formatters with own ownDirk Engling
3 daysReplace all manual hex conversion with the new helperDirk Engling
3 daysReplace endianess helpers and remove unused system and libowfat includedDirk Engling
* Replace libowfat big endian packers with htonl/ntohl * Turn bucket derivation in ot_mutex.c into its own helper * remove unused includes
4 daysRework config file parser and tidy up mem initsDirk Engling
2026-04-13Silence warnings about function declaration without a prototype for functions taking voidDirk Engling
2026-04-03Clean up top100 stats codeDirk Engling
2026-04-03turn all int offsets into size_tDirk Engling
2024-05-10Initialise top leechers vectorDirk Engling
2024-05-10Add top100 torrents by leechers to the listDirk Engling
2024-04-16Remove CVS version tags, they did not work anymore after moving to gitDirk Engling
2024-04-15clang-formatDirk Engling
2024-04-13white spaceDirk Engling
2024-04-10Reserve enough memory to hold all peer timeout bucketsDirk Engling
2024-04-03Bind dual stack by defaultDirk Engling
2024-04-03Prepare opentracker for dual stack capabilitiesDirk Engling
2024-03-07Remember hash and not torrent pointer for use after releasing the lock on torrent vectorDirk Engling
2021-08-22Mark return code of write() as intentionally unusedDirk Engling
2015-12-11Forgot to include one error code. Thanks to Lars SeipelDirk Engling
2015-11-26dont count scrapes as full scrapes, fall through failDirk Engling
2015-04-27Fix typo in stat reporting, use udp and not tcp counter. Thanks to zebulonDirk Engling
2012-06-03Make woodpecker spotting more usable by adjusting count every 2 minuteserdgeist
2012-05-29Add rijndael to version reporterdgeist
2012-05-28Report connection id missmatch counterdgeist
2012-05-28Add connection id missmatch codeerdgeist
2012-05-18Do not always grow the vector, shrink the first iovec to 0 before filling the second oneerdgeist
2012-05-18Need more space for top100erdgeist
2012-05-18Add a top100 for most popular torrentserdgeist
2011-11-16silenced some clang warningsdenis
2010-12-11Open syslog connection before dropping privilegeserdgeist
2010-04-22** struct ot_workstruct gets ritcher (and will become even ritcher soon).erdgeist
This is where we encapsulate all per-request data from peer to hash to peer_id, so that it is available everywhere without passing hundreds of pointers down the stack. Most functions that do work down the stack now accept an ot_workstruct and some flags. So it can end up in the stats/event-handler where it will be the default parameter in the future. ** peer_id is now being copied by default and moved to ot_workstruct So it is available in stats and subsequent functions. ** sync scrape madness is gone SYNC_SCRAPE was intended to sync tracker state that would normally be lost on restarts i.e. downloaded counts per torrent. The way was to push it in the tracker cloud after finding all neighbouring trackers. This is madness. It never was tested and can be done per tracker by fetching stats/mode=statedump from time to time and starting opentracker with the -l option later. ** livesync thread has its own ot_workstruct now So it can behave like ot_udp and ot_http against trackerlogic.c and get rid of the first half of the embarrassing global variables. The sending half will be fixed soon [tm]. ** stats can log completed events The author recognizes the needs of original content distributors to keep track of the amount of times a work has been downloaded. While not feasible and used on openbittorrent and other open and anonymous tracker installations, a tracker user can now choose to send those events to syslog.
2010-04-21Fix white spaceserdgeist
2010-04-21Add our own time stamps to the completed logs.erdgeist
2010-04-09Fix segfault in stats?mode=everything, an additional errorcode was not commited to ot_statserdgeist
2009-11-12Allow logging of completed events to syslogerdgeist
2009-09-02#define closed too earlyerdgeist
2009-09-02Add spotting woodpeckers, thanks to Vasya P. againerdgeist
2009-09-01Cleanup s24s code, remove an ugly mem leak, thanks to Vasya P. for pointing at the bug and suggesting a fixerdgeist
2009-08-30Temporary feature: log amount of numwants. See if we can save traffic if we reduce max numwant to something less than 200erdgeist
2009-08-30Limit shifting in s24s cleanup code to a non-overflowing sizeerdgeist
2009-08-26Add some subnet debugging featureserdgeist
2009-07-15Make opentracker return tracker id in stats=everything requesterdgeist
2009-06-17Remove unnecessary =NULL initialization of static pointers.erdgeist
2009-06-16Display v4 addresses in v4 mode nicererdgeist