Documentation ¶
Overview ¶
Package schema generated by go-bindata.// sources: descriptions/NDT5ResultRow.yaml descriptions/NDT7ResultRow.yaml descriptions/PTTest.yaml descriptions/README.md descriptions/TCPRow.yaml descriptions/toplevel.yaml
This files contains schema for Paris TraceRoute tests.
This files contains schema for SideStream tests. Any changes here should also be made in ss.json
The schema package provides an interface for the flexible map-based full schema for web100 tests.
Index ¶
- func Asset(name string) ([]byte, error)
- func AssetDir(name string) ([]string, error)
- func AssetInfo(name string) (os.FileInfo, error)
- func AssetNames() []string
- func FindSchemaDocsFor(value interface{}) []bqx.SchemaDoc
- func MustAsset(name string) []byte
- func RestoreAsset(dir, name string) error
- func RestoreAssets(dir, name string) error
- type AnnotationRow
- type ClientInfo
- type HopIP
- type HopLink
- type HopProbe
- type NDT5ResultRow
- type NDT7ResultRow
- type NDT7Summary
- type PTTest
- func (row *PTTest) AnnotateClients(annMap map[string]*api.Annotations) error
- func (row *PTTest) AnnotateHops(annMap map[string]*api.Annotations) error
- func (row *PTTest) AnnotateServer(local *api.Annotations) error
- func (row *PTTest) GetClientIPs() []string
- func (row *PTTest) GetLogTime() time.Time
- func (row *PTTest) GetServerIP() string
- func (row *PTTest) Schema() (bigquery.Schema, error)
- type ParseInfo
- type ParseInfoV0
- type SS
- type Sample
- type ScamperHop
- type ServerInfo
- type SwitchStats
- type TCPRow
- func (row *TCPRow) AnnotateClients(annMap map[string]*api.Annotations) error
- func (row *TCPRow) AnnotateServer(local *api.Annotations) error
- func (row *TCPRow) CopySocketInfo()
- func (row *TCPRow) GetClientIPs() []string
- func (row *TCPRow) GetLogTime() time.Time
- func (row *TCPRow) GetServerIP() string
- func (row *TCPRow) Save() (map[string]bigquery.Value, string, error)
- func (row *TCPRow) Schema() (bigquery.Schema, error)
- type Web100ConnectionSpecification
- type Web100LogEntry
- type Web100Snap
- type Web100ValueMap
- func EmptyConnectionSpec() Web100ValueMap
- func EmptyGeolocation() Web100ValueMap
- func EmptySnap() Web100ValueMap
- func EmptySnap10() Web100ValueMap
- func FullConnectionSpec() Web100ValueMap
- func FullGeolocation() Web100ValueMap
- func NewWeb100FullRecord(version string, logTime int64, connSpec, snapValues map[string]bigquery.Value) Web100ValueMap
- func NewWeb100MinimalRecord(version string, logTime int64, connSpec, snapValues Web100ValueMap, ...) Web100ValueMap
- func NewWeb100Skeleton() Web100ValueMap
- func (vm Web100ValueMap) Get(name string) Web100ValueMap
- func (vm Web100ValueMap) GetInt64(path []string) (int64, bool)
- func (vm Web100ValueMap) GetMap(path []string) Web100ValueMap
- func (vm Web100ValueMap) GetString(path []string) (string, bool)
- func (s Web100ValueMap) Save() (row map[string]bigquery.Value, insertID string, err error)
- func (s Web100ValueMap) SetBool(name string, value bool)
- func (s Web100ValueMap) SetInt64(name string, value int64)
- func (s Web100ValueMap) SetString(name string, value string)
- func (r Web100ValueMap) SubstituteInt64(overwrite bool, target []string, source []string)
- func (r Web100ValueMap) SubstituteString(overwrite bool, target []string, source []string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Asset ¶
Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.
func AssetDir ¶
AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:
data/ foo.txt img/ a.png b.png
then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("nonexistent") would return an error AssetDir("") will return []string{"data"}.
func AssetInfo ¶
AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.
func FindSchemaDocsFor ¶
FindSchemaDocsFor should be used by parser row types to associate bigquery field descriptions with a schema generated from a row type.
func MustAsset ¶
MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.
func RestoreAsset ¶
RestoreAsset restores an asset under the given directory
func RestoreAssets ¶
RestoreAssets restores an asset under the given directory recursively
Types ¶
type AnnotationRow ¶
type AnnotationRow struct { UUID string `bigquery:"id" json:"id"` // NOTE: there is no 'a' record for AnnotationRows. Server annotator.ServerAnnotations `bigquery:"server" json:"server"` Client annotator.ClientAnnotations `bigquery:"client" json:"client"` Parser ParseInfo `bigquery:"parser" json:"parser"` Date civil.Date `bigquery:"date" json:"date"` // NOT part of struct schema. Included only to provide a fake annotator interface. row.NullAnnotator `bigquery:"-"` }
AnnotationRow defines the BQ schema using 'Standard Columns' conventions for the annotation datatype produced by the uuid-annotator.
type ClientInfo ¶
type ClientInfo struct { IP string Port uint16 Geo *api.GeolocationIP Network *api.ASData // NOTE: dominant ASN is available at top level. }
ClientInfo details various information about the client.
type NDT5ResultRow ¶
type NDT5ResultRow struct { ParseInfo *ParseInfoV0 TestID string `json:"test_id,string" bigquery:"test_id"` LogTime int64 `json:"log_time,int64" bigquery:"log_time"` Result data.NDT5Result `json:"result" bigquery:"result"` // NOT part of struct schema. Included only to provide a fake annotator interface. row.NullAnnotator `bigquery:"-"` }
NDT5ResultRow defines the BQ schema for the data.NDT5Result produced by the ndt-server for NDT client measurements.
type NDT7ResultRow ¶
type NDT7ResultRow struct { ID string `bigquery:"id"` A NDT7Summary `bigquery:"a"` Parser ParseInfo `bigquery:"parser"` Date civil.Date `bigquery:"date"` Raw data.NDT7Result `bigquery:"raw"` // NOT part of struct schema. Included only to provide a fake annotator interface. row.NullAnnotator `bigquery:"-"` }
NDT7ResultRow defines the BQ schema using 'Standard Columns' conventions for the data.NDT7Result produced by the ndt-server for NDT7 client measurements.
type NDT7Summary ¶
type NDT7Summary struct { UUID string TestTime time.Time CongestionControl string MeanThroughputMbps float64 MinRTT float64 LossRate float64 }
NDT7Summary contains fields summarizing or derived from the raw data.
type PTTest ¶
type PTTest struct { UUID string `json:"uuid,string" bigquery:"uuid"` TestTime time.Time `json:"testtime"` Parseinfo ParseInfoV0 `json:"parseinfo"` StartTime int64 `json:"start_time,int64" bigquery:"start_time"` StopTime int64 `json:"stop_time,int64" bigquery:"stop_time"` ScamperVersion string `json:"scamper_version,string" bigquery:"scamper_version"` Source ServerInfo `json:"source"` Destination ClientInfo `json:"destination"` ProbeSize int64 `json:"probe_size,int64"` ProbeC int64 `json:"probec,int64"` Hop []ScamperHop `json:"hop"` ExpVersion string `json:"exp_version,string" bigquery:"exp_version"` CachedResult bool `json:"cached_result,bool" bigquery:"cached_result"` }
func (*PTTest) AnnotateClients ¶
func (row *PTTest) AnnotateClients(annMap map[string]*api.Annotations) error
AnnotateClients adds the client annotations. See parser.Annotatable annMap must not be null
func (*PTTest) AnnotateHops ¶
func (row *PTTest) AnnotateHops(annMap map[string]*api.Annotations) error
func (*PTTest) AnnotateServer ¶
func (row *PTTest) AnnotateServer(local *api.Annotations) error
AnnotateServer adds the server annotations. See parser.Annotatable local must not be nil
func (*PTTest) GetClientIPs ¶
GetClientIPs returns the client (remote) IP for annotation. See parser.Annotatable
func (*PTTest) GetLogTime ¶
GetLogTime returns the timestamp that should be used for annotation.
func (*PTTest) GetServerIP ¶
GetServerIP returns the server (local) IP for annotation. See parser.Annotatable
type ParseInfo ¶
type ParseInfo struct { Version string Time time.Time ArchiveURL string Filename string Priority int64 }
ParseInfo provides details about the parsed row. Uses 'Standard Column' names.
type ParseInfoV0 ¶
type ParseInfoV0 struct { TaskFileName string // The tar file containing this test. ParseTime time.Time ParserVersion string Filename string }
ParseInfoV0 provides details about the parsing of this row.
type SS ¶
type SS struct { TestID string `json:"test_id,string" bigquery:"test_id"` Project int64 `json:"project,int64" bigquery:"project"` LogTime int64 `json:"log_time,int64" bigquery:"log_time"` ParseTime time.Time `bigquery:"parse_time" bigquery:"parse_time"` ParserVersion string `bigquery:"parser_version" bigquery:"parser_version"` TaskFileName string `bigquery:"task_filename" bigquery:"task_filename"` Type int64 `json:"type,int64"` Web100_log_entry Web100LogEntry `json:"web100_log_entry"` }
func (*SS) AnnotateClients ¶
func (ss *SS) AnnotateClients(annMap map[string]*api.Annotations) error
AnnotateClients adds the client annotations. See parser.Annotatable
func (*SS) AnnotateServer ¶
func (ss *SS) AnnotateServer(local *api.Annotations) error
AnnotateServer adds the server annotations. See parser.Annotatable
func (*SS) GetClientIPs ¶
GetClientIPs returns the client (remote) IP for annotation. See parser.Annotatable
func (*SS) GetLogTime ¶
GetLogTime returns the timestamp that should be used for annotation.
func (*SS) GetServerIP ¶
GetServerIP returns the server (local) IP for annotation. See parser.Annotatable
type Sample ¶
type Sample struct { Timestamp int64 `json:"timestamp,int64" bigquery:"timestamp"` Value float32 `json:"value,float32" bigquery:"value"` }
Sample is an individual measurement taken by DISCO.
type ScamperHop ¶
type ServerInfo ¶
type ServerInfo struct { IP string Port uint16 IATA string Geo *api.GeolocationIP Network *api.ASData // NOTE: dominant ASN is available at top level. }
ServerInfo details various information about the server.
type SwitchStats ¶
type SwitchStats struct { TaskFilename string `json:"task_filename,string" bigquery:"task_filename"` TestID string `json:"test_id,string" bigquery:"test_id"` ParseTime time.Time `json:"parse_time" bigquery:"parse_time"` ParserVersion string `json:"parser_version,string" bigquery:"parser_version"` LogTime int64 `json:"log_time,int64" bigquery:"log_time"` Sample []Sample `json:"sample" bigquery:"sample"` Metric string `json:"metric" bigquery:"metric"` Hostname string `json:"hostname" bigquery:"hostname"` Experiment string `json:"experiment" bigquery:"experiment"` }
SwitchStats represents a row of data taken from the raw DISCO export file.
func (*SwitchStats) Size ¶
func (s *SwitchStats) Size() int
Size estimates the number of bytes in the SwitchStats object.
type TCPRow ¶
type TCPRow struct { UUID string // Top level just because TestTime time.Time // Must be top level for partitioning ClientASN uint32 // Top level for clustering ServerASN uint32 // Top level for clustering ParseInfo *ParseInfoV0 SockID inetdiag.SockID Server *ServerInfo Client *ClientInfo FinalSnapshot *snapshot.Snapshot Snapshots []*snapshot.Snapshot }
TCPRow describes a single BQ row of TCPInfo data.
func (*TCPRow) AnnotateClients ¶
func (row *TCPRow) AnnotateClients(annMap map[string]*api.Annotations) error
AnnotateClients adds the client annotations. See parser.Annotatable annMap must not be null
func (*TCPRow) AnnotateServer ¶
func (row *TCPRow) AnnotateServer(local *api.Annotations) error
AnnotateServer adds the server annotations. See parser.Annotatable local must not be nil
func (*TCPRow) CopySocketInfo ¶
func (row *TCPRow) CopySocketInfo()
CopySocketInfo creates ServerInfo and ClientInfo with IP and port. Should only be called after SockID is populated.
func (*TCPRow) GetClientIPs ¶
GetClientIPs returns the client (remote) IP for annotation. See parser.Annotatable
func (*TCPRow) GetLogTime ¶
GetLogTime returns the timestamp that should be used for annotation.
func (*TCPRow) GetServerIP ¶
GetServerIP returns the server (local) IP for annotation. See parser.Annotatable
type Web100ConnectionSpecification ¶
type Web100ConnectionSpecification struct { Local_ip string `json:"local_ip,string"` Local_af int64 `json:"local_af,int64"` Local_port int64 `json:"local_port,int64"` Remote_ip string `json:"remote_ip,string"` Remote_port int64 `json:"remote_port,int64"` Local_geolocation api.GeolocationIP `json:"local_geolocation"` Remote_geolocation api.GeolocationIP `json:"remote_geolocation"` }
type Web100LogEntry ¶
type Web100LogEntry struct { LogTime int64 `json:"log_time,int64" bigquery:"log_time"` Version string `json:"version,string"` Group_name string `json:"group_name,string"` Connection_spec Web100ConnectionSpecification `json:"connection_spec"` Snap Web100Snap `json:"snap"` }
type Web100Snap ¶
type Web100Snap struct { AbruptTimeouts int64 `json:"AbruptTimeouts,int64"` ActiveOpen int64 `json:"ActiveOpen,int64"` CERcvd int64 `json:"CERcvd,int64"` CongAvoid int64 `json:"CongAvoid,int64"` CongOverCount int64 `json:"CongOverCount,int64"` CongSignals int64 `json:"CongSignals,int64"` CountRTT int64 `json:"CountRTT,int64"` CurAppRQueue int64 `json:"CurAppRQueue,int64"` CurAppWQueue int64 `json:"CurAppWQueue,int64"` CurCwnd int64 `json:"CurCwnd,int64"` CurMSS int64 `json:"CurMSS,int64"` CurRTO int64 `json:"CurRTO,int64"` CurReasmQueue int64 `json:"CurReasmQueue,int64"` CurRetxQueue int64 `json:"CurRetxQueue,int64"` CurRwinRcvd int64 `json:"CurRwinRcvd,int64"` CurRwinSent int64 `json:"CurRwinSent,int64"` CurSsthresh int64 `json:"CurSsthresh,int64"` CurTimeoutCount int64 `json:"CurTimeoutCount,int64"` DSACKDups int64 `json:"DSACKDups,int64"` DataOctetsIn int64 `json:"DataOctetsIn,int64"` DataOctetsOut int64 `json:"DataOctetsOut,int64"` DataSegsIn int64 `json:"DataSegsIn,int64"` DataSegsOut int64 `json:"DataSegsOut,int64"` DupAckEpisodes int64 `json:"DupAckEpisodes,int64"` DupAcksIn int64 `json:"DupAcksIn,int64"` DupAcksOut int64 `json:"DupAcksOut,int64"` Duration int64 `json:"Duration,int64"` ECESent int64 `json:"ECESent,int64"` ECN int64 `json:"ECN,int64"` ECNNonceRcvd int64 `json:"ECNNonceRcvd,int64"` ECNsignals int64 `json:"ECNsignals,int64"` ElapsedMicroSecs int64 `json:"ElapsedMicroSecs,int64"` ElapsedSecs int64 `json:"ElapsedSecs,int64"` FastRetran int64 `json:"FastRetran,int64"` HCDataOctetsIn int64 `json:"HCDataOctetsIn,int64"` HCDataOctetsOut int64 `json:"HCDataOctetsOut,int64"` HCSumRTT int64 `json:"HCSumRTT,int64"` HCThruOctetsAcked int64 `json:"HCThruOctetsAcked,int64"` HCThruOctetsReceived int64 `json:"HCThruOctetsReceived,int64"` InRecovery int64 `json:"InRecovery,int64"` IpTosIn int64 `json:"IpTosIn,int64"` IpTosOut int64 `json:"IpTosOut,int64"` IpTtl int64 `json:"IpTtl,int64"` LimCwnd int64 `json:"LimCwnd,int64"` LimMSS int64 `json:"LimMSS,int64"` LimRwin int64 `json:"LimRwin,int64"` LimSsthresh int64 `json:"LimSsthresh,int64"` LocalAddress string `json:"LocalAddress,string"` LocalAddressType int64 `json:"LocalAddressType,int64"` LocalPort int64 `json:"LocalPort,int64"` MSSRcvd int64 `json:"MSSRcvd,int64"` MSSSent int64 `json:"MSSSent,int64"` MaxAppRQueue int64 `json:"MaxAppRQueue,int64"` MaxAppWQueue int64 `json:"MaxAppWQueue,int64"` MaxCaCwnd int64 `json:"MaxCaCwnd,int64"` MaxMSS int64 `json:"MaxMSS,int64"` MaxPipeSize int64 `json:"MaxPipeSize,int64"` MaxRTO int64 `json:"MaxRTO,int64"` MaxRTT int64 `json:"MaxRTT,int64"` MaxReasmQueue int64 `json:"MaxReasmQueue,int64"` MaxRetxQueue int64 `json:"MaxRetxQueue,int64"` MaxRwinRcvd int64 `json:"MaxRwinRcvd,int64"` MaxRwinSent int64 `json:"MaxRwinSent,int64"` MaxSsCwnd int64 `json:"MaxSsCwnd,int64"` MaxSsthresh int64 `json:"MaxSsthresh,int64"` MinMSS int64 `json:"MinMSS,int64"` MinRTO int64 `json:"MinRTO,int64"` MinRTT int64 `json:"MinRTT,int64"` MinRwinRcvd int64 `json:"MinRwinRcvd,int64"` MinRwinSent int64 `json:"MinRwinSent,int64"` MinSsthresh int64 `json:"MinSsthresh,int64"` Nagle int64 `json:"Nagle,int64"` NonRecovDA int64 `json:"NonRecovDA,int64"` NonRecovDAEpisodes int64 `json:"NonRecovDAEpisodes,int64"` OctetsRetrans int64 `json:"OctetsRetrans,int64"` OtherReductions int64 `json:"OtherReductions,int64"` PipeSize int64 `json:"PipeSize,int64"` PostCongCountRTT int64 `json:"PostCongCountRTT,int64"` PostCongSumRTT int64 `json:"PostCongSumRTT,int64"` PreCongSumCwnd int64 `json:"PreCongSumCwnd,int64"` PreCongSumRTT int64 `json:"PreCongSumRTT,int64"` QuenchRcvd int64 `json:"QuenchRcvd,int64"` RTTVar int64 `json:"RTTVar,int64"` RcvNxt int64 `json:"RcvNxt,int64"` RcvRTT int64 `json:"RcvRTT,int64"` RcvWindScale int64 `json:"RcvWindScale,int64"` RecInitial int64 `json:"RecInitial,int64"` RemAddress string `json:"RemAddress,string"` RemPort int64 `json:"RemPort,int64"` RetranThresh int64 `json:"RetranThresh,int64"` SACK int64 `json:"SACK,int64"` SACKBlocksRcvd int64 `json:"SACKBlocksRcvd,int64"` SACKsRcvd int64 `json:"SACKsRcvd,int64"` SampleRTT int64 `json:"SampleRTT,int64"` SegsIn int64 `json:"SegsIn,int64"` SegsOut int64 `json:"SegsOut,int64"` SegsRetrans int64 `json:"SegsRetrans,int64"` SendStall int64 `json:"SendStall,int64"` SlowStart int64 `json:"SlowStart,int64"` SmoothedRTT int64 `json:"SmoothedRTT,int64"` SndInitial int64 `json:"SndInitial,int64"` SndLimBytesCwnd int64 `json:"SndLimBytesCwnd,int64"` SndLimBytesRwin int64 `json:"SndLimBytesRwin,int64"` SndLimBytesSender int64 `json:"SndLimBytesSender,int64"` SndLimTimeCwnd int64 `json:"SndLimTimeCwnd,int64"` SndLimTimeRwin int64 `json:"SndLimTimeRwin,int64"` SndLimTimeSnd int64 `json:"SndLimTimeSnd,int64"` SndLimTransCwnd int64 `json:"SndLimTransCwnd,int64"` SndLimTransRwin int64 `json:"SndLimTransRwin,int64"` SndLimTransSnd int64 `json:"SndLimTransSnd,int64"` SndMax int64 `json:"SndMax,int64"` SndNxt int64 `json:"SndNxt,int64"` SndUna int64 `json:"SndUna,int64"` SndWindScale int64 `json:"SndWindScale,int64"` SoftErrorReason int64 `json:"SoftErrorReason,int64"` SoftErrors int64 `json:"SoftErrors,int64"` SpuriousFrDetected int64 `json:"SpuriousFrDetected,int64"` SpuriousRtoDetected int64 `json:"SpuriousRtoDetected,int64"` StartTimeStamp int64 `json:"StartTimeStamp,int64"` State int64 `json:"State,int64"` SubsequentTimeouts int64 `json:"SubsequentTimeouts,int64"` SumOctetsReordered int64 `json:"SumOctetsReordered,int64"` SumRTT int64 `json:"SumRTT,int64"` ThruOctetsAcked int64 `json:"ThruOctetsAcked,int64"` ThruOctetsReceived int64 `json:"ThruOctetsReceived,int64"` TimeStamps int64 `json:"TimeStamps,int64"` TimeStampRcvd bool `json:"TimeStampRcvd,bool"` TimeStampSent bool `json:"TimeStampSent,bool"` Timeouts int64 `json:"Timeouts,int64"` WAD_CwndAdjust int64 `json:"WAD_CwndAdjust,int64"` WAD_IFQ int64 `json:"WAD_IFQ,int64"` WAD_MaxBurst int64 `json:"WAD_MaxBurst,int64"` WAD_MaxSsthresh int64 `json:"WAD_MaxSsthresh,int64"` WAD_NoAI int64 `json:"WAD_NoAI,int64"` WillSendSACK int64 `json:"WillSendSACK,int64"` WillUseSACK int64 `json:"WillUseSACK,int64"` WinScaleRcvd int64 `json:"WinScaleRcvd,int64"` WinScaleSent int64 `json:"WinScaleSent,int64"` X_OtherReductionsCM int64 `json:"X_OtherReductionsCM,int64"` X_OtherReductionsCV int64 `json:"X_OtherReductionsCV,int64"` X_Rcvbuf int64 `json:"X_Rcvbuf,int64"` X_Sndbuf int64 `json:"X_Sndbuf,int64"` X_dbg1 int64 `json:"X_dbg1,int64"` X_dbg2 int64 `json:"X_dbg2,int64"` X_dbg3 int64 `json:"X_dbg3,int64"` X_dbg4 int64 `json:"X_dbg4,int64"` X_rcv_ssthresh int64 `json:"X_rcv_ssthresh,int64"` X_wnd_clamp int64 `json:"X_wnd_clamp,int64"` ZeroRwinRcvd int64 `json:"ZeroRwinRcvd,int64"` ZeroRwinSent int64 `json:"ZeroRwinSent,int64"` }
type Web100ValueMap ¶
Web100ValueMap implements the web100.Saver interface for recording web100 values.
func EmptyConnectionSpec ¶
func EmptyConnectionSpec() Web100ValueMap
func EmptyGeolocation ¶
func EmptyGeolocation() Web100ValueMap
func EmptySnap ¶
func EmptySnap() Web100ValueMap
func EmptySnap10 ¶
func EmptySnap10() Web100ValueMap
func FullConnectionSpec ¶
func FullConnectionSpec() Web100ValueMap
func FullGeolocation ¶
func FullGeolocation() Web100ValueMap
func NewWeb100FullRecord ¶
func NewWeb100FullRecord(version string, logTime int64, connSpec, snapValues map[string]bigquery.Value) Web100ValueMap
NewWeb100FullRecord creates a web100 value map with all supported fields. This is suitable when creating a schema definition for a new bigquery table.
func NewWeb100MinimalRecord ¶
func NewWeb100MinimalRecord(version string, logTime int64, connSpec, snapValues Web100ValueMap, deltas []Web100ValueMap) Web100ValueMap
NewWeb100MinimalRecord creates a web100 value map with only the given fields. All undefined fields will be set to null after a BQ insert.
func NewWeb100Skeleton ¶
func NewWeb100Skeleton() Web100ValueMap
NewWeb100Skeleton creates the tree structure, with no leaf fields.
func (Web100ValueMap) Get ¶
func (vm Web100ValueMap) Get(name string) Web100ValueMap
Get returns the contained map, or nil if it doesn't exist. This works for either Web100ValueMap or map[string]bigquery.Value
func (Web100ValueMap) GetInt64 ¶
func (vm Web100ValueMap) GetInt64(path []string) (int64, bool)
Get the int64 at a path in the nested map. Return value, true if found, or 0, false if not found.
func (Web100ValueMap) GetMap ¶
func (vm Web100ValueMap) GetMap(path []string) Web100ValueMap
Get the int64 at a path in the nested map. Return value or nil.
func (Web100ValueMap) GetString ¶
func (vm Web100ValueMap) GetString(path []string) (string, bool)
Get the string at a path in the nested map. Return value, true if found, or nil, false if not found.
func (Web100ValueMap) SetBool ¶
func (s Web100ValueMap) SetBool(name string, value bool)
SetBool saves a boolean in a field with the given name.
func (Web100ValueMap) SetInt64 ¶
func (s Web100ValueMap) SetInt64(name string, value int64)
SetInt64 saves an int64 in a field with the given name.
func (Web100ValueMap) SetString ¶
func (s Web100ValueMap) SetString(name string, value string)
SetString saves a string in a field with the given name.
func (Web100ValueMap) SubstituteInt64 ¶
func (r Web100ValueMap) SubstituteInt64(overwrite bool, target []string, source []string)
if overwrite is false, will only add missing values. if overwrite is true, will overwrite existing values.
func (Web100ValueMap) SubstituteString ¶
func (r Web100ValueMap) SubstituteString(overwrite bool, target []string, source []string)
if overwrite is false, will only add missing values. if overwrite is true, will overwrite existing values.