-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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 component: Cassandra Exporter #17910
Comments
Can you explain a bit more the use case? Is there a standard data format in which the traces will be stored? |
Hi @atoulme, My thought is that write speed is very important for Open Telemetry. Cassandra is defined as an open-source NoSQL data storage system that leverages a distributed architecture to enable high availability, scalability, and reliability, managed by the Apache non-profit organization. Cassandra, so fast for write operations and very compatible for analytics data. Also, it's support storing time series data thats why you can calculate throughput, response time and apdex etc.. (time series) Cassandra’s three data modeling ‘dogmas’:
Example Span data on Cassandra database:
|
So is it stored as a cql table? What is the schema used? |
I have found those in your impl:
That is intriguing. I'd like to see if you have considered looking into how to work on this with a cluster (I see replication factor set to 1) and particularly if you have a partition key strategy for this. |
Hi @atoulme, Thanks for your time and review. I appreciate it. Yes, it's storing in Cassandra tables. I improved config structure to change replication and compression dynamically. Also i changed PRIMARY KEY to SpanId. (PRIMARY KEY also defines the PARTITION KEY) Maybe we can create COMPOSE PARTITION KEY between ServiceName and SpanId. Compression Typeshttps://cassandra.apache.org/doc/latest/cassandra/operating/compression.html Replication:CREATE KEYSPACE otel WITH replication = {‘class’: ‘SimpleStrategy’, ‘replication_factor’: 3}; In the above example, we created a keyspace called otel using SimpleStrategy with replication factor 3. The data inserted in this keyspace will be replicated to the three nodes, in one datacenter and across different racks. When i run Cassandra exporter with following config, schema will be like this:
Schema:
Default config:
|
That’s great! Please look for a sponsor to land this. I cannot sponsor fwiw. Come to a SIG meeting if possible to present your work. |
@atoulme now that you can, would you be interested in sponsoring this component? |
Now also supports Logs. |
I will sponsor. |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping |
Done. #18515 |
The purpose and use-cases of the new component
The purpose of this exporter is to extract traces and logs to Cassandra database.
I already started to develop this component here: https://github.com/emreyalvac/opentelemetry-collector-contrib/tree/cassandra-exporter-implementation.
#18515
Example configuration for the component
Telemetry data types supported
traces, logs
Is this a vendor-specific component?
Sponsor (optional)
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: