js

package
v0.33.0 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2021 License: AGPL-3.0 Imports: 38 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActiveVU added in v0.27.0

type ActiveVU struct {
	*VU
	*lib.VUActivationParams
	// contains filtered or unexported fields
}

ActiveVU holds a VU and its activation parameters

func (*ActiveVU) RunOnce added in v0.27.0

func (u *ActiveVU) RunOnce() error

RunOnce runs the configured Exec function once.

type Bundle added in v0.13.0

type Bundle struct {
	Filename *url.URL
	Source   string
	Program  *goja.Program
	Options  lib.Options

	BaseInitContext *InitContext

	RuntimeOptions    lib.RuntimeOptions
	CompatibilityMode lib.CompatibilityMode // parsed value
	// contains filtered or unexported fields
}

A Bundle is a self-contained bundle of scripts and resources. You can use this to produce identical BundleInstance objects.

func NewBundle added in v0.13.0

func NewBundle(
	logger logrus.FieldLogger, src *loader.SourceData, filesystems map[string]afero.Fs, rtOpts lib.RuntimeOptions,
) (*Bundle, error)

NewBundle creates a new bundle from a source file and a filesystem.

func NewBundleFromArchive added in v0.15.0

func NewBundleFromArchive(logger logrus.FieldLogger, arc *lib.Archive, rtOpts lib.RuntimeOptions) (*Bundle, error)

NewBundleFromArchive creates a new bundle from an lib.Archive.

func (*Bundle) Instantiate added in v0.13.0

func (b *Bundle) Instantiate(logger logrus.FieldLogger, vuID uint64) (bi *BundleInstance, instErr error)

Instantiate creates a new runtime from this bundle.

type BundleInstance added in v0.13.0

type BundleInstance struct {
	Runtime *goja.Runtime
	Context *context.Context
	// contains filtered or unexported fields
}

A BundleInstance is a self-contained instance of a Bundle.

type InitContext added in v0.13.0

type InitContext struct {
	// contains filtered or unexported fields
}

InitContext provides APIs for use in the init context.

TODO: refactor most/all of this state away, use common.InitEnvironment instead

func NewInitContext added in v0.13.0

func NewInitContext(
	logger logrus.FieldLogger, rt *goja.Runtime, c *compiler.Compiler, compatMode lib.CompatibilityMode,
	ctxPtr *context.Context, filesystems map[string]afero.Fs, pwd *url.URL,
) *InitContext

NewInitContext creates a new initcontext with the provided arguments

func (*InitContext) Open added in v0.13.0

func (i *InitContext) Open(ctx context.Context, filename string, args ...string) (goja.Value, error)

Open implements open() in the init context and will read and return the contents of a file. If the second argument is "b" it returns an ArrayBuffer instance, otherwise a string representation.

func (*InitContext) Require added in v0.13.0

func (i *InitContext) Require(arg string) goja.Value

Require is called when a module/file needs to be loaded by a script

type Runner

type Runner struct {
	Bundle *Bundle
	Logger *logrus.Logger

	BaseDialer net.Dialer
	Resolver   netext.Resolver
	// TODO: Remove ActualResolver, it's a hack to simplify mocking in tests.
	ActualResolver netext.MultiResolver
	RPSLimit       *rate.Limiter
	// contains filtered or unexported fields
}

func New

func New(
	logger *logrus.Logger, src *loader.SourceData, filesystems map[string]afero.Fs, rtOpts lib.RuntimeOptions,
) (*Runner, error)

New returns a new Runner for the provide source

func NewFromArchive added in v0.15.0

func NewFromArchive(logger *logrus.Logger, arc *lib.Archive, rtOpts lib.RuntimeOptions) (*Runner, error)

NewFromArchive returns a new Runner from the source in the provided archive

func (*Runner) GetDefaultGroup added in v0.5.0

func (r *Runner) GetDefaultGroup() *lib.Group

func (*Runner) GetOptions

func (r *Runner) GetOptions() lib.Options

func (*Runner) GetSetupData added in v0.21.0

func (r *Runner) GetSetupData() []byte

GetSetupData returns the setup data as json if Setup() was specified and executed, nil otherwise

func (*Runner) HandleSummary added in v0.32.0

func (r *Runner) HandleSummary(ctx context.Context, summary *lib.Summary) (map[string]io.Reader, error)

HandleSummary calls the specified summary callback, if supplied.

func (*Runner) IsExecutable added in v0.27.0

func (r *Runner) IsExecutable(name string) bool

IsExecutable returns whether the given name is an exported and executable function in the script.

func (*Runner) MakeArchive added in v0.15.0

func (r *Runner) MakeArchive() *lib.Archive

func (*Runner) NewVU

func (r *Runner) NewVU(idLocal, idGlobal uint64, samplesOut chan<- stats.SampleContainer) (lib.InitializedVU, error)

NewVU returns a new initialized VU.

func (*Runner) SetOptions added in v0.18.1

func (r *Runner) SetOptions(opts lib.Options) error

func (*Runner) SetSetupData added in v0.21.0

func (r *Runner) SetSetupData(data []byte)

SetSetupData saves the externally supplied setup data as json in the runner, so it can be used in VUs

func (*Runner) Setup added in v0.20.0

func (r *Runner) Setup(ctx context.Context, out chan<- stats.SampleContainer) error

Setup runs the setup function if there is one and sets the setupData to the returned value

func (*Runner) Teardown added in v0.20.0

func (r *Runner) Teardown(ctx context.Context, out chan<- stats.SampleContainer) error

type VU

type VU struct {
	BundleInstance

	Runner    *Runner
	Transport *http.Transport
	Dialer    *netext.Dialer
	CookieJar *cookiejar.Jar
	TLSConfig *tls.Config
	ID        uint64 // local to the current instance
	IDGlobal  uint64 // global across all instances

	Console *console
	BPool   *bpool.BufferPool

	Samples chan<- stats.SampleContainer
	// contains filtered or unexported fields
}

func (*VU) Activate added in v0.27.0

func (u *VU) Activate(params *lib.VUActivationParams) lib.ActiveVU

Activate the VU so it will be able to run code.

func (*VU) GetID added in v0.27.0

func (u *VU) GetID() uint64

GetID returns the unique VU ID.

Directories

Path Synopsis
k6
k6/html
generated by js/modules/k6/html/gen/gen_elements.go directed by js/modules/k6/html/elements.go; DO NOT EDIT nolint: goconst
generated by js/modules/k6/html/gen/gen_elements.go directed by js/modules/k6/html/elements.go; DO NOT EDIT nolint: goconst

Jump to

Keyboard shortcuts

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