fix(websteps): use correct input for each URL measurement (#536)
Closes https://github.com/ooni/probe/issues/1798
This commit is contained in:
parent
9b52a050ba
commit
3f511d100b
|
@ -128,6 +128,7 @@ func (eaw *experimentAsyncWrapper) RunAsync(
|
||||||
defer close(out) // signal the reader we're done!
|
defer close(out) // signal the reader we're done!
|
||||||
out <- &model.ExperimentAsyncTestKeys{
|
out <- &model.ExperimentAsyncTestKeys{
|
||||||
Extensions: measurement.Extensions,
|
Extensions: measurement.Extensions,
|
||||||
|
Input: measurement.Input,
|
||||||
MeasurementRuntime: stop.Sub(start).Seconds(),
|
MeasurementRuntime: stop.Sub(start).Seconds(),
|
||||||
TestKeys: measurement.TestKeys,
|
TestKeys: measurement.TestKeys,
|
||||||
}
|
}
|
||||||
|
@ -177,6 +178,7 @@ func (e *Experiment) MeasureAsync(
|
||||||
for tk := range in {
|
for tk := range in {
|
||||||
measurement := e.newMeasurement(input)
|
measurement := e.newMeasurement(input)
|
||||||
measurement.Extensions = tk.Extensions
|
measurement.Extensions = tk.Extensions
|
||||||
|
measurement.Input = tk.Input
|
||||||
measurement.MeasurementRuntime = tk.MeasurementRuntime
|
measurement.MeasurementRuntime = tk.MeasurementRuntime
|
||||||
measurement.TestKeys = tk.TestKeys
|
measurement.TestKeys = tk.TestKeys
|
||||||
if err := measurement.Scrub(e.session.ProbeIP()); err != nil {
|
if err := measurement.Scrub(e.session.ProbeIP()); err != nil {
|
||||||
|
|
|
@ -133,8 +133,6 @@ func (mx *Measurer) runAsync(ctx context.Context, sess model.ExperimentSession,
|
||||||
ctx, URL, measurex.NewHTTPRequestHeaderForMeasuring(), cookies)
|
ctx, URL, measurex.NewHTTPRequestHeaderForMeasuring(), cookies)
|
||||||
for m := range in {
|
for m := range in {
|
||||||
out <- &model.ExperimentAsyncTestKeys{
|
out <- &model.ExperimentAsyncTestKeys{
|
||||||
MeasurementRuntime: m.TotalRuntime.Seconds(),
|
|
||||||
TestKeys: &TestKeys{URLMeasurement: m},
|
|
||||||
Extensions: map[string]int64{
|
Extensions: map[string]int64{
|
||||||
archival.ExtHTTP.Name: archival.ExtHTTP.V,
|
archival.ExtHTTP.Name: archival.ExtHTTP.V,
|
||||||
archival.ExtDNS.Name: archival.ExtDNS.V,
|
archival.ExtDNS.Name: archival.ExtDNS.V,
|
||||||
|
@ -142,6 +140,9 @@ func (mx *Measurer) runAsync(ctx context.Context, sess model.ExperimentSession,
|
||||||
archival.ExtTCPConnect.Name: archival.ExtTCPConnect.V,
|
archival.ExtTCPConnect.Name: archival.ExtTCPConnect.V,
|
||||||
archival.ExtTLSHandshake.Name: archival.ExtTLSHandshake.V,
|
archival.ExtTLSHandshake.Name: archival.ExtTLSHandshake.V,
|
||||||
},
|
},
|
||||||
|
Input: model.MeasurementTarget(m.URL),
|
||||||
|
MeasurementRuntime: m.TotalRuntime.Seconds(),
|
||||||
|
TestKeys: &TestKeys{URLMeasurement: m},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,14 +24,17 @@ type ExperimentSession interface {
|
||||||
// ExperimentAsyncTestKeys is the type of test keys returned by an experiment
|
// ExperimentAsyncTestKeys is the type of test keys returned by an experiment
|
||||||
// when running in async fashion rather than in sync fashion.
|
// when running in async fashion rather than in sync fashion.
|
||||||
type ExperimentAsyncTestKeys struct {
|
type ExperimentAsyncTestKeys struct {
|
||||||
|
// Extensions contains the extensions used by this experiment.
|
||||||
|
Extensions map[string]int64
|
||||||
|
|
||||||
|
// Input is the input this measurement refers to.
|
||||||
|
Input MeasurementTarget
|
||||||
|
|
||||||
// MeasurementRuntime is the total measurement runtime.
|
// MeasurementRuntime is the total measurement runtime.
|
||||||
MeasurementRuntime float64
|
MeasurementRuntime float64
|
||||||
|
|
||||||
// TestKeys contains the actual test keys.
|
// TestKeys contains the actual test keys.
|
||||||
TestKeys interface{}
|
TestKeys interface{}
|
||||||
|
|
||||||
// Extensions contains the extensions used by this experiment.
|
|
||||||
Extensions map[string]int64
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ExperimentMeasurerAsync is a measurer that can run in async fashion.
|
// ExperimentMeasurerAsync is a measurer that can run in async fashion.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user