Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New architecture prototype #3388

Merged
merged 182 commits into from
Aug 13, 2024
Merged

New architecture prototype #3388

merged 182 commits into from
Aug 13, 2024

Conversation

kolesnikovae
Copy link
Collaborator

@kolesnikovae kolesnikovae commented Jun 26, 2024

The PR is the main development branch for the work on the new architecture (#3192). The PR will never be merged; it was created only for visibility. Once the prototype is finished, we will publish appropriate documentation based on the experiment results.


Update:

The experiment is over. The results are very promising.

The new code is very well isolated and does not affect behaviour of the current version, therefore I'd like to merge the changes: we will continue working on the new components in the main branch.

@kolesnikovae kolesnikovae added the enhancement New feature or request label Jun 26, 2024
kolesnikovae and others added 28 commits June 28, 2024 16:28
* Add dummy metastore
…3400)

* Distribute profiles to shards based on tenant/service_name/labels with no replication

* Add retries in case of delivery issues (WIP)

* Calculate shard for ingested profiles, send to ingesters in push request

* Set replication factor and token count via config

* Fix tests

* Run make helm/check check/unstaged-changes

* Run make reference-help

* Simplify shard calculation

* Add a metric for distributed bytes

* Register metric

* Revert undesired change
* start working on segments writer

add shards

awaiting segment flush in requests

upload blocks

add some tracing

* upload meta in case of metastore error

* do not upload metadata to dlq

* add some flags

* skip some tests. fmt

* skip e2e tests

* maybe fix microservices_test.go. I have no idea what im doing

* change partition selection

* rm e2e yaml

* fmt
# Conflicts:
#	.github/workflows/helm-ci.yml
# Conflicts:
#	examples/golang-pgo/Dockerfile
#	examples/language-sdk-instrumentation/golang-push/rideshare/Dockerfile
#	examples/language-sdk-instrumentation/golang-push/rideshare/Dockerfile.load-generator
#	examples/language-sdk-instrumentation/golang-push/simple/Dockerfile
#	operations/pyroscope/helm/pyroscope/rendered/micro-services.yaml
@kolesnikovae kolesnikovae force-pushed the experiment/new-architecture branch from da7f14c to 04e7036 Compare August 7, 2024 09:32
# Conflicts:
#	api/gen/proto/go/types/v1/types.pb.go
#	go.mod
#	go.sum
@kolesnikovae kolesnikovae changed the title experiment: new architecture prototype New architecture prototype Aug 7, 2024
@kolesnikovae kolesnikovae marked this pull request as ready for review August 7, 2024 10:19
@kolesnikovae kolesnikovae requested a review from a team as a code owner August 7, 2024 10:19
@@ -279,14 +283,14 @@ type FileWriter struct {
name string
}

func NewFileWriter(name string) (*FileWriter, error) {
func NewFileWriter(name string, bufferSize int) (*FileWriter, error) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will revert these changes in tsdb/index/index.go - it is not used anymore

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's currently used in compactor. I see no need to change it now

@@ -0,0 +1,71 @@
syntax = "proto3";

package metastore.v1;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: maybe we should put it in v2 or v2-experimental package

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the first version of metastore API.

As long as the API is not public, I see no practical benefits of separating the API

Copy link
Collaborator

@korniltsev korniltsev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Contributor

@simonswine simonswine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much for cleaning that up and make it mergable it main @kolesnikovae .

Also kudos to everyone else working on this experiment 👏

@kolesnikovae kolesnikovae merged commit 2864680 into main Aug 13, 2024
18 checks passed
@kolesnikovae kolesnikovae deleted the experiment/new-architecture branch August 13, 2024 02:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants