Join us for a virtual meetup on Zoom at 8 PM, July 31 (PDT) about using One Time Series Database for Both Metrics and Logs 👉🏻 Register Now

Skip to content
On this page
Biweekly
June 21, 2023

Biweekly Report (Jun.5 - Jun.18) – A Key Milestone, First External Committer Onboard

A recap of the past two-weeks progress and changes happened on GreptimeDB.

Summary

Together with all our contributors worldwide, we are glad to see GreptimeDB making remarkable progress for the better. In the past two weeks, a total of 47 PRs were merged for our program. Below are some highlights:

  • Support azblob storage
  • Support /api/v1/series for Prometheus
  • Add HTTP API for CPU profiling
  • Add timestamp types as arguments

Contributor list: (in alphabetical order)

We would like to give a special thanks to Eugene Tolbakov @etolbakov, who has continued to contribute to our project and has submitted 17 PRs, 16 of which have been successfully merged! He has also contributed more than 20 comments to our issues in the past month, and interacted with us in the Slack community, providing us with valuable advice. So he will be our first committer, thanks and congratulations again!

For the past two weeks, our community has been super active with a total of 4 PRs from 4 contributors merged successfully and lots pending to be merged. Congrats on becoming our most active contributors in the past 2 weeks:

👏 Let's welcome @WangTingZheng as the new contributors to join our community with their first PR merged.

A big THANK YOU for the generous and brilliant contributions! It is people like you who are making GreptimeDB a great product. Let's build an even greater community together.

Highlights of Recent PR

Support azblob storage

Azure Blob Storage is an object storage service provided by Azure. After this PR, GreptimeDB now supports Azure Blob Storage as well:

  • add ObjectStoreConfig::Azblob for azblob object storage configurations.
  • Create azblob instance in the datanode when configured.
  • Add azblob storage tests in tests-integration.

Support /api/v1/series for Prometheus

We now support /api/v1/series for Prometheus. This interface can be used to implement query hints or completions, and is one of the meta-information-related interfaces provided by Prometheus

Add HTTP API for CPU profiling

This PR adds an HTTP API for CPU profiling. It also refactors the mem prof handler to make chaining handlers to the router easier.

Sample at 99 Hertz, for 5 seconds, output report in protobuf format.

rust
curl -s '0:4000/v1/prof/cpu' > /tmp/pprof.out

Sample at 99 Hertz, for 60 seconds, output report in flamegraph format.

rust
curl -s '0:4000/v1/prof/cpu?seconds=60&output=flamegraph' > /tmp/pprof.svg

Sample at 49 Hertz, for 10 seconds, output report in text format.

rust
curl -s '0:4000/v1/prof/cpu?seconds=10&frequency=49&output=text' > /tmp/pprof.txt

This feature is disabled by default. To enable it, we need to build the binary with pprof feature

rust
cargo build --features=pprof

Because the pprof API needs to sample for a specific duration, we must apply the timeout layer before it. This PR also closes the test region in TestBase, which should fix the test case test_flush_and_reopen.

Add timestamp types as arguments

We add more argument types for to_unixtime function

These are the updates of GreptimeDB and we are constantly making progress. We believe that the strength of our software shines in the strengths of each individual community member. Thanks for all your contributions.

New Things

The Greptime team participated in Rust China Conf 2023 and World Of Tech 2023 last weekend, sharing technology and interacting with attendees in a positive way, which got a great success!

Join our community

Get the latest updates and discuss with other users.