fix(webconnectivity): expose network events (#258)
* fix(webconnectivity): expose network events By not exposing network events in webconnectivity, we are missing several interesting, explanatory data points. This diff fixes the issue by: 1. enriching the definition of network events to include extra data useful for performing (manual) data analysis; 2. adding a tags field to network events such that we can add tags to specific events and understand where they come from; 3. exposing all the (tagged) network events that happen when running a webconnectivity experiment. See https://github.com/ooni/probe-engine/issues/1157. * progress * more work towards landing this diff * Apply suggestions from code review
This commit is contained in:
parent
70d7c1a22c
commit
fc19c9901a
6 changed files with 67 additions and 16 deletions
|
|
@ -5,6 +5,7 @@ import (
|
|||
"fmt"
|
||||
"net/url"
|
||||
"sort"
|
||||
"time"
|
||||
|
||||
"github.com/ooni/probe-cli/v3/internal/engine/experiment/urlgetter"
|
||||
"github.com/ooni/probe-cli/v3/internal/engine/model"
|
||||
|
|
@ -12,6 +13,7 @@ import (
|
|||
|
||||
// DNSLookupConfig contains settings for the DNS lookup.
|
||||
type DNSLookupConfig struct {
|
||||
Begin time.Time
|
||||
Session model.ExperimentSession
|
||||
URL *url.URL
|
||||
}
|
||||
|
|
@ -27,7 +29,8 @@ type DNSLookupResult struct {
|
|||
func DNSLookup(ctx context.Context, config DNSLookupConfig) (out DNSLookupResult) {
|
||||
target := fmt.Sprintf("dnslookup://%s", config.URL.Hostname())
|
||||
config.Session.Logger().Infof("%s...", target)
|
||||
result, err := urlgetter.Getter{Session: config.Session, Target: target}.Get(ctx)
|
||||
result, err := urlgetter.Getter{
|
||||
Begin: config.Begin, Session: config.Session, Target: target}.Get(ctx)
|
||||
out.Addrs = make(map[string]int64)
|
||||
for _, query := range result.Queries {
|
||||
for _, answer := range query.Answers {
|
||||
|
|
|
|||
Loading…
Reference in a new issue