← Back
Home › Systems › Observability and operations

apm

application performance monitoring

Datadog APM, Dynatrace, New Relic

SystemTechniques · 15Primitives · 46 apm Bytecode instrumentation agentscompilers · medium: Rewrite class bytecode at load time via an agent hook to weave probes, timers and context propagation without source changesStack unwindingcompilers · medium: Frame-pointer, DWARF CFI and compact unwinding of call stacksCritical path analysisgraphs · medium: Longest dependency chain in a DAG of timed spans or build actionsDynamic instrumentation probeshardware-os · medium: Kprobes, uprobes and tracepoints: patch breakpoints at runtime and run handlersSampling profiling pmuhardware-os · medium: Timer/PMU-driven stack sampling with low overheadTime-series anomaly detectionstatistics · medium: Predict the expected value from a seasonal baseline, scale the residual by a robust spread (MAD), threshold at a chosen false-alarm rate, then merge flags into incidents.›Columnar storagestorage · medium: Store each column contiguously so analytic scans read only the columns they need, compress well and run as tight SIMD loops.›Ebpfhardware-os · low: Verified in-kernel programs on hooks (kprobes, XDP, tc) with mapsDelta encodingcompression · low: Store differences between consecutive values instead of the values, turning sorted IDs, timestamps and counters into small numbers that pack into few bits.›Time partitioningstorage · low: Cut a table into fixed-interval time blocks so queries read only overlapping blocks and retention drops a whole block as one metadata change.›Gorilla XOR compressioncompression · low: Time-series codec: delta-of-delta timestamps plus XOR of consecutive float bit patterns, storing only changed bits; about 1.4 bytes per point.›Protobuf wire formatnetworking · low: Protocol Buffers wire format: tags, varints, length-delimited fields and schema evolutionBloom filterdata-structures · low: Bit array answering "definitely not present" or "probably present" in about 10 bits per key for 1 % false positives; inserts are cheap, deletes impossible.›Quantile sketchesdata-structures · low: Mergeable quantile sketches: t-digest, DDSketch, HDR histogramsConsistent hashingdistributed · low: Hash nodes and keys onto a ring; each key belongs to the next node clockwise, so membership changes move only about 1/n of keys.›Grpc protocolnetworking · low: GRPC framing over HTTP/2: unary and streaming RPCs, deadlines, statusStack trace fingerprintingsearch-sort · low: Normalize and hash stack frames to group crashesBackpressuresystems · low: Bound every queue and make a full queue push back on the producer by blocking, dropping, rejecting or withholding credit.›Calling conventions abicompilers · low: System V, Windows x64 and AAPCS64 ABIs: argument registers, stack frames, struct passing, FFIExecutable formats elf pecompilers · low: ELF, PE and Mach-O: sections, segments, symbol tables, relocations, dynamic loadingBFS and DFSgraphs · low: The two basic graph traversals; BFS gives hop distances and levels, DFS gives discovery/finish order for cycles, components and topological order.›Topological sortgraphs · low: Order the vertices of a DAG so every edge points forward; the core of build systems, schedulers and dependency resolution, with cycle detection for free.›Breakpoints watchpointscompilers · low: Software breakpoints (int3 patching), hardware debug registers and single-stepping+ 8 more techniques+ 30 more primitives

Similar systems

Share the most building blocks with this one.