Skip to content
forked from thanos-io/thanos

Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.

License

Notifications You must be signed in to change notification settings

fpetkovski/thanos

This branch is 246 commits ahead of, 1160 commits behind thanos-io/thanos:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3c772cc · Mar 6, 2023
Oct 5, 2022
Oct 27, 2022
Sep 2, 2022
Oct 31, 2022
Aug 17, 2021
May 3, 2021
Oct 22, 2022
Nov 5, 2022
Mar 1, 2023
Mar 1, 2023
Feb 22, 2023
Mar 2, 2023
Feb 22, 2023
Mar 6, 2023
Nov 11, 2022
Mar 1, 2023
Oct 6, 2022
Feb 18, 2023
Jan 15, 2023
Jul 15, 2022
Dec 13, 2021
Nov 25, 2021
Jul 15, 2022
Jan 6, 2023
Nov 24, 2020
Oct 5, 2022
Oct 5, 2022
Aug 17, 2021
Jul 14, 2022
Nov 7, 2022
Oct 5, 2022
Feb 28, 2023
Jun 17, 2021
Dec 13, 2022
May 7, 2021
Dec 13, 2021
Oct 5, 2022
Oct 22, 2022
Nov 1, 2017
Dec 8, 2022
Oct 7, 2022
Jan 5, 2023
Jun 17, 2021
Feb 24, 2023
Mar 1, 2021
Mar 6, 2023
Mar 6, 2023
Nov 7, 2022

Overview

This repository is a fork of the thanos-io/thanos project. It is used to deploy the metrics stack for Shopify Observe.

Differences from upstream

This project has several improvements which have been made. Most of them are raised as upstream PRs in order to avoid divergent codebases over time.

Parallel compaction

The compactor has been updated to be able to do parallel compaction tasks inside a single compaction group. The change is submitted to the upstream repository: thanos-io#5936.

Latest PromQL engine

The project uses the latest version of the https://github.com/thanos-community/promql-engine module. This helps us deliver the latest query improvements without getting blocked by upstream approvals.

Non-blocking deduplication

The Thanos Querier does deduplication in a blocking manner. It first retrieves all series, sorts them without replica labels, and only then starts to deduplicate. This fork has an improvement where deduplication can be done on-the-fly as series are being retrieved from storage.

There are two upstream PRs which address this issue:

Sharded compactor

Large tenants (Kubernetes clusters) produce TSDB blocks which reach the index size limit after a few compaction iterations. As a result, we could not produce blocks of sufficient range for downsampling. The sharded-compactor branch contains a version of the Thanos Compactor that is capable of splitting blocks vertically into N independent shards.

The reason why the change is kept in a branch is because it depends on the mimir-prometheus fork of Prometheus. Merging the change in main would lead to the Mimir Prometheus fork being used throughout the entire codebase.

About

Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.8%
  • TypeScript 2.6%
  • Jsonnet 0.9%
  • Makefile 0.2%
  • HTML 0.2%
  • Shell 0.1%
  • Other 0.2%