prometheus-cpp
pixie
prometheus-cpp | pixie | |
---|---|---|
4 | 19 | |
872 | 5,285 | |
- | 1.0% | |
7.8 | 9.4 | |
about 1 month ago | 3 days ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
prometheus-cpp
-
C++ Concurrency Model on x86 for Dummies
Rust does have some very cool mechanisms for safety, including in the presence of concurrency.
But this thread is generating blowback from someone saying: “slow down there with the hand-rolled atomic operations, you can hand-roll your multi-threaded locking strategy and it’ll be way safer at a modest cost!”
So, probably not the target audience for Rust ;)
I use a lot of C++ still because there are libraries I want and I have a significant investment in existing code, but I’d love to get to something more modern.
Hand-rolled atomics and load/store relaxation in application code make even seasoned C++ hackers a bit nervous: we saw this shit from business logic hackers at FB all the time and my colleague coined the term “aggressively intermediate” for the style.
I don’t mean to pick on the author of a quite good library (and it is quite good), but I ran across this the other day:
https://github.com/jupp0r/prometheus-cpp/blob/master/core/sr...
It’s correct (I think, very easy to be wrong about this sort of thing), but what are we measuring here where we can’t delegate that CAS into pthread? Branch mispredictions?
Either threads are fighting over whatever cache line that’s on (exclusive -> invalid -> exclusive -> invalid), or not. If they are, I’ve just deprived the scheduler of the opportunity to wake me up when the other 59 threads are done. If they’re not, I’ve maybe saved like one line in my L1.
And in something like a metrics library, you could be wrong for a very long time before someone pinned it down.
-
Debugging/optimizing/diagnostic tools for C++
Some metric collecting tool, for example, Prometheus and its client library for C++
-
Data Telemetry for Application Monitoring
You can use https://github.com/jupp0r/prometheus-cpp (your custom data) in combination with https://grafana.com/ that has plugins for things like cpu usage.
-
Dashboard for my C++ application
Grafana and Prometheus is what I’d use if you’re deploying this in Kubernetes. I haven’t used the C++ library, but generally you can just add a Prometheus client library (e.g. https://github.com/jupp0r/prometheus-cpp ) which makes it quite easy to instrument your application and expose metrics via HTTP. Then you need to configure Prometheus to scrape metrics from your application.
pixie
- Grafana Beyla: OSS eBPF auto-instrumentation for application observability
-
Show HN: Alaz: Open-Source, Self-Hosted, eBPF-Based K8s Monitoring
I am really curious, why build another project that has similar features as another open source software pixie - https://px.dev/.
-
Open source alternatives to Grafana
Kibana is a good alternative if you can allow storing all your data in Elasticsearch, or you can use all-in-one monitoring tools like pixie https://github.com/pixie-io/pixie
-
Lens Dashboard for monitoring multiple AKS/EKS/... clusters
Plenty of paid monitoring solutions out there. Instana is pretty slick. NewRelic has a new open source tool, https://github.com/pixie-io/pixie
-
Too many cook in the kitchen? I find everyone just wanna create their own Kubernetes plugin solution.
Cilium multi-cluster mesh is a bit different, compared to service meshes, and it's L4, so should be fine with eBPF / XDP based routing. From observability standpoint I'd go for pixie - it should work just fine with both linkerd and istio, instead of Hubble, and Cilium's Tetragon was missing policies about 3-4 months ago (needs doublec-hecking if they had introduced any).
- Improving Observability of Go Services
-
Launch HN: Odigos (YC W23) – Instant distributed tracing for Kubernetes clusters
Congratulations on the launch, and thank you for choosing an awesome license!
For an unrelated reason, today I was reminded about Pixie (https://news.ycombinator.com/item?id=25375170 and https://news.ycombinator.com/item?id=31687978 and https://github.com/pixie-io/pixie#readme ), which says is also an ebpf kubernetes observability tool, also Apache licensed.
I suspect the difference may be your aspirations to move out of just kubernetes, but I wondered if that's the biggest difference between your project and theirs? Or maybe the C++ versus golang?
- Linux /proc/pid/stat parsing bugs
- Go based eBPF projects
-
Does mTLS add request latency due to ssl termination? Any best practices for performance?
eBPF solutions look cool though. I heard of https://px.dev/ which sounds similar to ciliums eBPF mesh recently.
What are some alternatives?
icinga2 - The core of our monitoring platform with a powerful configuration language and REST API.
cilium - eBPF-based Networking, Security, and Observability
skywalking - APM, Application Performance Monitoring System
parca - Continuous profiling for analysis of CPU and memory usage, down to the line number and throughout time. Saving infrastructure cost, improving performance, and increasing reliability.
Grafana - The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
tracer - 🧶 Dead simple, lightweight tracing.
mtail - extract internal monitoring data from application logs for collection in a timeseries database
statsviz - 🚀 Visualise your Go program runtime metrics in real time in the browser
prometheus - The Prometheus monitoring system and time series database.
kubestriker - A Blazing fast Security Auditing tool for Kubernetes
lion - Where Lions Roam: RISC-V on the VELDT
enhancements - Enhancements tracking repo for Kubernetes