Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Brandon Farmer [InfluxData] | Tools for Working with Flux Now and in the Future | InfluxDays Virtual Experience London 2020

Brandon Farmer [InfluxData] | Tools for Working with Flux Now and in the Future | InfluxDays Virtual Experience London 2020

  • Be the first to comment

Brandon Farmer [InfluxData] | Tools for Working with Flux Now and in the Future | InfluxDays Virtual Experience London 2020

  1. 1. Past, present and future Flux tooling
  2. 2. Senior Engineer @ InfluxData (tools team) @bthesorceror Brandon Farmer
  3. 3. The Flux Language
  4. 4. Tools for developers Available NOW!
  5. 5. LSP Server
  6. 6. © 2020 InfluxData. All rights reserved. 6 What is an LSP server? - Specification developed by Microsoft for the integration of language tools across multiple editors - Editor communicates with a running process over stdio or IPC - Messages conform to JSON RPC - Provides messages for completion, formatting, errors and code structure to the editor - Used by many well known languages like Go and Rust
  7. 7. © 2020 InfluxData. All rights reserved. 7
  8. 8. © 2020 InfluxData. All rights reserved. 8 LSP with a twist We had 3 requirements that went beyond the normal scope of the LSP: 1. Must run in the browser and be available for editors 1. Must provide completions based on your data 1. Must be easily publishable to most platforms at once
  9. 9. © 2020 InfluxData. All rights reserved. 9 How did we accomplish this? - Core is written in Rust and compiled to WASM - Core builds are published to NPM (1 for Node and 1 for the browser) - Core allows consumers to extend completions - InfluxDB UI uses the published core built for the browser - VSCode extension uses the core built for Node - CLI in JavaScript consumes the core for built for Node and provides the interface for other editors
  10. 10. © 2020 InfluxData. All rights reserved. 10 What to expect in the future - Better completion - Built in documentation - Better editor integration
  11. 11. VSFlux
  12. 12. © 2020 InfluxData. All rights reserved. 12 What we have today - LSP integration - Document structure - Completion - Formatting - Function signatures - Syntax highlighting - Database integration
  13. 13. © 2020 InfluxData. All rights reserved. 13 What we’ll have in the future - Improved database integration - More polish based on your feedback
  14. 14. The Flux Language
  15. 15. © 2020 InfluxData. All rights reserved. 15 Is Flux a developer tool? The Flux parser is written as a library to be consumed by the LSP, and was designed to be used by the community as well. We would love to hear your use cases for the Flux parser!
  16. 16. © 2020 InfluxData. All rights reserved. 16 Demo Time
  17. 17. © 2020 InfluxData. All rights reserved. 17 Where to find these tools https://github.com/influxdata/vsflux https://github.com/influxdata/flux-lsp https://github.com/influxdata/flux-lsp-cli https://github.com/influxdata/flux VScode Plugin https://marketplace.visualstudio.com/items?itemName=in fluxdata.flux

×