Skip to content

onionperf_measurement.error_code is always 'NONE'

Working on tpo/network-health/team#313 i was trying to get the circuit failure rate, but there isn't any row in onionperf_measurement with error_code != 'NONE'. However there're rows in onionperf_tgen_stream with stream_info_error and transport_info_error with a value different than 'NONE'.

I though the error could be that for the measurements, the value of error_code comes from transport_info and not stream_info, but that didn't add any row with error_code different than 'NONE' either.

When i get an stream_id that has transport or stream info error from onionperf_tgen_stream, that stream_id isn't found in onionperf_measurement. So it looks like the streams with error aren't been added to onionperf_measurement, but i couldn't find why. eg:

select stream_id from onionperf_tgen_stream where transport_info_error != 'NONE' limit 1;
                                                stream_id                                                 
----------------------------------------------------------------------------------------------------------
 96056:6:localhost:127.0.0.1:59966:ec2-18-192-214-92.eu-central-1.compute.amazonaws.com:18.192.214.92:443
(1 row)

select * from onionperf_measurement where stream_id='96056:6:localhost:127.0.0.1:59966:ec2-18-192-214-92.eu-central-1.compute.amazonaws.com:18.192.214.92:443';

@hiro: since you know better the code, would you mind to look why is this happening?