IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2022/03/15
dr|z3d you're still leaking the ip address of your irc server, eche|on
dr|z3d > Error from server: Closing Link: [8X.X.X.99] (Throttled: Reconnecting too fast)
zzz SSU2 fixes in -9. Not critical for testers to update, but I'd appreciate it if you stayed up-to-date to make testing easier
dr|z3d zzz: build tunnel success as a percentage.. any easy way to pull that stat?
zzz no, you have to add up success, expired, reject, and divide
dr|z3d hmm, ok. that's one stat that i2pd has that we don't, and it's a useful, easy to understand stat that merits exposure in the console.
zzz where would you propose to put it
dr|z3d tunnels section, sidebar.
dr|z3d if it can be calculated per tunnel group, also in the status indicator on /tunnels.
zzz I don't know what action a user would take if the value was too low, or how he would know what too low is
dr|z3d it's like a lot of the stats in the sidebar.. not immediately obvious what a good value is, but over time user learns what's normal or not.
zzz the network average is a good measure of overall health but for the per-router value I'm not sure it provides much insight
dr|z3d well, apparently various i2pd users have seen a hike with the latest release, which suggests it's providing _some_ insight, no?
dr|z3d put that value on a graph, you can get a feel for router performance over time.
zzz perhaps
zzz where are you getting your i2pd feedback? I haven't seen it
dr|z3d Diva Exchange chiming in there..
zzz yeah that's nice work. We still need an SNMP plugin but I still hate SNMP...
dr|z3d wouldn't jsonrpc be able to handle stat generation?
dr|z3d there's also github.com/jfree/jfreesvg if you haven't seen that, which could be good for doing fun stuff with the rrd stats.
zzz sure, but to integrate with standard network monitoring tools, SNMP is the thing
zzz maybe I'll take another run at it someday
obscuratus dr|z3d: I have a local patch on my java I2P where I create a stat on tunnel build success. I could throw it up somewhere. It's not big.
dr|z3d obscuratus: sure, that'd be great, thanks.
obscuratus I couldn't figure out how to store a stat in anything but integer, so I just scale it from 1 to 1000.
dr|z3d you'd want a float, probably.
dr|z3d maybe zzz would be willing to accept an MR.
obscuratus I couldn't find any examples of stored stats that were a float.
dr|z3d private float _sendBps;
dr|z3d private float _recvBps;
dr|z3d private float _sendBps15s;
dr|z3d private float _recvBps15s;
dr|z3d void setPeakThroughputKBps(float kBps) {
dr|z3d // Set all so the average remains the same
dr|z3d float speed = kBps * (60 * 1024);
dr|z3d for (int i = 0; i < THROUGHPUT_COUNT; i++) {
dr|z3d _peakThroughput[i] = speed;
dr|z3d if you grep for "float" you'll likely see stuff, but tbh, not sure anything other than an integer percentage value is adding much value.
obscuratus dr|z3d: What I was looking for was an example where addRateData is in float. That's the missing piece.
zzz the data stored in stats are longs. But the "coalesced" values over time (e.g. average) are doubles
dr|z3d there we go, there's your definitive answer, obscuratus :)
zzz but there's no stat for build success, so you have to do your own math anyway
obscuratus So, anyways, here my solution where I just scale it from 1 to 1000.
zzz well, there's a stat for success, but not for %
obscuratus Oops, hold on, did idk's pastebin get the whole patch?
dr|z3d it did, it's just truncating it I think.
dr|z3d ends with:
dr|z3d * Mark a string for extraction by xgettext and translation.
dr|z3d * Use this only in static initializers.
dr|z3d 2.34.1
dr|z3d cake.i2p/pastebin is another option, no js required.
dr|z3d and you get optional syntax highlighting there, too.
obscuratus dr|z3d: OK, that should be the whole patch.
dr|z3d thanks, obscuratus. you're just calculating exploratory build success?
obscuratus dr|z3d: Yes, isn't that what you're discussing?
dr|z3d in part, but I was also thinking about a global value that tracks everything.
obscuratus Ah, I was just doing my local value.
dr|z3d when I say everything, I mean all tunnels built on the router (as a percentage)
obscuratus Ah, OK. Not just exploratory tunnels then.
dr|z3d the idea / proposal is to have a percentage readout for all tunnel builds in the sidebar, with per tunnel group breakdowns on tunnels, with optional graphs.
zzz obscuratus, yes, that's one way to do it if you wanted to graph it
zzz to simply put a number in the side bar, as dr|z3d is proposing, you could just calculate it on-the-fly, you don't need a new stat
dr|z3d yeah, new stat handy for graphs, though :)
obscuratus OK, I cheated by taking advantage of data already collected by stats. :)
dr|z3d some percentage graphs wouldn't hurt, in any event. probably easier for average user to understand.
dr|z3d would allow for a dual/split color plot, fail at the top, success at the bottom.