FlameGraph
etcd
Our great sponsors
FlameGraph | etcd | |
---|---|---|
52 | 61 | |
16,355 | 46,215 | |
- | 0.8% | |
4.9 | 9.9 | |
about 1 month ago | 7 days ago | |
Perl | Go | |
- | 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.
FlameGraph
-
Memray – A Memory Profiler for Python
And flame graphs excel and this kind of thing
-
All my favorite tracing tools: eBPF, QEMU, Perfetto, new ones I built and more
which can output in a format understood by Brendan Gregg's flame frames (https://www.brendangregg.com/flamegraphs.html)
But that's not quite the kind of tracing you're talking about. We also built a printf-style interface to our recording files, which seems closer:
-
Recap of Werner Vogels' Keynote at re:Invent 2023
Strategies included discontinuing or resizing underutilized services, transitioning to more cost-effective solutions, reducing the current resources to the amount of resources that we need for our application, and conducting detailed analyses of computing resource utilization through tools like flamegraphs. This detailed scrutiny helped identify and rectify significant cost-driving areas, such as garbage collection and application configurations.
-
Pinpoint performance regressions with CI-Integrated differential profiling
Flame Graphs by Brendan Gregg
-
Flameshow: A Terminal Flamegraph Viewer
Historically brendangregg's since AIUI he basically invented flamegraphs
https://www.brendangregg.com/flamegraphs.html
So if you can make your tool eat whatever https://github.com/brendangregg/FlameGraph is fed with you're going to support a lot of existing tooling across OSes and languages.
-
Introducing Flame graphs: It’s getting hot in here
“Flame graphs are a visualization of hierarchical data, created to visualize stack traces of profiled software so that the most frequent code-paths to be identified quickly and accurately.”
-
Using SVG to create simple sparkline charts
SVGs are amazing for interactive visualisation too. Like Flamegraphs: https://www.brendangregg.com/flamegraphs.html
-
Good example of using flame graphs to speed up java code (50x improvement)
This may be a good example of the application of a flame graph but it is not a good demonstration of flame graphs; the graph is nearly incidental. The source has an actual explanation.
-
Intro to PostGraphile V5 (Part 1): Replacing the Foundations
A profiling flame graph from Graphile Crystal (a precursor to Grafast) using GraphQL.js' executor (each tick is 1ms, total: 29ms). As we removed more and more responsibilities from GraphQL.js, we ended up only using it for output. Replacing this final responsibility with a custom implementation in Graphile Crystal itself, we reduced execution time for this query down to 15.5ms (effectively removing the majority of the yellow portion of the flame graph).
-
How a Single Line of Code Made a 24-Core Server Slower Than a Laptop
Small note:
> In Rust, it is very easy to generate flamegraphs with `cargo flamegraph`.
... Also in pretty much every other language, because this is just a wrapper around Brendan Gregg's FlameGraph visualizer: https://github.com/brendangregg/FlameGraph
etcd
-
Oracle Linux 8.8'de PostgreSQL 13 Yedekli Yapı Nasıl Kurulur? - Patroni, ETCD, HAProxy
sudo dnf -y install curl wget vim ETCD_RELEASE=$(curl -s https://api.github.com/repos/etcd-io/etcd/releases/latest|grep tag_name | cut -d '"' -f 4) echo $ETCD_RELEASE wget https://github.com/etcd-io/etcd/releases/download/${ETCD_RELEASE}/etcd-${ETCD_RELEASE}-linux-amd64.tar.gz tar xvf etcd-${ETCD_RELEASE}-linux-amd64.tar.gz cd etcd-${ETCD_RELEASE}-linux-amd64 sudo mv etcd* /usr/local/bin ls /usr/local/bin /usr/local/bin/etcd --version
-
Transitioning from more traditional OOP like C# to Go, what are the biggest coding style differences.
Reading the standard library will give you ideas/insight about various Go idiomatic patterns/approaches, and you can see a full website/API implementation in the pkg.go.dev repository (https://github.com/golang/pkgsite). Projects like https://github.com/etcd-io/etcd may be interesting too.
-
Fault Tolerance in Distributed Systems: Strategies and Case Studies
Failure Detection and Recovery It’s not enough to have backup systems. It’s also crucial to detect failures quickly. Modern systems employ monitoring tools and rely on distributed coordination systems such as Zookeeper or etcd to identify faults in real-time: once detected, recovery mechanisms are triggered to restore the service.
-
The Complete Microservices Guide
Service Discovery: Microservices need to discover and communicate with each other dynamically. Service discovery tools like etcd, Consul, or Kubernetes built-in service discovery mechanisms help locate and connect to microservices running on different nodes within the infrastructure.
-
How is Apache APISIX Fast?
APISIX uses etcd to store and synchronize configurations.
-
Apache APISIX without etcd
etcd is an excellent key-value distributed database used internally by Kubernetes and managed by the CNCF. It's a great option, and that's the reason why Apache APISIX uses it too. Yet, it's not devoid of issues.
-
From /etc to database
Someone on HN (https://news.ycombinator.com/item?id=36682595) suggested etcd (https://etcd.io)
-
Evaluating Apache APISIX vs. Spring Cloud Gateway
In traditional mode, APISIX stores its configuration in etcd. APISIX offers a rich API to access and update the configuration, the Admin API. In standalone mode, the configuration is just plain YAML. It's the approach for GitOps practitioners: you'd store your configuration in a Git repo, watch it via your favorite tool (e.g., Argo CD or Tekton), and the latter would propagate the changes to APISIX nodes upon changes. APISIX reloads its configuration every second or so.
- Implementing a distributed key-value store on top of implementing Raft in Go
-
RedisRaft
I am not sure neither. But this might overcome the etcd's soft storage limit of 8GB? [1]
What are some alternatives?
hotspot - The Linux perf GUI for performance analysis.
consul - Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
benchmark - A microbenchmark support library
minio - The Object Store for AI Data Infrastructure
tracing-bunyan-formatter - A Layer implementation for tokio-rs/tracing providing Bunyan formatting for events and spans.
Vault - A tool for secrets management, encryption as a service, and privileged access management
HeatMap - Heat map generation tools
Apache ZooKeeper - Apache ZooKeeper
node-clinic - Clinic.js diagnoses your Node.js performance issues
nsq - A realtime distributed messaging platform
pmu-tools - Intel PMU profiling tools
traefik - The Cloud Native Application Proxy