Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
An_introduction_to_Flux.pdf
Search
Yves Bourgeois
October 08, 2018
10
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
An_introduction_to_Flux.pdf
Yves Bourgeois
October 08, 2018
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Test your architecture with Archunit
thirion
2
2.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
450
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Believing is Seeing
oripsolob
1
240
How STYLIGHT went responsive
nonsquared
100
6.3k
Practical Orchestrator
shlominoach
192
12k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Transcript
Flux Time series Belgium meet-up
New functional language - and engine - to gather and
process time-series data Under MIT license Flux
Useable Readable Composable Flux: High Level Design Principles (1/2)
Testable Contributable Shareable Flux: High Level Design Principles (2/2)
Aren't there enough alternatives already?
True-SQL vs like-SQL SQL was designed for relational models and
calculations Time-series databases are based on a continuous stream of data
Like-SQL shortcomings Missing functionalities are frustrating Functional composition is cumbersome
Custom scripts and application logic TICK scripts in Kapacitor Python
scripts GO daemons
Flux language characteristics (1/8) Gather and process time-series data -
without changing its state Database agnostic Flow-based functional processing
Flux language characteristics (2/8) from(bucket: "MySensorData") |> filter(fn: (r) =>
r["_measurement"] == "TempSensor1") |> range(start: -30m) |> window(every:10m) |> mean() |> filter(fn: (r) => r._value > 20)
Flux language characteristics (3/8) Piping forward from(bucket: "MySensorData") |> filter(fn:
(r) => r["_measurement"] == "TempSensor1") |> range(start: -30m) |> window(every:10m) |> mean() |> filter(fn: (r) => r._value > 20)
Flux language characteristics (4/8) Functional from(bucket: "MySensorData") |> filter(fn: (r)
=> r["_measurement"] == "TempSensor1") |> range(start: -30m) |> window(every:10m) |> mean() |> filter(fn: (r) => r._value > 20)
Flux language characteristics (5/8) Anonymous functions from(bucket: "MySensorData") |> filter(fn:
(r) => r["_measurement"] == "TempSensor1") |> range(start: -30m) |> window(every:10m) |> mean() |> filter(fn: (r) => r._value > 20)
Flux language characteristics (6/8) Custom functions square = (table=<-) =>
{ table |> map(fn: (r) => r._value = r._value * r._value) }
Flux language characteristics (7/8) SQL HAVING functionality from(bucket: "MySensorData") |>
filter(fn: (r) => r["_measurement"] == "TempSensor1") |> range(start: -30m) |> window(every:10m) |> mean() |> filter(fn: (r) => r._value > 20)
Flux language characteristics (8/8) SQL JOIN functionality current = from(bucket:
"tanksystem") |> filter(fn: (r) => (r.pump == "I1")) |> range(start: -1h) past = from(bucket: "tanksystem") |> filter(fn: (r) => (r.pump == "I1")) |> range(start: -2h, stop: -1h) |> shift(shift:1h) difference = join(on: ["_time"], tables: {current:current,past:past}) |> map(fn: (r) => r.current__value - r.past__value) |> limit(n:15)
Demo
Release dates Full release coming fall with Influx 2.0 Spec
https://github.com/influxdata/flux/blob/m aster/docs/SPEC.md Grafana plugin https://grafana.com/plugins/grafana-influx db-flux-datasource/installation
FACTRY Open Manufacturing Intelligence Yves Bourgeois
[email protected]