Tremor
Main Tremor Project Rust Codebase
- 12
- Projects
- 2
- Years active
- 2
- In 0 T0
Projects
122022
4 projectsTerm 0 · 2022 Summer (Jun-Aug) · 2 projects
Hygenic error handling and validation for pipelines
LFX Mentorship · Listed in the official cohort
Tremor uses its own language for pluggable user defined functionality. The language interconnects internal operators via the connect statement and the select statement. Currently, neither select nor connect verifies that the operator port of the receiving or the sending part is correct ( exists, and is an expected type ) - this can lead to silent or confusing errors. User experience is super important to tremor, so that is a solution state we’re not happy with. The goal of this mentorship is to add validation and provide targeted hygienic errors to users that are trivial to diagnose and resolve as this will massively improve user experience.
- Rust
- Programming Language Design
Pluggable logging
LFX Mentorship · Listed in the official cohort
Tremor is an event processing system that can - among other things - process logs and metrics. Currently, Tremor uses log4rs to handle its own logging. We would like tremor to have a facility to handle its logs through its own pipelines (similar to the pluggable metrics experience). A starting point could be a sink for log4rs, which could then be replaced completely, making log4rs an optional output.
- Rust
- Testing
Term 0 · 2022 Spring (Mar-May) · 2 projects
CI and Release process improvements
LFX Mentorship · Listed in the official cohort
Tremor has a lot of headroom when it comes to improving the CI and the build process. Those improvements will make the day-to-day life of contributors better and gives end-users more frequent and up-to-date builds allowing them to be used in a more cloud-native fashion. The goal is to make the general developer and user experience around contributing and releasing better. This project is well suited for someone interested in the DevOps/SRE world but offer stretch goals to reach into other topics.
- Make
- Git/GitHub
- CI/GitHub Actions
- GitOps
- DevOps
- Packaging
Database Connectors
LFX Mentorship · Listed in the official cohort
Connectors are tremors interface to the outside world, they allow us to integrate with third-party systems. Currently, tremor only has a limited set of connectors for databases, we support s3 and google cloud storage for object stores, and have a k/v connector that offers a simple integrated key-value store. While this is a good starting point interfacing with more databases will make tremor easier to use for our end users. The primary target will be integrating with Yandex Clickhouse.
- Rust
- Databases
- Testing
2021
8 projectsTerm 0 · 2021 Fall (Sep-Nov) · 2 projects
AWS (S3) connectors
LFX Mentorship · Listed in the official cohort
Tremor supports a number of other systems to connect one, yet one of the most wide spread API's in the cloud world (S3) isn't yet supported. This is a chance to shine and build something many users will enjoy.
- rust
Solidify and generalize error handling code in the runtime
LFX Mentorship · Listed in the official cohort
The runtimes error handling code stems from ancient times where rust was younger, and we were more naive. As such, it is more grown than designed in many places. With the knowledge of the past three years and stabilization of the codebase, now is a good time to polish it and make errors an exciting user experience.
- rust
Term 0 · 2021 Summer (Jun-Aug) · 2 projects
Modular sub-queries in tremor-query
LFX Mentorship · Listed in the official cohort
Currently tremor supports composition through composing pipelines together, through function composition and through allowing references to query operator definitions and constants in externalizable modules that can be loaded via a module path. It would be excellent if the modularity in tremor extended fully to the query language so that distinct subgraphs could be modularized and consumed by multiple queries to optimise for reuse of flow oriented logic in tremor. This would require extending module support in the tremor query language to support sub-graph definitions with parameters that can be declared and used as part of a higher level query. Modules in tremor-query in their current state: < This project idea involves designing the sub-graph module syntax and semantics and implementing changes to the lexer, grammar, optimizers and runtime. It is most suited to candidates who are interested in programming language evolution and design.
- Rust
- Parsers
- Programming Language Design/Implementation (Interest)
Tremor Web Redesign - Make tremor’s web presence awesome
LFX Mentorship · Listed in the official cohort
As an early stage project we’ve biased in favour of documenting the essentials and getting content in place as fast as possible. This has worked well but a side-effect is 3 or 4 different sources of content ( www, docs, rfcs and courseware ). In concept with CNCF technical writing and learning best practices use your UX/web design and technical writing expertise for tremor where we as a team are unskilled - make our content awesome and the user experience exceptional. These are some improvements we did think of, but these are neither complete nor required, more suggestions are welcome: Unify the different content forms under a single consolidated theme and design Ease of navigation ( breadcrumbs ) Preserve markdown for data entry ( we’re programmers ) and keep design separate ( we’re not designers and find this stuff super hard ) A clean, easy to navigate theme with a focus on user experience Well integrated with our CI and doc generation tooling ( think gitops for docs and content ) This task would suit a candidate who is interested in full stack engineering and the complete software development lifecycle with a specific focus or interest in engineering documentation, web design and communicating well designed content to others with a good user experience - exploiting principles of good technical writing and web design of content management systems for technical content consumers.
- UX/UI
- technical writing
- web design
- documentation
Term 0 · 2021 Spring (Mar-May) · 4 projects
Continuous benchmarking and benchmarking infrastructure
LFX Mentorship · Listed in the official cohort
Set up infrastructure for running Tremor benchmarks periodically
- Rust Programming
- Github CI
- Shell scripting
- Linux command line
Google Cloud Connector
LFX Mentorship · Listed in the official cohort
Enhance tremor with connectors for the Google Cloud Platform
- Rust programming ( beginner is ok )
- some experience with Google Cloud or other platforms
Property based tests for tremor-script
LFX Mentorship · Listed in the official cohort
Extend property-based testing for tremor script
- Erlang Programming
- Rust Programming
- Property Based Testing (EQC)
Support for Syslog Protocol
LFX Mentorship · Listed in the official cohort
Enable Tremor to receive and send Syslog Protocol Messages ( , supporting as much syslog implementations as possible that might deviate from the standard
- Rust Programming (beginner is ok)
- some experience with syslog (beginner is ok)