ArrowBack to blog

Conduktor 2.1 - Smart Groups

Conduktor 2.1 is out with loads of fixes and a new feature for clusters with topic naming convention: smart groups.

Author's avatar
Stéphane Derosiaux
May 4th, 2020
Blog's image

Conduktor 2.1

Conduktor 2.1 has been released, alongside a ton of bug fixes, and a new feature: Smart Groups.

Tip: You can look at all the updates we're doing to Conduktor using our changelog page: as you can see, we've been pretty busy.

Before we dive into the feature, we want to extend a warm thank you to all the people and companies who have purchased licenses with us and believe in the future of Conduktor. We are very grateful for your support!

Smart Groups

Smart Groups is a feature to remove the strain due to long names of topics or subjects and transform some parts of the name into dynamic columns for better readability.

Let's say we have many topics (or subjects) with a complex naming convention.

The feature is accessible through the visibility button on topics or on schema registry (disabled by default):

This will open a configuration dialog where the magic will be configured, through regular expressions (please note this is an advanced feature and your non-technical users may need some help setting up the regex):

  1. We setup regular expressions (as many as we want)

  2. We pick one group to be the name of the entity in the listing (instead of the long name)

To create columns from parts, we must use Named Capturing Groups. (https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)

The following is a capturing group named "environment" matching multiple characters.

(?[a-z]+)

This will create a column named "environment" in Conduktor if this group is not selected as the main name (otherwise the name of the topic will be this value, that's probably not what we want).

In our previous example, we have set up two regular expressions:

google-(?[^-]+)-europe-west1-[^-]+-(?[^-]+)-(?[^-]+)-[^-]+-[^-]+-P[0-9]+-C[0-9]+-(?.+) google-(?[^-]+)-europe-west1-[^-]+-(?[^-]+)-[^-]+-[^-]+-P[0-9]+-C[0-9]+-(?.+)-V1

We can say a lot about them:

  1. Dashes separate our parts

  2. We match and

    ignore

    the prefix "google-" because we don't want to see it

  3. They look alike but the first one has one more group named

    Trigram

    because, in our example, some topics have it "

    -TCO-

    ", others don't

  4. There are 4 groups here:

    App

    ,

    Env

    ,

    Trigram

    ,

    topic

  5. "

    topic

    " appears in both expressions: we want to "merge" the resulting values (extracted from the topic name) into the same column

  6. "

    topic

    " is the part we want to use as main name in our listing

The result is a screen way more readable, by removing useless information and distinguishing between important parts:

The usage of regular expressions is necessary but we may provide a wizard later to simplify this step. Don't hesitate to contact us if that matters to you: https://www.conduktor.io/contact/

Closing Comments

We hope that you will enjoy this new feature of Conduktor! We know many of you with huge clusters will welcome this improvement. As always, we are very receptive to feedback, so feel free to contact us with any ideas or feedback.

And if you're interested in a Conduktor license, head over to the pricing page for information on the individual licenses and enterprise licenses.

We aim to accelerate Kafka projects delivery by making developers and organizations more efficient with Kafka.