All Projects → sematext → uprobe-http-tracer

sematext / uprobe-http-tracer

Licence: other
uprobe-based HTTP tracer for Go binaries

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to uprobe-http-tracer

Bpftrace
High-level tracing language for Linux eBPF
Stars: ✭ 4,526 (+9957.78%)
Mutual labels:  tracing, ebpf, bcc, uprobes
rbbcc
BCC port for MRI - this is unofficial bonsai project.
Stars: ✭ 45 (+0%)
Mutual labels:  tracing, ebpf, bcc
bpfbox
🐝 BPFBox 📦 Exploring process confinement in eBPF
Stars: ✭ 93 (+106.67%)
Mutual labels:  ebpf, bcc
kamon-http4s
Kamon Integration for http4s
Stars: ✭ 47 (+4.44%)
Mutual labels:  instrumentation, tracing
ebpfpub
ebpfpub is a generic function tracing library for Linux that supports tracepoints, kprobes and uprobes.
Stars: ✭ 86 (+91.11%)
Mutual labels:  tracing, ebpf
Brave
Java distributed tracing implementation compatible with Zipkin backend services.
Stars: ✭ 2,117 (+4604.44%)
Mutual labels:  instrumentation, tracing
Opencensus Node
A stats collection and distributed tracing framework
Stars: ✭ 249 (+453.33%)
Mutual labels:  instrumentation, tracing
lmp
LMP is a supermarket
Stars: ✭ 228 (+406.67%)
Mutual labels:  ebpf, bcc
Capture Thread
Lock-free framework for loggers, tracers, and mockers in multithreaded C++ programs.
Stars: ✭ 93 (+106.67%)
Mutual labels:  instrumentation, tracing
java-jaxrs
OpenTracing Java JAX-RS instrumentation
Stars: ✭ 37 (-17.78%)
Mutual labels:  instrumentation, tracing
thundra-agent-python
Thundra Lambda Python Agent
Stars: ✭ 36 (-20%)
Mutual labels:  instrumentation, tracing
nginx-opentracing
Instrument nginx for OpenTracing.
Stars: ✭ 21 (-53.33%)
Mutual labels:  instrumentation, tracing
Opencensus Web
A stats collection and distributed tracing framework
Stars: ✭ 168 (+273.33%)
Mutual labels:  instrumentation, tracing
Java Specialagent
Automatic instrumentation for 3rd-party libraries in Java applications with OpenTracing.
Stars: ✭ 156 (+246.67%)
Mutual labels:  instrumentation, tracing
Spring Cloud Sleuth
Distributed tracing for spring cloud
Stars: ✭ 1,531 (+3302.22%)
Mutual labels:  instrumentation, tracing
qinst
Draft of generic instrumentation tool based on QEMU using eBPF to implement trivial instrumentations with trivial code
Stars: ✭ 17 (-62.22%)
Mutual labels:  instrumentation, ebpf
dropwizard-zipkin
Dropwizard Zipkin Bundle
Stars: ✭ 48 (+6.67%)
Mutual labels:  instrumentation, tracing
Brave Opentracing
Bridge between OpenTracing and Brave
Stars: ✭ 64 (+42.22%)
Mutual labels:  instrumentation, tracing
Jplusone
Tool for automatic detection and asserting "N+1 SELECT problem" occurences in JPA based Spring Boot Java applications and finding origin of JPA issued SQL statements in general
Stars: ✭ 91 (+102.22%)
Mutual labels:  instrumentation, tracing
pyccolo
Declarative instrumentation for Python.
Stars: ✭ 70 (+55.56%)
Mutual labels:  instrumentation, tracing

uprobe-http-tracer

Captures all the calls to http.Get function and grabs the full URL from the stack area. For more details head to the blog post.

Requirements

To build this tool you have to satisify the following requirements:

  • have a Linux kernel that supports uprobes
  • linux headers
  • clang
  • LLVM
  • libbcc
  • Go >1.12

Usage

  1. Build the tool
go build -o uprobe-http-tracer main.go
  1. Write a simple program
vi /tmp/main.go

package main

import "net/http"

func main() {
    urls := []string{"http://google.com", "http://reddit.com", "http://pastebin.com/tools"}
    for _, url := range urls {
       http.Get(url)
    }
}

go build /tmp/main.go
  1. See it in action
sudo ./uprobe-http-tracer --bin=/tmp/main
PID     URL
8274    http://google.com
8276    http://reddit.com
8286    http://pastebin.com/tools
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].