Helius
Get in touch

Platform

Measure before you change anything

Measure first. Then fix the thing that was actually slow.

The problem

The application is slower than it should be and the theories outnumber the measurements. Somebody wants to add caching, somebody else wants to rewrite the service, and the actual bottleneck is an unindexed query or a syscall storm nobody has looked for. Adding more hardware no longer fixes it, and the monitoring you have fires alerts everyone learned to ignore.

The approach

I profile the running system — flamegraphs, kernel tracing, query plans, real load tests — and find where the time genuinely goes. Then we fix that, verify the improvement with numbers, and leave behind instrumentation built around the questions you ask during an incident rather than dashboards nobody opens.

What you get

  • Profiling report with flamegraphs and before/after measurements
  • Kernel-level tracing of syscall and I/O hotspots via eBPF
  • Database query analysis with indexes and rewrites applied
  • Metrics, logs and traces that correlate, on components you self-host
  • Alerts tied to user-visible symptoms rather than CPU graphs
  • The profiling setup left installed, documented and repeatable without me

Example

perf/slow-syscalls.bt

#!/usr/bin/env bpftrace
// Which syscalls is this process actually waiting on?
// Usage: slow-syscalls.bt <PID>. Runs for 30s, then prints a latency
// histogram (µs) per syscall. No instrumentation, no restart, no code change.
//
// Keys are syscall numbers, which differ per architecture:
// `ausyscall <n>` (from auditd) names them.

tracepoint:raw_syscalls:sys_enter
/pid == $1/
{
    @start[tid] = nsecs;
}

tracepoint:raw_syscalls:sys_exit
/pid == $1 && @start[tid]/
{
    @us[args->id] = hist((nsecs - @start[tid]) / 1000);
    delete(@start[tid]);
}

interval:s:30 { exit(); }

END { clear(@start); }

Tell me what is broken

A short description is enough. Within one business day I will tell you what I think the problem is, roughly how long it takes, and whether you need me at all. Sometimes the honest answer is no.

I reply within 1 business day · No contact forms, no tracking pixels, no CRM sequence.