Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
March 7, 2023 09:57
March 21, 2023 08:45
July 20, 2021 14:04
April 12, 2023 12:44
May 2, 2023 23:03
October 12, 2021 11:30
October 12, 2021 11:30
February 3, 2021 19:24
May 16, 2023 09:55

Build & Test


AppScope is an open source, runtime-agnostic instrumentation utility for any Linux command or application. It helps users explore, understand, and gain visibility with no code modification.

AppScope provides the fine-grained observability of a proxy/service mesh, without the latency of a sidecar. It emits APM-like metric and event data, in open formats, to existing log and metric tools.

It’s like strace meets tcpdump – but with consumable output for events like file access, DNS, and network activity, and StatsD-style metrics for applications. AppScope can also look inside encrypted payloads, offering WAF-like visibility without proxying traffic.

graph LR
    A[Application] --> B[libscope]
    A[Application]--> C[libgnutls]
    A[Application]--> D[libc]
    C --> D
    B --> D
    B --> C
    D --> I[Kernel]
    B --> E[In-memory Queue]
    E -.-> F[Reporting Thread]
    F --> G[Network Destination]
    F --> H[File System Destination]
    style B fill:#f3ffec,stroke:#89db70
    style E fill:#fafafa,stroke:#a6a6a6
    style F fill:#fafafa,stroke:#a6a6a6
    style G fill:#fafafa,stroke:#a6a6a6
    style H fill:#fafafa,stroke:#a6a6a6

Get Started

Before you begin, make sure that your environment meets AppScope requirements.

Next, you can obtain AppScope three ways:

  • Get the container image from Docker Hub and run AppScope in it.
  • Check out the code from this project, then build and run AppScope in your Linux environment.
  • Get the binaries from the CDN, and run them in your Linux environment.

The container image at Docker Hub and binaries at the CDN are updated for each new release of this project.

Once you have downloaded and/or built AppScope, try out some simple commands:

  • Scope a new process like top with scope top. Try substituting top for curl or nginx. Run scope events or scope metrics to see the results.

  • Attach to a process that is already running. Run ps -ef and find the process ID (PID) of a command or program you would like to scope. Attach to and scope the running process with scope attach PID. Run scope dash to watch events live.

See the website docs for the full story of how to use AppScope.


AppScope is not built or distributed like most traditional Linux software.

  • Insofar as possible, we want AppScope binaries to be Build Once, Run Anywhere. To approach this goal, we build with a version of glibc that is (1) recent enough that the resulting binary contains references to versions of functions in the glibc library that are still supported in the latest glibc, yet (2) old enough that the binaries can run on a wide range of Linux platforms without having to rebuild locally. .
  • We don't build OS installation packages like DEBs or RPMs. This way, when you want to investigate a running system or build a custom container image, you can simply drop AppScope in and use it.

Pull a copy of the code with:

git clone
cd appscope

If you are on Ubuntu, install the build dependencies with:


Then, build and test the code with:

make all test

If you aren't on Ubuntu, or would prefer not to install the dependencies, ensure that Docker, BuildX, and make are installed, then build in a container with:

make build

Either way, the resulting binaries will be in lib/linux/$(uname -m)/ and bin/linux/$(uname -m)/scope.

We support building x86_64 (amd64) or aarch64 (arm64/v8) binaries by adding ARCH=x86_64 or ARCH=aarch64 to the make build command. See the BUILD doc for details.

Keep Going

On the AppScope Website:

The content on that site is built from the website/ directory in this project.

Elsewhere, you can:

If you're interested in contributing to the project, you can:


AppScope is licensed under the Apache License, Version 2.0.