expframework

package module
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 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