Help us shape the future of Go! Take the 2026 Go Developer Survey

storagecompare

package
v0.2.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 4, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package storagecompare runs the benchmark-only embedded storage spike.

Index

Constants

View Source
const (
	ReportSchemaVersion = 1
	ReportFileName      = "storage-comparison.json"
	StatusPassed        = "passed"
	StatusFailed        = "failed"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CorpusResult

type CorpusResult struct {
	Scenarios map[string]ScenarioSamples `json:"scenarios"`
}

type Correctness

type Correctness struct {
	Valid                    bool   `json:"valid"`
	GraphCountsEquivalent    bool   `json:"graph_counts_equivalent"`
	QuerySemanticsEquivalent bool   `json:"query_semantics_equivalent"`
	RestartResumePassed      bool   `json:"restart_resume_passed"`
	Reason                   string `json:"reason,omitempty"`
}

type EngineResult

type EngineResult struct {
	Storage     benchmark.Storage `json:"storage"`
	Correctness Correctness       `json:"correctness"`
	Generated   GeneratedResult   `json:"generated_fixture"`
	Corpus      CorpusResult      `json:"corpus"`
}

type GeneratedResult

type GeneratedResult struct {
	Counts            graph.Counts       `json:"counts"`
	QueryDigest       string             `json:"query_digest"`
	ColdPersistenceNS MetricSamples      `json:"cold_persistence_ns"`
	ReconciliationNS  MetricSamples      `json:"reconciliation_ns"`
	ColdTotalNS       MetricSamples      `json:"cold_total_ns"`
	DatabaseBytes     MetricSamples      `json:"database_bytes"`
	Writes            []graph.WriteStats `json:"writes"`
}

type Machine

type Machine struct {
	Hostname string `json:"hostname"`
	OS       string `json:"os"`
	Arch     string `json:"architecture"`
	Go       string `json:"go_version"`
	CPU      string `json:"cpu,omitempty"`
}

type MetricSamples

type MetricSamples struct {
	Raw           []int64 `json:"raw"`
	Median        int64   `json:"median"`
	RatioToSQLite float64 `json:"ratio_to_sqlite"`
}

type Options

type Options struct {
	Repository    string
	Output        string
	Samples       int
	GeneratedRows int
}

type Report

type Report struct {
	SchemaVersion        int                     `json:"schema_version"`
	GeneratedAt          string                  `json:"generated_at"`
	Status               string                  `json:"status"`
	Error                string                  `json:"error,omitempty"`
	Machine              Machine                 `json:"machine"`
	Samples              int                     `json:"samples"`
	GeneratedRows        int                     `json:"generated_rows"`
	GrafoCommit          string                  `json:"grafo_commit"`
	GrafoDirty           bool                    `json:"grafo_dirty"`
	SemanticIndexVersion string                  `json:"semantic_index_version"`
	GraphSchemaVersion   int                     `json:"graph_schema_version"`
	Corpus               benchmark.Corpus        `json:"corpus"`
	Inputs               benchmark.InputCoverage `json:"inputs"`
	Engines              []EngineResult          `json:"engines"`
	Artifact             string                  `json:"-"`
}

func Run

func Run(ctx context.Context, options Options) (report Report, resultErr error)

type ScenarioSamples

type ScenarioSamples struct {
	Counts            graph.Counts       `json:"counts"`
	TotalNS           MetricSamples      `json:"total_ns"`
	PersistenceNS     MetricSamples      `json:"persistence_ns"`
	ReconciliationNS  MetricSamples      `json:"reconciliation_ns"`
	DatabaseBytes     MetricSamples      `json:"database_bytes"`
	AuxiliaryLogBytes MetricSamples      `json:"auxiliary_log_bytes"`
	PeakRSSBytes      MetricSamples      `json:"peak_rss_bytes"`
	Writes            []graph.WriteStats `json:"writes"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL