15:01:01 #startmeeting metrics team meeting 15:01:01 Meeting started Thu May 21 15:01:01 2020 UTC. The chair is karsten. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:01:01 Useful Commands: #action #agreed #help #info #idea #link #topic. 15:01:04 hi! 15:01:17 * karsten put a few topics on the agenda pad... 15:02:08 Public pad URL is: https://pad.riseup.net/p/tor-metricsteam-2020.1-keep 15:02:25 please add more topics, and feel free to put them at the top. 15:02:39 hi! 15:03:11 so much to talk about. 15:03:17 I had a day off today for a public holiday and spent a bit of time on #34257 15:03:25 oh! 15:03:37 In the process of writing it up (just got my Trac permissions sorted) 15:03:46 neat! 15:04:12 added a note to the pad that we should talk about that. 15:04:32 I was about to update #30586 15:05:08 added a note. 15:05:19 maybe let's start. 15:05:30 we might not have enough time to cover all topics anyway. 15:05:36 Update OnionPerf to TGen 1.0.0 (#33974) 15:05:51 hi jnewsome! 15:05:59 karsten: hello! 15:06:07 I was just about to talk about #33974. 15:06:21 where my main question was: do you need any help here? 15:06:44 it's not blocking anything, I'm just trying to unblock you if that is the case. 15:06:58 looking up the ticket... 15:07:06 but I assume it's "migrate to tgen 1"? 15:07:09 yep. 15:07:46 main thing that might be helpful is an environment to run in? I think you mentioned getting access to VM(s)? 15:07:56 yes. 15:08:00 I'll email you about that. 15:08:27 other than that, I haven't had much time to work on it yet and am mostly learning how things work. I was having some trouble getting the demo working 15:08:46 that's fine. 15:08:46 probably going to poke at it some more today and/or tomorrow 15:09:17 okay, great, will email you about getting access to a testing VM in the same place as our other instances are running. 15:09:26 sounds good. thanks! 15:09:29 cool! 15:09:31 moving on: 15:09:32 requirements are not included in setup.py (#30586) 15:09:41 acute: you have an update? 15:10:13 my main question there was that we might want to avoid installing packages automatically using pip. 15:10:17 yes, I was wondering whether there is a distinction here that we need to make - how do {researchers, developers} install and use onionperf on their machines vs how we deploy onionperf in Tor 15:10:38 that's a fine question! 15:10:42 For general purpose use/development, using python-setuptools (which is a standard way of packaging python modules and uses pip to manage dependencies) and then running onionperf on the command line is reasonable, imo 15:10:56 for 'official' deployments, not so much 15:11:31 how did we set up onionperf on our deployed instance? 15:11:35 there, it makes more to install dependencies directly from Debian, and use a systemd service to run Onionperf 15:11:55 or, a tmux session... 15:11:57 this is what the ansible workflow does 15:12:20 so, what does that mean to the patch on the ticket? 15:12:26 I see in the ticket we have a general policy of avoiding such package managers; why is that? (and is it worth maintaining 2 ways of doing it?) 15:12:36 tmux could work, but it means things get more manual 15:12:40 and are harder to monitor 15:12:56 the actual 'python3 setup.py install' step is not even necessary, as you can just run onionperf directly from the git repository 15:12:58 acute: yep. it's just the way it is right now. but it totally doesn't have to be that way. 15:13:15 as long as your PYTHONPATH is set 15:13:24 we have avoided using package managers in java code bases. 15:13:33 I don't know what the general tor policy is here. 15:14:09 and again, I'm not a python person. if this is the way to do it in python, I'm fine with that. 15:14:17 I mostly wanted to flag this as potential issue. 15:15:01 acute: do you want to write an update on the ticket? 15:15:06 with suggestions? 15:15:48 yes. I think in the long run we should get onionperf in debian 15:15:54 for what it's worth, bridgedb (also python) uses pip in deployment but our sysadmins would prefer us to use debian packages instead 15:16:07 phw: interesting point. 15:16:18 phw: do you know why they prefer that/ 15:16:40 acute: right now it changes too fast to be a useful package in debian, I think. 15:16:47 jnewsome: you then don't have to worry about vulnerabilities in libraries because debian takes care of that for you 15:17:11 my understandig is that it's pretty standard to use pip when dealing with a source repo,a nd only use the system package manager if you've packaged it up 15:17:14 phw: ah fair point 15:17:50 okay, let's take this back to the ticket. 15:17:51 yes, agreed - this is a more of a long-term idea 15:18:16 I put a note on the pad that you're writing an update on the ticket. 15:18:58 okay, moving on. 15:19:02 Analyze unusual distribution of time to extend to first hop in circuit (#34257) 15:19:08 dennis_jackson: you had something here? 15:19:24 Yes, quick summary 15:19:44 https://raw.githubusercontent.com/galadran/onionperf-guard-analysis/master/images/histograms/bt1_op-hk2.png 15:19:58 The time to build the first hop for hk has discrete bands 15:20:02 heh 15:20:12 But the other distributions do not 15:20:34 I ran out of ideas why this is the case. 15:20:50 I then wanted to work out what was going on with the different parameters 15:20:55 my current best guess is that there's something strange going on with the network setup. 15:21:06 ah, go on. didn't want to interrupt. 15:21:08 so I started looking at start2req, req2fb and the sum of the build times. 15:21:43 There's a strange lack of correlation, at least to my mind 15:21:48 yeah... 15:22:04 I would naively expect start2req to be about the same as the sum of the build times 15:22:19 circuits might have been built before the request came in. 15:22:29 and req2fb to be correlated with start2req 15:23:03 do you know where to find the onionperf analysis files? 15:23:25 https://op-hk2.onionperf.torproject.net:8443/htdocs/ 15:23:33 just in case you want to dig deeper. 15:23:43 Thanks 15:24:09 Anyway, the correlations are much higher for nl than for hk 15:24:14 but yes, I was actually looking for correlations there, too, but didn't find much. 15:24:49 ['op-nl2,public,start2req,total_build', 0.6297887235661617] 15:25:03 ['op-hk2,public,start2req,total_build', 0.4421435991718628] 15:25:11 ['op-us2,public,start2req,total_build', 0.43186586805012234] 15:25:30 Final column is the spearman correlation coefficient 15:25:54 So looks like nl is using the circuits quicker maybe? But unsure without looking at the detailed files 15:26:19 there are also the raw logs. 15:26:22 I didn't find much conclusive, just lots of strange things. I plan to look a bit at the onionperf doc to improve my mental model a bit. 15:26:32 https://op-hk2.onionperf.torproject.net:8443/tgen-client/log_archive/ 15:26:39 https://op-hk2.onionperf.torproject.net:8443/tor-client/log_archive/ 15:27:19 okay, let me add to the pad that you're planning to look more. 15:27:31 would it make sense to start a second set of measurements nearby? 15:27:57 Can't hurt, provided its not too much hassle. 15:28:09 I don't know for hong kong. 15:28:20 but we should easily get another machine in florida. 15:28:39 and the netherlands. 15:28:44 I'll try that. 15:29:07 okay! 15:29:10 okay, cool :) 15:29:15 thanks for looking into this! 15:29:27 np, its a nice change of pace from contact tracing 15:29:32 heh 15:29:40 moving on to: 15:29:41 Reduce the number of 50 KiB downloads (#34023) 15:30:00 what are the general thoughts on doing just the 5 MiB downloads? 15:30:21 every five minutes, that is. 15:30:55 I am in favour 15:31:09 that's 288 measurements per day? 15:31:29 yep. 15:32:49 this is a good thing to do, I wanted to compare the number of measurements with how many we're doing at the moment 15:33:02 the number of measurements stays the same. 15:33:10 they'll all going to be 5 MiB downloads, though. 15:33:44 by the way, the reason why there's no resp2done with the time from first to last byte in #34257 is that we don't have enough data for that. 15:33:57 it just doesn't make much sense to do that for 50 KiB. 15:34:30 okay, so no major concerns "OMG what are you doing"? 15:35:11 sounds like it. 15:35:17 great! 15:35:25 no major concerns here! 15:35:29 :) 15:35:33 next one is related: 15:35:34 Reduce timeout and stallout values (#34024) 15:35:47 the change is minor though. 15:35:58 the idea is to reduce the timeout to 270 seconds to avoid overlapping measurements. 15:36:05 and not use the stallout feature at all. 15:36:23 but again, the impact is much smaller. 15:36:44 I'd say if this seems like a crazy idea, be sure to shout either here or in the next couple hours on the ticket. 15:36:47 otherwise we'll do it. 15:36:52 Your proposal looks good to me. I think it would improve data quality 15:37:11 to a very small extent in this case, but yes. 15:37:11 It really just means that we consider failure to be after 3.5 minutes right? 15:37:21 4.5, yes. 15:37:30 it think it's an improvement 15:38:03 cool! 15:38:15 added a note. 15:38:17 next is: 15:38:18 Allow users to select Onion Service version to measure (#33434) 15:38:39 basically, the idea is to kill v2 onion service measurements. 15:38:50 they're almost exactly the same as v3 onion service measurements. 15:39:00 I'd like to hear from dgoulet or asn about this. 15:39:39 asn and dgoulet are in other meeting now. 15:40:01 karsten: just replied 15:40:02 but if we do this and kill v2 onion service measurements, we'll have 1/2 measurements to public services and 1/2 to (v3) onion servies. 15:40:04 :) 15:40:08 oh hey! 15:40:31 and you agree, nice. :) 15:40:36 thanks for commenting! 15:40:47 o/ 15:41:22 removed the next topic because of time. 15:41:24 Remove existing Tor control log visualizations (#34214) 15:41:34 err, let me remove that, too. 15:41:49 I'll bring them up next week. 15:42:13 the next two are candidates for being picked up by somebody looking to write code. 15:42:16 Fix message logging and filtering (#29369) 15:42:34 I looked into the bug there and suggested a possible fix. 15:42:53 now all that remains to be done is to write the code. :) 15:43:08 same goes for: 15:43:09 Combine multiple analysis files into single data set (#34191) 15:43:28 except that that one is an enhancement, not a defect. 15:43:56 we don't have to assign them now. 15:44:29 just putting this out here if someone's looking for a task that doesn't involve diving deep into the code first. 15:45:13 okay, if there are no questions, moving on? 15:45:41 doing so. 15:45:42 Python style 15:45:59 this came up in the latest review. 15:46:11 thanks, acute, by the way for putting all those effort into that review!! 15:46:16 that* 15:46:41 :D 15:46:57 what are the tools I should be using in the future to write code that complies with generally accepted style guides? 15:47:10 what are other teams using? 15:48:02 karsten: there's flake8, which i use for bridgedb 15:48:20 I think that's what we use in shadow as well 15:48:25 * jnewsome is checking... 15:48:37 pylint, yapf, black and pyflakes were mentioned on the ticket 15:49:20 yeah, we use flake8 for enforcement. https://github.com/shadow/shadow/blob/master/.github/workflows/lint_python.yml 15:49:26 (we = shadow) 15:49:45 how much do they disagree? 15:49:51 like, what if we use all of them? 15:49:59 flake8 seems to be a wrapper on top of pyflakes and pycodestyle, can you use it to reformat code? 15:50:35 * jnewsome doesn't know 15:51:24 how about we try flake8 for the moment? 15:51:31 yapf and black are both formatters, it looks like the other tools are checkers 15:52:02 I think black is, yes. 15:52:34 same for yapf 15:53:10 okay. I'll try them out and bring this topic back to the agenda next week. 15:53:24 (feel free to do the same.) 15:53:46 last topic for today: 15:53:47 Reviews 15:54:04 I don't think there are any open reviews this week. 15:54:16 we covered a few tickets currently under review. 15:54:32 the part about cc'ing metrics-team is a minor issue, though. 15:54:56 the thing is, if we don't cc metrics-team, updates are not being sent to metrics-bugs@. 15:55:20 it's a minor issue, because I'll see updates eventually, but it's the reason why it takes me longer to respond. 15:55:42 I hope we'll soon switch to gitlab and this problem will go away. ;) 15:55:49 +1 15:56:04 anyway, now you know. if you remember, put metrics-team in the cc field. 15:56:17 anything else for today? 15:56:25 not from me! 15:56:28 nothing from me 15:56:32 nope 15:56:43 shall we add metrics-team to trac's auto-cc list? 15:56:52 for onionperf etc., that is 15:56:52 that's for new tickets? 15:57:02 we should, yes. 15:57:08 yes, for new tickets 15:57:21 good idea, I'll do that. 15:58:02 okay! thanks for a stuffed but very productive meeting, everyone! 15:58:19 and thanks for working on making onionperf better!! 15:58:26 o/ 15:58:29 o/ 15:58:30 o/ 15:58:30 :) o/ 15:58:31 talk to you next week, same time, same place. bye! o/ 15:58:38 o/ 15:58:42 #endmeeting