experimental

package
v0.45.0 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2023 License: AGPL-3.0 Imports: 5 Imported by: 0

README

Experimental Modules

This folder are here as a documentation and reference point for k6's experimental modules.

Although accessible in k6 scripts under the k6/experimental import path, those modules implementations live in their own repository and are not part of the k6 stable release yet:

While we intend to keep these modules as stable as possible, we may need to add features or introduce breaking changes. This could happen at any time until we release the module as stable. use them at your own risk.

Upgrading

Experimental modules are based on xk6-extensions, and they introduce a cycle dependency between k6 and the extension. When upgrading an extension's version, it's required to run the following steps:

  1. Get the feature branch ready to be merged. Note: from the next step rebasing of the feature branch should be denied; otherwise, the commit will be lost and the relative dependencies will be broken.
  2. Make a commit in the feature branch that removes the extension package (and any other problematic experimental modules).
  3. Make a PR in the extension's repository and merge it in its main branch that updates the k6 dependency to the commit generated at the previous point.
  4. Tag the newly merged commit creating a new version.
  5. Make another commit in the feature branch on k6 repository that re-adds this latest version of the extension.
  6. Merge the whole feature branch in k6 master with a Merge commit (Create a merge commit button on GitHub). It will guarantee that the commit used by the extension is preserved.

Documentation

Overview

Package experimental includes experimental module features

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ModuleInstance

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

ModuleInstance represents an instance of the experimental module

func (*ModuleInstance) Exports

func (mi *ModuleInstance) Exports() modules.Exports

Exports returns the exports of the experimental module

type RootModule

type RootModule struct{}

RootModule is the root experimental module

func New

func New() *RootModule

New returns a new RootModule.

func (*RootModule) NewModuleInstance

func (*RootModule) NewModuleInstance(m modules.VU) modules.Instance

NewModuleInstance implements modules.Module interface

Directories

Path Synopsis
Package browser contains a RootModule wrapper that wraps around the experimental browser RootModule.
Package browser contains a RootModule wrapper that wraps around the experimental browser RootModule.
Package tracing implements a k6 JS module for instrumenting k6 scripts with tracing context information.
Package tracing implements a k6 JS module for instrumenting k6 scripts with tracing context information.

Jump to

Keyboard shortcuts

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