| Nice to see so many new projects in the area of APM in the last few months. We recently tried Signoz and Grafana Tempo and while I can't say something about uptrace yet (will definitely try it out) I want to list some pros and cons about them. Grafana Tempo Pros: - Easy and smooth integration into our existing Grafana instance, no additional frontend needed - No new storage engine needed (No additional Clickhouse, Postgres, etc) as it saves its data to S3 - Supports OTLP Cons: - Search is limited by param size and unique params (as its baked to be indexed) - Ingestion is not in real time, but configurable (time to finish span) Signoz: Pros: - Supports OTLP - Integrates Logs and Metrics within the same service (for Grafana you need Loki then) - Supports real time querying Cons: - Uses new storage engines (or extends the software stack) with adding ClickHouse - Adds an additional frontend (might not be relevant for everyone) - Doesn't provide SSO yet, so you need to manage users differently Interesting to see, that UpTrace also chose ClickHouse (btw I love ClickHouse!) Some questions: - Can I easily disable certain features? (e.g. alerting) - Is there support for SSO for self-hosted installation? - Are there any recommendations for scaling (e.g. benchmarks) on how many spans/s are supported on what hardware? Thanks in advance! |
>- Are there any recommendations for scaling (e.g. benchmarks) on how many spans/s are supported on what hardware?
With Uptrace, I was able to achieve 10k spans / second on a single core by running the binary with GOMAXPROCS=1. That is 1-3 terrabytes of compressed data each month which is more than most users need.
Practically, you are limited by the $$$ you are willing to spend on ClickHouse servers, not by Uptrace ingestion speed.
So my recommendation is to scale Uptrace vertically by throwing more cores at it. That will allow you to go very very far.
>- Is there support for SSO for self-hosted installation?
So far the only way to add news users is via the YAML config. We are considering to add a REST API or a CLI tool for the same purpose, but it is not clear how that would work with the YAML.
Regarding the SSO, it would be nice if you can provide an app that already does that so we can better estimate the complexity. But so far we don't have such plans.
>- Can I easily disable certain features? (e.g. alerting)
Yes, most YAML sections just can be removed / commented out to disable the feature.