Skip to content

Files

Latest commit

Nov 4, 2020
b556c3b · Nov 4, 2020

History

History
This branch is 2 commits ahead of, 25 commits behind master.

library

Flux as a Library Example

This folder contains a main.go file that shows how flux can be used as a library in your programs.

Components

The main components you need are:

  • A Flux Compiler to parse and generate the AST;
  • A Querier to send the query expressed in the AST;
  • A ResultEncoder to display results to humans;

What does this example do?

This example takes all the components described above from the Flux repo and uses them to compile, execute and print the results of this query.

import g "generate"
g.from(start: 1993-02-16T00:00:00Z, stop: 1993-02-16T00:03:00Z, count: 5, fn: (n) => 1)

The generate.from function is not defined by the builtin library but it is in the generate package, you can define your own functions by registering them. You can see how that is done in stdlib/generate/from.go at init.

Since using generate.from function as a data source we are completely decoupled from InfluxDB, so, this example does not require a working installation of InfluxDB.

To implement your own data source, have a look at the various from.go files in stdlib sub-folders.

Usage

From this directory:

go test -v .