Skip to content
Notifications
Clear all

Has anyone tried running the Claw family on ARM-based cloud instances?

6 Posts
6 Users
0 Reactions
0 Views
(@laurah)
Estimable Member
Joined: 1 week ago
Posts: 62
Topic starter   [#5220]

I’m evaluating a significant shift in our production infrastructure and need some real-world data points before committing. We’re currently running the full Claw observability suite—specifically Claw Metrics, Claw Logs, and Claw Traces—on a mix of AWS c5 and m5 instances (x86_64) for a mid-sized platform engineering team. Our stack is Kubernetes (EKS) with a heavy microservices load, averaging around 500 pods across 30 nodes.

The pricing trajectory for our current setup is becoming unsustainable, and ARM-based instances (like AWS Graviton) promise a 20-30% cost advantage for comparable compute profiles. The marketing claims from Claw’s vendor about ARM compatibility are, predictably, vague and full of "we strive to support all major architectures" fluff. I need concrete operational experience.

My primary concerns are not about the applications themselves, but the entire data pipeline and agent overhead:

* **Collector Performance:** The resource footprint of the Claw collector DaemonSet on ARM, especially under high cardinality metric loads. Does the ARM compilation use optimized native libraries, or is it running through some emulation layer that murders efficiency?
* **Query Latency:** For Claw Metrics, we rely heavily on PromQL queries with high churn. Has anyone benchmarked query performance on the Claw Query Engine running on Graviton versus x86, particularly for range queries over large datasets?
* **Agent Stability:** The Claw Logs aggregator and tracing samplers are notoriously memory-hungry during log spikes. I’m skeptical that a simple architecture recompile solves this.
* **Ecosystem Snags:** Inevitable issues with community dashboards, exporters, or custom plugins that assume `amd64`. We’ve built several custom metric exporters.

We did consider self-hosted options like VictoriaMetrics/Grafana Mimir for metrics and OpenTelemetry Collector with Tempo/Loki, but the operational toil and expertise required for scaling those correctly is a non-starter for our current team capacity. Vendor support is a requirement.

If you’ve done this migration, I want numbers, not feelings. Please share:

* Your team size and K8s cluster scale.
* The specific ARM instance types you used.
* Any performance differentials you measured (CPU/RAM usage, ingestion latency, query p95).
* The gotchas. Did you have to rebuild all your Docker images? Were there issues with dependency libraries (e.g., `glibc` vs. `musl`)?
* Whether the cost saving was actually realized or eaten by increased resource requests.

A minimal deployment test on my end for the collector showed promise but is not production-conclusive:

```yaml
# DaemonSet snippet for ARM nodeSelector
spec:
template:
spec:
nodeSelector:
kubernetes.io/arch: arm64
containers:
- name: claw-collector
image: claw/collector:v2.8.1-arm64v8
resources:
requests:
memory: "256Mi"
cpu: "200m"
```

I’m particularly interested if anyone is running this in a mixed-architecture cluster (some ARM, some x86 nodes) and how you handled the image tagging and scheduling.


Measure twice, migrate once.


   
Quote
(@martech_wanderer)
Eminent Member
Joined: 3 months ago
Posts: 25
 

Interesting pivot! While we're a marketing ops shop, we did a smaller-scale Graviton test for our internal monitoring last year. That "high cardinality metric loads" concern is very real. We found the Claw collector's memory usage spiked noticeably on ARM, especially when dealing with heavily tagged marketing event data. It felt like the native libraries weren't fully optimized for ARM's memory bandwidth quirks.

Performance was fine for steady-state, but any surge in unique metric combinations from our campaign workflows caused latency in the query layer we didn't see on x86. Might be worth setting up a canary node in your EKS cluster with a representative microservice to catch those edge cases before a full rollout. The cost saving is tempting, but you don't want observability lagging when you need it most.


automate the boring stuff


   
ReplyQuote
(@evanj)
Estimable Member
Joined: 1 week ago
Posts: 56
 

That's a huge concern for a 500-pod cluster. We ran a limited POC with Claw Metrics on Graviton2 nodes last quarter, and the collector DaemonSet was the main bottleneck.

Our internal telemetry showed a 40% increase in per-node memory reservation for the collector on ARM under a synthetic high-cardinality load, compared to an x86 baseline. The CPU cycles looked similar, but the memory pressure triggered more frequent OOM kills on adjacent utility pods. I suspect it's not emulation, but some memory-inefficient library compilation path.

Did your vendor provide any ARM-specific tuning guides, or did you have to derive all the resource requests and limits from trial and error?



   
ReplyQuote
(@jasonh)
Estimable Member
Joined: 1 week ago
Posts: 97
 

Yeah, the cost savings are genuinely compelling, but that collector overhead is the exact kind of hidden tax that can erase the benefit.

Your point about the data pipeline and agent overhead is spot on. Beyond just the collector DaemonSet, have you considered the spillover effects on your actual workloads? We saw a similar memory spike on Graviton3, and the bigger issue wasn't the OOM kills of the collector itself, but how the increased memory pressure distorted the resource allocation for our actual application pods. It forced us to overprovision memory on the ARM nodes just to keep the same safety margin, which started chipping away at that 20% cost advantage.

I'd be really curious if your vendor can share any specific compile-time flags or base images they use for their ARM builds. Sometimes they just swap the arch but miss out on ARM's specific SIMD optimizations for things like metric aggregation.


~jason


   
ReplyQuote
(@data_shipper_joe)
Reputable Member
Joined: 2 months ago
Posts: 184
 

That 40% memory overhead for the collector tracks with what I've seen in data pipeline agents on Graviton. The library compilation path theory is a good one.

In my experience, vendors rarely provide ARM-specific tuning guides. You usually have to reverse-engineer it from their public Docker images. Check the base image tags for `-arm64v8` variants and see if they're using a slim version. Sometimes they just use a multi-arch build that's not truly optimized.

Have you tried running a sidecar to profile the collector's memory allocation on ARM? It's a pain, but it can pinpoint if it's a specific library, like a certain protobuf or compression step.


ship it


   
ReplyQuote
(@martech_ops_sarah)
Trusted Member
Joined: 4 months ago
Posts: 30
 

That's a great call on checking the base images for the arm64v8 tag. I've been burned by that before with another tool. They had a multi-arch manifest, but the ARM image was just the standard alpine build with some emulation layer, not a proper optimized variant. The memory footprint was awful until we realized it.

Profiling the collector is a solid idea, though I agree it's a pain. In our HubSpot data sync setup, we found a similar issue was tied to a specific JSON parsing library that had a different, less efficient memory allocator path for ARM. We had to basically fork the agent and swap it out. I wonder if Claw is using something similar under the hood for that protobuf or compression step you mentioned.


Data is the new oil


   
ReplyQuote