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

expframework

package module
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2026 License: MIT Imports: 10 Imported by: 0

README

expframework

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFileLogHandler

func NewFileLogHandler(path string) (slog.Handler, error)

Types

type ExperimentConfig

type ExperimentConfig struct {
	BaseDirectory           string
	TemplateHelper          *template.Helper
	SessionIdTemplateString string
	TrialIdTemplateString   string
}

type ExperimentContext

type ExperimentContext[SessionProperties Properties, TrialProperties Properties] struct {
	// contains filtered or unexported fields
}

func NewExperimentContext

func NewExperimentContext[SessionProperties Properties, TrialProperties Properties](cfg ExperimentConfig) *ExperimentContext[SessionProperties, TrialProperties]

func (*ExperimentContext[SessionProperties, TrialProperties]) CurrentSession

func (context *ExperimentContext[SessionProperties, TrialProperties]) CurrentSession() *SessionContext[SessionProperties, TrialProperties]

func (*ExperimentContext[SessionProperties, TrialProperties]) StartSession

func (context *ExperimentContext[SessionProperties, TrialProperties]) StartSession(properties SessionProperties) (*SessionContext[SessionProperties, TrialProperties], error)

type Properties

type Properties interface {
	LogAttrs() []slog.Attr
	LogArgs() []any
}

type SessionContext

type SessionContext[SessionProperties Properties, TrialProperties Properties] struct {
	// contains filtered or unexported fields
}

func (*SessionContext[SessionProperties, TrialProperties]) BaseDirectory

func (context *SessionContext[SessionProperties, TrialProperties]) BaseDirectory() string

func (*SessionContext[SessionProperties, TrialProperties]) Close

func (context *SessionContext[SessionProperties, TrialProperties]) Close() error

func (*SessionContext[SessionProperties, TrialProperties]) CurrentTrial

func (context *SessionContext[SessionProperties, TrialProperties]) CurrentTrial() *TrialContext[SessionProperties, TrialProperties]

func (*SessionContext[SessionProperties, TrialProperties]) Info

func (context *SessionContext[SessionProperties, TrialProperties]) Info() SessionInfo[SessionProperties]

func (*SessionContext[SessionProperties, TrialProperties]) LogHandler

func (context *SessionContext[SessionProperties, TrialProperties]) LogHandler() slog.Handler

func (*SessionContext[SessionProperties, TrialProperties]) Logger

func (context *SessionContext[SessionProperties, TrialProperties]) Logger() *slog.Logger

func (*SessionContext[SessionProperties, TrialProperties]) StartTrial

func (context *SessionContext[SessionProperties, TrialProperties]) StartTrial(trialNumber int, properties TrialProperties) (*TrialContext[SessionProperties, TrialProperties], error)

type SessionInfo

type SessionInfo[SessionProperties Properties] struct {
	Id         string            `json:"id,omitempty"`
	StartTime  time.Time         `json:"startTime,omitzero"`
	EndTime    time.Time         `json:"endTime,omitzero"`
	Properties SessionProperties `json:"properties,omitempty"`
}

type TemplateData

type TemplateData[SessionProperties Properties, TrialProperties Properties] struct {
	SessionInfo *SessionInfo[SessionProperties]
	TrialInfo   *TrialInfo[TrialProperties]
}

type TrialContext

type TrialContext[SessionProperties Properties, TrialProperties Properties] struct {
	// contains filtered or unexported fields
}

func (*TrialContext[SessionProperties, TrialProperties]) AddCloser

func (context *TrialContext[SessionProperties, TrialProperties]) AddCloser(closer io.Closer)

func (*TrialContext[SessionProperties, TrialProperties]) BaseDirectory

func (context *TrialContext[SessionProperties, TrialProperties]) BaseDirectory() string

func (*TrialContext[SessionProperties, TrialProperties]) Close

func (context *TrialContext[SessionProperties, TrialProperties]) Close() error

func (*TrialContext[SessionProperties, TrialProperties]) Info

func (context *TrialContext[SessionProperties, TrialProperties]) Info() TrialInfo[TrialProperties]

func (*TrialContext[SessionProperties, TrialProperties]) Logger

func (context *TrialContext[SessionProperties, TrialProperties]) Logger() *slog.Logger

func (*TrialContext[SessionProperties, TrialProperties]) Parent

func (context *TrialContext[SessionProperties, TrialProperties]) Parent() *SessionContext[SessionProperties, TrialProperties]

type TrialInfo

type TrialInfo[TrialProperties Properties] struct {
	TrialNumber int             `json:"trialNumber,omitempty"`
	Id          string          `json:"id,omitempty"`
	StartTime   time.Time       `json:"startTime,omitzero"`
	EndTime     time.Time       `json:"endTime,omitzero"`
	Properties  TrialProperties `json:"properties,omitempty"`
}

Directories

Path Synopsis
web

Jump to

Keyboard shortcuts

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