This section is empty.


This section is empty.


func MakeBatchConfig

func MakeBatchConfig(conf Config) client.BatchPointsConfig

func MakeClient

func MakeClient(conf Config) (client.Client, error)

func MakeFieldKinds

func MakeFieldKinds(conf Config) (map[string]FieldKind, error)

    MakeFieldKinds reads the Config and returns a lookup map of tag names to the field type their values should be converted to.


    type Collector

    type Collector struct {
    	Client    client.Client
    	Config    Config
    	BatchConf client.BatchPointsConfig
    	// contains filtered or unexported fields

    func New

    func New(logger logrus.FieldLogger, conf Config) (*Collector, error)

      New returns new influxdb collector

      func (*Collector) Collect

      func (c *Collector) Collect(scs []stats.SampleContainer)

      func (*Collector) Format

      func (c *Collector) Format(samples []stats.Sample) ([]string, error)

        Format returns a string array of metrics in influx line-protocol

        func (*Collector) GetRequiredSystemTags

        func (c *Collector) GetRequiredSystemTags() stats.SystemTagSet

          GetRequiredSystemTags returns which sample tags are needed by this collector

          func (*Collector) Init

          func (c *Collector) Init() error
          func (c *Collector) Link() string

          func (*Collector) Run

          func (c *Collector) Run(ctx context.Context)

          func (*Collector) SetRunStatus

          func (c *Collector) SetRunStatus(status lib.RunStatus)

            SetRunStatus does nothing in the InfluxDB collector

            type Config

            type Config struct {
            	// Connection.
            	Addr             null.String        `json:"addr" envconfig:"K6_INFLUXDB_ADDR"`
            	Username         null.String        `json:"username,omitempty" envconfig:"K6_INFLUXDB_USERNAME"`
            	Password         null.String        `json:"password,omitempty" envconfig:"K6_INFLUXDB_PASSWORD"`
            	Insecure         null.Bool          `json:"insecure,omitempty" envconfig:"K6_INFLUXDB_INSECURE"`
            	PayloadSize      null.Int           `json:"payloadSize,omitempty" envconfig:"K6_INFLUXDB_PAYLOAD_SIZE"`
            	PushInterval     types.NullDuration `json:"pushInterval,omitempty" envconfig:"K6_INFLUXDB_PUSH_INTERVAL"`
            	ConcurrentWrites null.Int           `json:"concurrentWrites,omitempty" envconfig:"K6_INFLUXDB_CONCURRENT_WRITES"`
            	// Samples.
            	DB           null.String `json:"db" envconfig:"K6_INFLUXDB_DB"`
            	Precision    null.String `json:"precision,omitempty" envconfig:"K6_INFLUXDB_PRECISION"`
            	Retention    null.String `json:"retention,omitempty" envconfig:"K6_INFLUXDB_RETENTION"`
            	Consistency  null.String `json:"consistency,omitempty" envconfig:"K6_INFLUXDB_CONSISTENCY"`
            	TagsAsFields []string    `json:"tagsAsFields,omitempty" envconfig:"K6_INFLUXDB_TAGS_AS_FIELDS"`

            func NewConfig

            func NewConfig() *Config

            func ParseArg

            func ParseArg(arg string) (Config, error)

              ParseArg parses an argument string into a Config

              func ParseMap

              func ParseMap(m map[string]interface{}) (Config, error)

                ParseMap parses a map[string]interface{} into a Config

                func ParseURL

                func ParseURL(text string) (Config, error)

                func (Config) Apply

                func (c Config) Apply(cfg Config) Config

                type FieldKind

                type FieldKind int

                  FieldKind defines Enum for tag-to-field type conversion

                  const (
                  	// String field (default)
                  	String FieldKind = iota
                  	// Int field
                  	// Float field
                  	// Bool field