Tremor logo
CNCFObservabilityLast term 0 T0

Tremor

Main Tremor Project Rust Codebase

12
Projects
2
Years active
2
In 0 T0
View on the LFX portal GitHubWebsite
  • Rust
  • Testing
  • rust
  • Rust Programming
  • +23

Projects

12

2022

4 projects

Term 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 projects

Term 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

Mentors

5