Versions in this module Expand all Collapse all v0 v0.2.1 Jun 26, 2021 Changes in this version + const Giga + const Mega + var ErrInvSnapInterval = errors.New("snapshot interval larger than trace file count") + var ErrOneSetEmpty = errors.New("cannot compute, at least one of the sets is empty") + func ComputeCorrelation(ctx context.Context, workerCount int, refereceTrace []float64, ...) ([]float64, error) + func GetAvailablePayloads() []string + func NormalizedCrossCorrelateFloat64(a []float64, b []float64) (float64, error) + func NormalizedCrossCorrelationBig(a []float64, b []float64) (*big.Float, error) + type ComputationRuntime struct + BufferSizeInGB int + ComputeWorkers int + DebugLog *log.Logger + ErrLog *log.Logger + InfoLog *log.Logger + MetrInputBufferFreeSlots prometheus.Gauge + MetrInputFileCount prometheus.Gauge + MetrMaxTestValue prometheus.Gauge + MetrProcessedFilesCount prometheus.Counter + MetrQQBufferFreeSlots prometheus.Gauge + MetrReadFilesCount prometheus.Counter + MetrSnapshotterDeltaShardQueueFreeSlots prometheus.Gauge + MetrSnapshotterWaitQueueSize prometheus.Gauge + MetrXCorrAgainstFixedPrefix prometheus.Gauge + MetrXCorrAgainstRandomPrefix prometheus.Gauge + MetricsRegistry *prometheus.Registry + SnapshotInterval int + SnapshotSaver SnapshotSaverFunc + WorkerPayloadCreator WorkerPayloadCreator + func NewComputationRuntime(computeWorkers, bufferSizeInGB, snapshotInterval int, wpc WorkerPayloadCreator, ...) (*ComputationRuntime, error) + func (config *ComputationRuntime) Run(ctx context.Context, traceSource traceSource.TraceBlockReader, ...) (WorkerPayload, error) + type Plotable interface + Plot func(values []float64, writer io.Writer) error + type SnapshotSaverFunc func(result []float64, rawSnapshot WorkerPayload, snapshotIDX int) error + type WelchTTest struct + func (bmv *WelchTTest) Decode(r io.Reader) error + func (bmv *WelchTTest) DeepCopy() WorkerPayload + func (bmv *WelchTTest) Encode(w io.Writer) error + func (bmv *WelchTTest) Finalize() ([]float64, error) + func (bmv *WelchTTest) MaxSubroutines() int + func (bmv *WelchTTest) Merge(other WorkerPayload) error + func (bmv *WelchTTest) Name() string + func (bmv *WelchTTest) Plot(values []float64, writer io.Writer) error + func (bmv *WelchTTest) Reset() + func (bmv *WelchTTest) Update(fixed, random [][]float64) + func (bmv *WelchTTest) WriteToCSV(w io.Writer) error + type WorkerPayload interface + Decode func(r io.Reader) error + DeepCopy func() WorkerPayload + Encode func(w io.Writer) error + Finalize func() ([]float64, error) + MaxSubroutines func() int + Merge func(other WorkerPayload) error + Name func() string + Reset func() + Update func(fixed, random [][]float64) + func NewWelchTTest(datapointsPerTrace int) WorkerPayload + type WorkerPayloadCreator func(datapointsPerTrace int) WorkerPayload + func GetWorkerPayloadCreator(name string) (WorkerPayloadCreator, error) + type WorkerPayloadPool struct + func NewWorkerPayloadPool(creator WorkerPayloadCreator, datapointsPerTrace int) *WorkerPayloadPool + func (wpp *WorkerPayloadPool) Get() WorkerPayload + func (wpp *WorkerPayloadPool) Put(wp WorkerPayload)