Unclear check for skipping scaling due to missing bandwidths or missing descriptors
We skip old results when scaling, but there are a few things wrong with this check:
- It is hard to tell what this line does, because it mixes "and" and "or" without brackets: l.desc_bw_obs_last or l.desc_bw_obs_mean and l.desc_bw_avg
- We skip scaling if any input is missing, but then we check desc_bw_obs_type and ignore some inputs
- If we are missing a descriptor for long enough, we stop generating results for a relay. We could use a substitute value instead.
if not(l.desc_bw_obs_last or l.desc_bw_obs_mean and l.desc_bw_avg): log.debug("Skipping %s from scaling, because there were not " "descriptor bandwidths.", l.nick) continue if desc_bw_obs_type == TORFLOW_OBS_LAST: desc_bw_obs = l.desc_bw_obs_last elif desc_bw_obs_type == TORFLOW_OBS_MEAN: desc_bw_obs = l.desc_bw_obs_mean