-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
[feat] Store traces in ClickHouse based on Jaeger V2 #6725
base: main
Are you sure you want to change the base?
[feat] Store traces in ClickHouse based on Jaeger V2 #6725
Conversation
a65794d
to
bacbf97
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #6725 +/- ##
==========================================
- Coverage 96.25% 96.10% -0.16%
==========================================
Files 342 350 +8
Lines 20291 20908 +617
==========================================
+ Hits 19532 20094 +562
- Misses 574 617 +43
- Partials 185 197 +12
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
bacbf97
to
21c3fab
Compare
a16370b
to
72d91cc
Compare
@yurishkuro ClickHouse integration test not working in CI. Is there anything I might have missed? |
51b3f8f
to
b8915ef
Compare
572c1a2
to
7718d65
Compare
19bc811
to
c408a25
Compare
I would like to implement all basic features, ensure that the integration tests pass, and then return to address other low-priority tasks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
before moving code around I suggest you read & understand the comments and then propose a new directory structure that we can agree on. This will reduce the churn.
@yurishkuro The key here is that the design of the schema:
#auto run DDL script
auto: true
client:
database: jaeger
username: default
password: default
#ch-go
writer:
address: "127.0.0.1:9200"
pool:
max_connection_lifetime: 3600000000000
max_connection_idle_time: 1800000000000
#CPU Core number
min_connections: 4
#CPU Core number * 2
max_connections: 8
health_check_period: 60000000000
#clickhouse-go
reader:
#no cluster just a different field here.
addresses: ["node00:9200","node01:9200","node02:9200"] The directory structure has been adjusted as follows:
|
@yurishkuro In the implementation of |
Code pointer? |
jaeger/internal/storage/v1/cassandra/spanstore/reader.go Lines 150 to 154 in 84212d2
And only gRPC really use them all. jaeger/internal/storage/v1/grpc/shared/grpc_client.go Lines 72 to 76 in 84212d2
Also, do you think the new code structure I proposed is suitable? |
The timestamps in GetTraces request were introduced on request from 3rd party implementations (e.g. Tempo). None of the internally supported backends need these parameters because of how the db schemas are organized. But it was expected that the timestamps could be useful for ClickHouse. |
6981216
to
8a35cbc
Compare
8a35cbc
to
a1edda1
Compare
9868dd3
to
e62882d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@yurishkuro Can you please take a look at my new improvements and ideas?
Hi @yurishkuro, I just wanted to ask if anything is blocking this. I found this PR too large—maybe it would be better to split it into smaller ones? |
"go.opentelemetry.io/collector/pdata/ptrace" | ||
) | ||
|
||
type Pool interface { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is it called Pool?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's challenging to name here, so this time I'll directly use the package names: ch-go → chpool, clickhouse-go → clickhouse.
4f0e116
to
d37c2ad
Compare
Signed-off-by: zhengkezhou1 <[email protected]>
Signed-off-by: zhengkezhou1 <[email protected]>
Signed-off-by: zhengkezhou1 <[email protected]>
1478547
to
6092508
Compare
Which problem is this PR solving?
Desgin doc: Jaeger V2: Support for ClickHouse as Storage Backend
Part of #5058
Description of the changes
How was this change tested?
Checklist
jaeger
:make lint test
jaeger-ui
:npm run lint
andnpm run test