Re: [NeoStats-Devel] SeenServ
"DeadNotBuried" <dnb-4ct+qsaILySks/lY53/[email protected]>
| Newsgroups | gmane.comp.neostats.devel |
|---|---|
| Organization | Majestic Liaisons |
| Message-ID | <000701c52943$73054500$0100a8c0@dnblaptop> |
Mark Wrote: > DeadNotBuried wrote: > > I was thinking of having a setting for how often to save the > > data, configurable by each network, but defaulting to either > > every one or two hours. > > It depends on how you are managing the data but saving a huge amount > infrequently may show worse performance than saving little bits as you go > along since you will be basically locking NeoStats until the save has > completed. You should probably test both before making a final choice. You > might need to provided both options since differeing network sizes might > affect the best approach to data management. i didn't even think about it locking up for large writes. i've gone with constant updates as things change for now. if needed it can be revisited later. > > instead of reading through the file > > and removing expired records, I thought it would be simpler > > to just remove the file itself, and then save the data. > > Assuming you are using age to expire records, you could just add a timestamp > to each record then when you read a record you can either use it, or throw > it away as too old. This way, the database will clean itself as existing > records are accessed. You might also want to consider having an option to > not expire records for smaller networks. Or at least combine it with some > other limiting factor such as nick count so expiration will only kick in > once the database reaches a predetermined size. it's actually limiting only by record count at the moment, as a new record gets appended to the list, it checks the list count, and if greater that what is set it removes records from the begining untill at the limit allowed. if the limit is decreased via the set option it does the same. i thought about limiting on age as well but wasn't sure if it was worth the extra checks. it keeps track of Connects, Joins, Parts, Kills, Kicks, Quits & Nick Changes. using both Vhost and Host (Secret/Private Channels are ignored completely). I have it set so only NS_ULEVEL_LOCOPER and above can see or search on the real host, and then only by messaging the Pseudo Client, even if they are a NetAdmin they can only search on vhost if done in channel (this was to stop others seeing real ip addresses if they are also in channel). how would that go on IRCd's that don't allow VHosts, does the client->user->vhost still get updated, but with the real host ?, that's one concern I have about it, as it's hard coded to use the VHost data only for non Opers. I'd like someone with a rather active network to test it soon if possible, so anything can be sorted out before releasing it with the rest of the alpha versions. DNB